summaryrefslogtreecommitdiff
authorkeke.li <keke.li@amlogic.com>2019-03-19 05:46:35 (GMT)
committer Tao Zeng <tao.zeng@amlogic.com>2019-05-16 02:36:58 (GMT)
commit509072787dda377bee5edd0119c32bfbda38ac6a (patch)
tree7ca32b39489498797027759cf51352841b49d4c6
parent15c18af09ee0ae0271102bc2485287258548157d (diff)
downloadcommon-509072787dda377bee5edd0119c32bfbda38ac6a.zip
common-509072787dda377bee5edd0119c32bfbda38ac6a.tar.gz
common-509072787dda377bee5edd0119c32bfbda38ac6a.tar.bz2
dts: add arm isp device node [1/1]
PD#SWPL-70 Problem: arm isp driver need to use dts Solution: add arm isp device node Verify: w400 Test: camera preview and capture OK Change-Id: Idc603890f07afe25beba5deab3ab391825aee584 Signed-off-by: Keke Li <keke.li@amlogic.com>
Diffstat
-rw-r--r--arch/arm/boot/dts/amlogic/g12b_a311d_w400.dts68
-rw-r--r--arch/arm/boot/dts/amlogic/g12b_a311d_w400_a.dts68
-rw-r--r--arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts68
-rw-r--r--arch/arm64/boot/dts/amlogic/g12b_a311d_w400_a.dts68
4 files changed, 268 insertions, 4 deletions
diff --git a/arch/arm/boot/dts/amlogic/g12b_a311d_w400.dts b/arch/arm/boot/dts/amlogic/g12b_a311d_w400.dts
index 133db08..cce633a 100644
--- a/arch/arm/boot/dts/amlogic/g12b_a311d_w400.dts
+++ b/arch/arm/boot/dts/amlogic/g12b_a311d_w400.dts
@@ -158,6 +158,20 @@
alignment = <0x400000>;
linux,contiguous-region;
};
+ isp_cma_reserved:linux,isp_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x06800000>;
+ alignment = <0x400000>;
+ };
+ adapt_cma_reserved:linux,adapt_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x01800000>;
+ alignment = <0x400000>;
+ };
};
galcore {
@@ -783,9 +797,52 @@
status = "okay";
};
-
+ sensor: sensor {
+ compatible = "soc, sensor";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ pinctrl-names="default";
+ pinctrl-0=<&clk12_24_z_pins>;
+ clocks = <&clkc CLKID_24M>;
+ clock-names = "g12a_24m";
+ reset = <&gpio GPIOZ_12 GPIO_ACTIVE_HIGH>;
+ ir_cut_gpio = <&gpio GPIOZ_11 GPIO_ACTIVE_HIGH
+ &gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
+ };
+
+ iq: iq {
+ compatible = "soc, iq";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ };
}; /* end of / */
+&i2c2 {
+ status = "okay";
+ pinctrl-names="default";
+ pinctrl-0=<&i2c2_master_pins2>;
+ clock-frequency = <100000>; /* default 100k */
+ sensor-i2c@6c {
+ compatible = "arm, i2c-sensor";
+ reg = <0x6c>;
+ reg-names = "i2c-sensor";
+ slave-addr = <0x6c>;
+ reg-type = <2>;
+ reg-data-type = <1>;
+ link-device = <&phycsi>;
+ };
+};
+
+&isp {
+ status = "okay";
+ memory-region = <&isp_cma_reserved>;
+};
+
+&adapter {
+ status = "okay";
+ memory-region = <&adapt_cma_reserved>;
+};
+
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
@@ -1213,6 +1270,13 @@
};
};
+ clk12_24_z_pins:clk12_24_z_pins {
+ mux {
+ groups = "clk12_24_z";
+ function = "clk12_24_ee";
+ drive-strength = <3>;
+ };
+ };
}; /* end of pinctrl_periphs */
&pinctrl_aobus {
@@ -1401,8 +1465,10 @@
};
&ethmac {
status = "okay";
+/* //conflict with isp i2c
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
+*/
mc_val = <0x4be04>;
internal_phy=<1>;
diff --git a/arch/arm/boot/dts/amlogic/g12b_a311d_w400_a.dts b/arch/arm/boot/dts/amlogic/g12b_a311d_w400_a.dts
index 3eed3bd..55ed7c9 100644
--- a/arch/arm/boot/dts/amlogic/g12b_a311d_w400_a.dts
+++ b/arch/arm/boot/dts/amlogic/g12b_a311d_w400_a.dts
@@ -158,6 +158,20 @@
alignment = <0x400000>;
linux,contiguous-region;
};
+ isp_cma_reserved:linux,isp_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x68000000>;
+ alignment = <0x400000>;
+ };
+ adapt_cma_reserved:linux,adapt_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x01800000>;
+ alignment = <0x400000>;
+ };
};
galcore {
@@ -763,9 +777,52 @@
status = "okay";
};
-
+ sensor: sensor {
+ compatible = "soc, sensor";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ pinctrl-names="default";
+ pinctrl-0=<&clk12_24_z_pins>;
+ clocks = <&clkc CLKID_24M>;
+ clock-names = "g12a_24m";
+ reset = <&gpio GPIOZ_12 GPIO_ACTIVE_HIGH>;
+ ir_cut_gpio = <&gpio GPIOZ_11 GPIO_ACTIVE_HIGH
+ &gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
+ };
+
+ iq: iq {
+ compatible = "soc, iq";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ };
}; /* end of / */
+&i2c2 {
+ status = "okay";
+ pinctrl-names="default";
+ pinctrl-0=<&i2c2_master_pins2>;
+ clock-frequency = <100000>; /* default 100k */
+ sensor-i2c@6c {
+ compatible = "arm, i2c-sensor";
+ reg = <0x6c>;
+ reg-names = "i2c-sensor";
+ slave-addr = <0x6c>;
+ reg-type = <2>;
+ reg-data-type = <1>;
+ link-device = <&phycsi>;
+ };
+};
+
+&isp {
+ status = "okay";
+ memory-region = <&isp_cma_reserved>;
+};
+
+&adapter {
+ status = "okay";
+ memory-region = <&adapt_cma_reserved>;
+};
+
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
@@ -1193,6 +1250,13 @@
};
};
+ clk12_24_z_pins:clk12_24_z_pins {
+ mux {
+ groups = "clk12_24_z";
+ function = "clk12_24_ee";
+ drive-strength = <3>;
+ };
+ };
}; /* end of pinctrl_periphs */
&pinctrl_aobus {
@@ -1381,8 +1445,10 @@
};
&ethmac {
status = "okay";
+/* //conflict with isp i2c
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
+*/
mc_val = <0x4be04>;
internal_phy=<1>;
diff --git a/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts b/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts
index 44bc11f..c8e2006 100644
--- a/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts
+++ b/arch/arm64/boot/dts/amlogic/g12b_a311d_w400.dts
@@ -160,6 +160,20 @@
alignment = <0x400000>;
linux,contiguous-region;
};
+ isp_cma_reserved:linux,isp_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x06800000>;
+ alignment = <0x400000>;
+ };
+ adapt_cma_reserved:linux,adapt_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x01800000>;
+ alignment = <0x400000>;
+ };
};
galcore {
status = "okay";
@@ -784,9 +798,52 @@
status = "okay";
};
-
+ sensor: sensor {
+ compatible = "soc, sensor";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ pinctrl-names="default";
+ pinctrl-0=<&clk12_24_z_pins>;
+ clocks = <&clkc CLKID_24M>;
+ clock-names = "g12a_24m";
+ reset = <&gpio GPIOZ_12 GPIO_ACTIVE_HIGH>;
+ ir_cut_gpio = <&gpio GPIOZ_11 GPIO_ACTIVE_HIGH
+ &gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
+ };
+
+ iq: iq {
+ compatible = "soc, iq";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ };
}; /* end of / */
+&i2c2 {
+ status = "okay";
+ pinctrl-names="default";
+ pinctrl-0=<&i2c2_master_pins2>;
+ clock-frequency = <100000>; /* default 100k */
+ sensor-i2c@6c {
+ compatible = "arm, i2c-sensor";
+ reg = <0x6c>;
+ reg-names = "i2c-sensor";
+ slave-addr = <0x6c>;
+ reg-type = <2>;
+ reg-data-type = <1>;
+ link-device = <&phycsi>;
+ };
+};
+
+&isp {
+ status = "okay";
+ memory-region = <&isp_cma_reserved>;
+};
+
+&adapter {
+ status = "okay";
+ memory-region = <&adapt_cma_reserved>;
+};
+
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
@@ -1214,6 +1271,13 @@
};
};
+ clk12_24_z_pins:clk12_24_z_pins {
+ mux {
+ groups = "clk12_24_z";
+ function = "clk12_24_ee";
+ drive-strength = <3>;
+ };
+ };
}; /* end of pinctrl_periphs */
&pinctrl_aobus {
@@ -1402,8 +1466,10 @@
};
&ethmac {
status = "okay";
+/* //conflict with isp i2c
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
+*/
mc_val = <0x4be04>;
internal_phy=<1>;
diff --git a/arch/arm64/boot/dts/amlogic/g12b_a311d_w400_a.dts b/arch/arm64/boot/dts/amlogic/g12b_a311d_w400_a.dts
index 5f1dbe1..70fb03d 100644
--- a/arch/arm64/boot/dts/amlogic/g12b_a311d_w400_a.dts
+++ b/arch/arm64/boot/dts/amlogic/g12b_a311d_w400_a.dts
@@ -160,6 +160,20 @@
alignment = <0x400000>;
linux,contiguous-region;
};
+ isp_cma_reserved:linux,isp_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x68000000>;
+ alignment = <0x400000>;
+ };
+ adapt_cma_reserved:linux,adapt_cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ status = "okay";
+ size = <0x01800000>;
+ alignment = <0x400000>;
+ };
};
galcore {
status = "okay";
@@ -764,9 +778,52 @@
status = "okay";
};
-
+ sensor: sensor {
+ compatible = "soc, sensor";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ pinctrl-names="default";
+ pinctrl-0=<&clk12_24_z_pins>;
+ clocks = <&clkc CLKID_24M>;
+ clock-names = "g12a_24m";
+ reset = <&gpio GPIOZ_12 GPIO_ACTIVE_HIGH>;
+ ir_cut_gpio = <&gpio GPIOZ_11 GPIO_ACTIVE_HIGH
+ &gpio GPIOZ_7 GPIO_ACTIVE_HIGH>;
+ };
+
+ iq: iq {
+ compatible = "soc, iq";
+ status = "okay";
+ sensor-name = "imx290"; /*imx290;os08a10;imx227*/
+ };
}; /* end of / */
+&i2c2 {
+ status = "okay";
+ pinctrl-names="default";
+ pinctrl-0=<&i2c2_master_pins2>;
+ clock-frequency = <100000>; /* default 100k */
+ sensor-i2c@6c {
+ compatible = "arm, i2c-sensor";
+ reg = <0x6c>;
+ reg-names = "i2c-sensor";
+ slave-addr = <0x6c>;
+ reg-type = <2>;
+ reg-data-type = <1>;
+ link-device = <&phycsi>;
+ };
+};
+
+&isp {
+ status = "okay";
+ memory-region = <&isp_cma_reserved>;
+};
+
+&adapter {
+ status = "okay";
+ memory-region = <&adapt_cma_reserved>;
+};
+
&meson_fb {
status = "okay";
display_size_default = <1920 1080 1920 2160 32>;
@@ -1194,6 +1251,13 @@
};
};
+ clk12_24_z_pins:clk12_24_z_pins {
+ mux {
+ groups = "clk12_24_z";
+ function = "clk12_24_ee";
+ drive-strength = <3>;
+ };
+ };
}; /* end of pinctrl_periphs */
&pinctrl_aobus {
@@ -1382,8 +1446,10 @@
};
&ethmac {
status = "okay";
+/* //conflict with isp i2c
pinctrl-names = "internal_eth_pins";
pinctrl-0 = <&internal_eth_pins>;
+*/
mc_val = <0x4be04>;
internal_phy=<1>;