From 5ef3abf88acdef2bb46a9f2c19f8a0d9975a7e47 Mon Sep 17 00:00:00 2001 From: Vladimir Barinov Date: Sat, 15 Jul 2017 00:56:51 +0300 Subject: lvds/VB/KF, cma memory - KF: set max9286 i2c address to 0x2c - disable eMMC on r8a7795-es1 - max7325: initialize pins to output-low - enlarge cma memory region on ulcb --- .../0040-arm64-dts-renesas-add-ADAS-boards.patch | 219 ++++++++++++++------- ...arm64-dts-renesas-ulcb-enlarge-cma-region.patch | 56 ++++++ ...s-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch | 28 +++ ...5-gpio-max732x-set-gpio-ouput-low-at-init.patch | 32 +++ .../linux/linux-renesas_4.9.bbappend | 3 + 5 files changed, 271 insertions(+), 67 deletions(-) create mode 100644 meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0041-arm64-dts-renesas-ulcb-enlarge-cma-region.patch create mode 100644 meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0042-arm64-dts-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch create mode 100644 meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0065-gpio-max732x-set-gpio-ouput-low-at-init.patch diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch index 53e7d1f..bc15c75 100644 --- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0040-arm64-dts-renesas-add-ADAS-boards.patch @@ -23,28 +23,28 @@ Signed-off-by: Vladimir Barinov .../dts/renesas/r8a7795-es1-h3ulcb-had-alfa.dts | 22 + .../dts/renesas/r8a7795-es1-h3ulcb-had-beta.dts | 23 + .../boot/dts/renesas/r8a7795-es1-h3ulcb-had.dtsi | 225 +++ - .../boot/dts/renesas/r8a7795-es1-h3ulcb-kf-v1.dts | 451 +++++ - .../boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts | 1673 ++++++++++++++++++ + .../boot/dts/renesas/r8a7795-es1-h3ulcb-kf-v1.dts | 445 +++++ + .../boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts | 1707 +++++++++++++++++++ .../boot/dts/renesas/r8a7795-es1-h3ulcb-vb.dts | 1787 ++++++++++++++++++++ .../boot/dts/renesas/r8a7795-es1-h3ulcb-view.dts | 546 ++++++ .../dts/renesas/r8a7795-es1-salvator-x-view.dts | 552 ++++++ .../boot/dts/renesas/r8a7795-h3ulcb-had-alfa.dts | 22 + .../boot/dts/renesas/r8a7795-h3ulcb-had-beta.dts | 23 + .../arm64/boot/dts/renesas/r8a7795-h3ulcb-had.dtsi | 219 +++ - .../boot/dts/renesas/r8a7795-h3ulcb-kf-v1.dts | 451 +++++ - arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts | 1669 ++++++++++++++++++ + .../boot/dts/renesas/r8a7795-h3ulcb-kf-v1.dts | 445 +++++ + arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts | 1703 +++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb.dts | 1787 ++++++++++++++++++++ .../arm64/boot/dts/renesas/r8a7795-h3ulcb-view.dts | 546 ++++++ .../boot/dts/renesas/r8a7795-salvator-x-view.dts | 552 ++++++ - .../boot/dts/renesas/r8a7796-m3ulcb-kf-v1.dts | 451 +++++ - arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts | 1256 ++++++++++++++ + .../boot/dts/renesas/r8a7796-m3ulcb-kf-v1.dts | 445 +++++ + arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts | 1267 ++++++++++++++ .../arm64/boot/dts/renesas/r8a7796-m3ulcb-view.dts | 287 ++++ .../boot/dts/renesas/r8a7796-salvator-x-view.dts | 318 ++++ arch/arm64/boot/dts/renesas/ulcb-kf-cmos.dtsi | 75 + arch/arm64/boot/dts/renesas/ulcb-kf-rpi.dtsi | 75 + arch/arm64/boot/dts/renesas/ulcb-kf-sd3.dtsi | 33 + arch/arm64/boot/dts/renesas/ulcb-vb-cn12.dtsi | 515 ++++++ - 25 files changed, 13572 insertions(+) + 25 files changed, 13633 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-had-alfa.dts create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-had-beta.dts create mode 100644 arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-had.dtsi @@ -384,7 +384,7 @@ index 0000000..d50ff7a +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf-v1.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf-v1.dts new file mode 100644 -index 0000000..f0e5ecc +index 0000000..408bf2e --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf-v1.dts @@ -0,0 +1,445 @@ @@ -835,10 +835,10 @@ index 0000000..f0e5ecc +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts new file mode 100644 -index 0000000..549659b +index 0000000..897da81 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts -@@ -0,0 +1,1673 @@ +@@ -0,0 +1,1707 @@ +/* + * Device Tree Source for the H3ULCB Kingfisher board on r8a7795 ES1.x + * @@ -1496,7 +1496,6 @@ index 0000000..549659b + ti964-ti9x3@0 { + compatible = "ti,ti964-ti9x3"; + reg = <0x3a>; -+ gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; + ti,sensor_delay = <350>; + ti,links = <4>; + ti,lanes = <4>; @@ -1537,7 +1536,7 @@ index 0000000..549659b + ti954-ti9x3@0 { + compatible = "ti,ti954-ti9x3"; + reg = <0x38>; -+ gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; ++ /* gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; */ + ti,sensor_delay = <350>; + ti,links = <2>; + ti,lanes = <4>; @@ -1564,10 +1563,10 @@ index 0000000..549659b + }; + }; + -+ /* MAX9286 @ 0x2a */ ++ /* MAX9286 @ 0x2c */ + max9286-max9271@0 { + compatible = "maxim,max9286-max9271"; -+ reg = <0x2a>; ++ reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; + maxim,lanes = <4>; @@ -1706,7 +1705,6 @@ index 0000000..549659b + ti964-ti9x3@1 { + compatible = "ti,ti964-ti9x3"; + reg = <0x3a>; -+ gpios = <&video_b_ext1 10 GPIO_ACTIVE_HIGH>; + ti,sensor_delay = <350>; + ti,links = <4>; + ti,lanes = <4>; @@ -1747,7 +1745,7 @@ index 0000000..549659b + ti954-ti9x3@1 { + compatible = "ti,ti954-ti9x3"; + reg = <0x38>; -+ gpios = <&video_b_ext1 10 GPIO_ACTIVE_HIGH>; ++ /* gpios = <&video_b_ext1 10 GPIO_ACTIVE_HIGH>; */ + ti,sensor_delay = <350>; + ti,links = <2>; + ti,lanes = <4>; @@ -1774,10 +1772,10 @@ index 0000000..549659b + }; + }; + -+ /* MAX9286 @ 0x2a */ ++ /* MAX9286 @ 0x2c */ + max9286-max9271@1 { + compatible = "maxim,max9286-max9271"; -+ reg = <0x2a>; ++ reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; + maxim,lanes = <4>; @@ -1831,13 +1829,13 @@ index 0000000..549659b + video_b_des_cfg1 { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-B cfg1"; + }; + video_b_des_cfg0 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-B cfg0"; + }; + video_b_pwr_shdn { @@ -1893,19 +1891,19 @@ index 0000000..549659b + video_b_des_cfg2 { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-B cfg2"; + }; + video_b_des_cfg1 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-B cfg1"; + }; + video_b_des_cfg0 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-B cfg0"; + }; + video_b_pwr_shdn { @@ -1926,12 +1924,30 @@ index 0000000..549659b + output-high; + line-name = "Video-B PWR1"; + }; ++ video_b_cam_pwr2 { ++ gpio-hog; ++ gpios = <10 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-B PWR2"; ++ }; + video_b_cam_pwr3 { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "Video-B PWR3"; + }; ++ video_b_des_shdn { ++ gpio-hog; ++ gpios = <13 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-B DES_SHDN"; ++ }; ++ video_b_led { ++ gpio-hog; ++ gpios = <12 GPIO_ACTIVE_HIGH>; ++ output-low; ++ line-name = "Video-B LED"; ++ }; + }; + }; + @@ -1950,13 +1966,13 @@ index 0000000..549659b + video_a_des_cfg1 { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-A cfg1"; + }; + video_a_des_cfg0 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-A cfg0"; + }; + video_a_pwr_shdn { @@ -2012,19 +2028,19 @@ index 0000000..549659b + video_a_des_cfg2 { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg2"; + }; + video_a_des_cfg1 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg1"; + }; + video_a_des_cfg0 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg0"; + }; + video_a_pwr_shdn { @@ -2045,12 +2061,30 @@ index 0000000..549659b + output-high; + line-name = "Video-A PWR1"; + }; ++ video_a_cam_pwr2 { ++ gpio-hog; ++ gpios = <10 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-A PWR2"; ++ }; + video_a_cam_pwr3 { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "Video-A PWR3"; + }; ++ video_a_des_shdn { ++ gpio-hog; ++ gpios = <13 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-A DES_SHDN"; ++ }; ++ video_a_led { ++ gpio-hog; ++ gpios = <12 GPIO_ACTIVE_HIGH>; ++ output-low; ++ line-name = "Video-A LED"; ++ }; + }; + }; + }; @@ -2514,7 +2548,7 @@ index 0000000..549659b +//#include "ulcb-kf-cmos.dtsi" diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-vb.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-vb.dts new file mode 100644 -index 0000000..0e6ea57 +index 0000000..bf550b7 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-vb.dts @@ -0,0 +1,1787 @@ @@ -2546,12 +2580,12 @@ index 0000000..0e6ea57 + /* D13 - status 0 */ + led_ext00 { + gpios = <&gpio_ext_led 0 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; ++ /* linux,default-trigger = "heartbeat"; */ + }; + /* D14 - status 1 */ + led_ext01 { + gpios = <&gpio_ext_led 1 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "mmc1"; ++ /* linux,default-trigger = "mmc1"; */ + }; + /* D16 - HDMI1 */ + led_ext02 { @@ -5699,7 +5733,7 @@ index 0000000..4a00426 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf-v1.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf-v1.dts new file mode 100644 -index 0000000..afa71bd +index 0000000..fc613d2 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf-v1.dts @@ -0,0 +1,445 @@ @@ -6150,10 +6184,10 @@ index 0000000..afa71bd +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts new file mode 100644 -index 0000000..58c5dcb +index 0000000..c0481dc --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts -@@ -0,0 +1,1669 @@ +@@ -0,0 +1,1703 @@ +/* + * Device Tree Source for the H3ULCB Kingfisher board on r8a7795 + * @@ -6811,7 +6845,6 @@ index 0000000..58c5dcb + ti964-ti9x3@0 { + compatible = "ti,ti964-ti9x3"; + reg = <0x3a>; -+ gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; + ti,sensor_delay = <350>; + ti,links = <4>; + ti,lanes = <4>; @@ -6852,7 +6885,7 @@ index 0000000..58c5dcb + ti954-ti9x3@0 { + compatible = "ti,ti954-ti9x3"; + reg = <0x38>; -+ gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; ++ /* gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; */ + ti,sensor_delay = <350>; + ti,links = <2>; + ti,lanes = <4>; @@ -6879,10 +6912,10 @@ index 0000000..58c5dcb + }; + }; + -+ /* MAX9286 @ 0x2a */ ++ /* MAX9286 @ 0x2c */ + max9286-max9271@0 { + compatible = "maxim,max9286-max9271"; -+ reg = <0x2a>; ++ reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; + maxim,lanes = <4>; @@ -7021,7 +7054,6 @@ index 0000000..58c5dcb + ti964-ti9x3@1 { + compatible = "ti,ti964-ti9x3"; + reg = <0x3a>; -+ gpios = <&video_b_ext1 10 GPIO_ACTIVE_HIGH>; + ti,sensor_delay = <350>; + ti,links = <4>; + ti,lanes = <4>; @@ -7062,7 +7094,7 @@ index 0000000..58c5dcb + ti954-ti9x3@1 { + compatible = "ti,ti954-ti9x3"; + reg = <0x38>; -+ gpios = <&video_b_ext1 10 GPIO_ACTIVE_HIGH>; ++ /* gpios = <&video_b_ext1 10 GPIO_ACTIVE_HIGH>; */ + ti,sensor_delay = <350>; + ti,links = <2>; + ti,lanes = <4>; @@ -7089,10 +7121,10 @@ index 0000000..58c5dcb + }; + }; + -+ /* MAX9286 @ 0x2a */ ++ /* MAX9286 @ 0x2c */ + max9286-max9271@1 { + compatible = "maxim,max9286-max9271"; -+ reg = <0x2a>; ++ reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; + maxim,lanes = <4>; @@ -7146,13 +7178,13 @@ index 0000000..58c5dcb + video_b_des_cfg1 { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-B cfg1"; + }; + video_b_des_cfg0 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-B cfg0"; + }; + video_b_pwr_shdn { @@ -7208,19 +7240,19 @@ index 0000000..58c5dcb + video_b_des_cfg2 { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-B cfg2"; + }; + video_b_des_cfg1 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-B cfg1"; + }; + video_b_des_cfg0 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-B cfg0"; + }; + video_b_pwr_shdn { @@ -7241,12 +7273,30 @@ index 0000000..58c5dcb + output-high; + line-name = "Video-B PWR1"; + }; ++ video_b_cam_pwr2 { ++ gpio-hog; ++ gpios = <10 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-B PWR2"; ++ }; + video_b_cam_pwr3 { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "Video-B PWR3"; + }; ++ video_b_des_shdn { ++ gpio-hog; ++ gpios = <13 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-B DES_SHDN"; ++ }; ++ video_b_led { ++ gpio-hog; ++ gpios = <12 GPIO_ACTIVE_HIGH>; ++ output-low; ++ line-name = "Video-B LED"; ++ }; + }; + }; + @@ -7265,13 +7315,13 @@ index 0000000..58c5dcb + video_a_des_cfg1 { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-A cfg1"; + }; + video_a_des_cfg0 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-A cfg0"; + }; + video_a_pwr_shdn { @@ -7327,19 +7377,19 @@ index 0000000..58c5dcb + video_a_des_cfg2 { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg2"; + }; + video_a_des_cfg1 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg1"; + }; + video_a_des_cfg0 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg0"; + }; + video_a_pwr_shdn { @@ -7360,12 +7410,30 @@ index 0000000..58c5dcb + output-high; + line-name = "Video-A PWR1"; + }; ++ video_a_cam_pwr2 { ++ gpio-hog; ++ gpios = <10 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-A PWR2"; ++ }; + video_a_cam_pwr3 { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "Video-A PWR3"; + }; ++ video_a_des_shdn { ++ gpio-hog; ++ gpios = <13 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-A DES_SHDN"; ++ }; ++ video_a_led { ++ gpio-hog; ++ gpios = <12 GPIO_ACTIVE_HIGH>; ++ output-low; ++ line-name = "Video-A LED"; ++ }; + }; + }; + }; @@ -7825,7 +7893,7 @@ index 0000000..58c5dcb +//#include "ulcb-kf-cmos.dtsi" diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb.dts new file mode 100644 -index 0000000..a26689c +index 0000000..480f7d9 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-vb.dts @@ -0,0 +1,1787 @@ @@ -7857,12 +7925,12 @@ index 0000000..a26689c + /* D13 - status 0 */ + led_ext00 { + gpios = <&gpio_ext_led 0 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "heartbeat"; ++ /* linux,default-trigger = "heartbeat"; */ + }; + /* D14 - status 1 */ + led_ext01 { + gpios = <&gpio_ext_led 1 GPIO_ACTIVE_LOW>; -+ linux,default-trigger = "mmc1"; ++ /* linux,default-trigger = "mmc1"; */ + }; + /* D16 - HDMI1 */ + led_ext02 { @@ -10728,7 +10796,7 @@ index 0000000..fb12a39f3 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf-v1.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf-v1.dts new file mode 100644 -index 0000000..63cf414 +index 0000000..202af9c --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf-v1.dts @@ -0,0 +1,445 @@ @@ -11179,10 +11247,10 @@ index 0000000..63cf414 +}; diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts new file mode 100644 -index 0000000..1e4b32a +index 0000000..e5aaa88 --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts -@@ -0,0 +1,1256 @@ +@@ -0,0 +1,1273 @@ +/* + * Device Tree Source for the M3ULCB Kingfisher board on r8a7796 + * @@ -11840,7 +11908,6 @@ index 0000000..1e4b32a + ti964-ti9x3@0 { + compatible = "ti,ti964-ti9x3"; + reg = <0x3a>; -+ gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; + ti,sensor_delay = <350>; + ti,links = <4>; + ti,lanes = <4>; @@ -11881,7 +11948,7 @@ index 0000000..1e4b32a + ti954-ti9x3@0 { + compatible = "ti,ti954-ti9x3"; + reg = <0x38>; -+ gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; ++ /* gpios = <&video_a_ext1 10 GPIO_ACTIVE_HIGH>; */ + ti,sensor_delay = <350>; + ti,links = <2>; + ti,lanes = <4>; @@ -11908,10 +11975,10 @@ index 0000000..1e4b32a + }; + }; + -+ /* MAX9286 @ 0x2a */ ++ /* MAX9286 @ 0x2c */ + max9286-max9271@0 { + compatible = "maxim,max9286-max9271"; -+ reg = <0x2a>; ++ reg = <0x2c>; + maxim,sensor_delay = <350>; + maxim,links = <4>; + maxim,lanes = <4>; @@ -11998,13 +12065,13 @@ index 0000000..1e4b32a + video_a_des_cfg1 { + gpio-hog; + gpios = <5 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-A cfg1"; + }; + video_a_des_cfg0 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-high; ++ input; + line-name = "Video-A cfg0"; + }; + video_a_pwr_shdn { @@ -12060,19 +12127,19 @@ index 0000000..1e4b32a + video_a_des_cfg2 { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg2"; + }; + video_a_des_cfg1 { + gpio-hog; + gpios = <6 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg1"; + }; + video_a_des_cfg0 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; -+ output-low; ++ input; + line-name = "Video-A cfg0"; + }; + video_a_pwr_shdn { @@ -12093,12 +12160,30 @@ index 0000000..1e4b32a + output-high; + line-name = "Video-A PWR1"; + }; ++ video_a_cam_pwr2 { ++ gpio-hog; ++ gpios = <10 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-A PWR2"; ++ }; + video_a_cam_pwr3 { + gpio-hog; + gpios = <11 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "Video-A PWR3"; + }; ++ video_a_des_shdn { ++ gpio-hog; ++ gpios = <13 GPIO_ACTIVE_HIGH>; ++ output-high; ++ line-name = "Video-A DES_SHDN"; ++ }; ++ video_a_led { ++ gpio-hog; ++ gpios = <12 GPIO_ACTIVE_HIGH>; ++ output-low; ++ line-name = "Video-A LED"; ++ }; + }; + }; + }; diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0041-arm64-dts-renesas-ulcb-enlarge-cma-region.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0041-arm64-dts-renesas-ulcb-enlarge-cma-region.patch new file mode 100644 index 0000000..755317b --- /dev/null +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0041-arm64-dts-renesas-ulcb-enlarge-cma-region.patch @@ -0,0 +1,56 @@ +From 0636358bc75e9d5187515ee99d7c8d490c56bd52 Mon Sep 17 00:00:00 2001 +From: Vladimir Barinov +Date: Sat, 15 Jul 2017 00:41:49 +0300 +Subject: [PATCH] arm64: dts: renesas: ulcb: enlarge cma region + +Enlarge cma region since ADSP is not used on ulcb + +Signed-off-by: Vladimir Barinov +--- + arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts | 2 +- + arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts | 2 +- + arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts +index 1ba7a22..9d83c6c 100644 +--- a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts ++++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts +@@ -63,7 +63,7 @@ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +- reg = <0x00000000 0x58000000 0x0 0x18000000>; ++ reg = <0x00000000 0x57000000 0x0 0x19000000>; + linux,cma-default; + }; + +diff --git a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +index c237888..7406534 100644 +--- a/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts ++++ b/arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +@@ -63,7 +63,7 @@ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +- reg = <0x00000000 0x58000000 0x0 0x18000000>; ++ reg = <0x00000000 0x57000000 0x0 0x19000000>; + linux,cma-default; + }; + +diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts +index b3ecbd3..9aa4292 100644 +--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts ++++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts +@@ -53,7 +53,7 @@ + linux,cma { + compatible = "shared-dma-pool"; + reusable; +- reg = <0x00000000 0x58000000 0x0 0x18000000>; ++ reg = <0x00000000 0x57000000 0x0 0x19000000>; + linux,cma-default; + }; + +-- +1.9.1 + diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0042-arm64-dts-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0042-arm64-dts-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch new file mode 100644 index 0000000..1146a09 --- /dev/null +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0042-arm64-dts-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch @@ -0,0 +1,28 @@ +From 7440eb1bd8d9fdd197664086d67c540495832620 Mon Sep 17 00:00:00 2001 +From: Vladimir Barinov +Date: Sat, 15 Jul 2017 00:44:12 +0300 +Subject: [PATCH] arm64: dts: renesas: r8a7795-es1-h3ulcb: disable eMMC + +Disable eMMC due to ES1.x silicon bug + +Signed-off-by: Vladimir Barinov +--- + arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts +index 9d83c6c..677bf88 100644 +--- a/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts ++++ b/arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts +@@ -458,7 +458,7 @@ + mmc-hs200-1_8v; + bus-width = <8>; + non-removable; +- status = "okay"; ++ status = "disabled"; + }; + + &ssi1 { +-- +1.9.1 + diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0065-gpio-max732x-set-gpio-ouput-low-at-init.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0065-gpio-max732x-set-gpio-ouput-low-at-init.patch new file mode 100644 index 0000000..ff9661d --- /dev/null +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0065-gpio-max732x-set-gpio-ouput-low-at-init.patch @@ -0,0 +1,32 @@ +From 3c58ea643c31273b467400c04f3b1ed04fc0da2d Mon Sep 17 00:00:00 2001 +From: Vladimir Barinov +Date: Mon, 3 Jul 2017 02:43:21 +0300 +Subject: [PATCH] gpio: max732x: set gpio ouput-low at init + +Set all gpio output-low at init state instead +chip defaults. +This allows to avoid preserved values during resaet + +Signed-off-by: Vladimir Barinov +--- + drivers/gpio/gpio-max732x.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/gpio/gpio-max732x.c b/drivers/gpio/gpio-max732x.c +index b6fc8c5..4a2669f 100644 +--- a/drivers/gpio/gpio-max732x.c ++++ b/drivers/gpio/gpio-max732x.c +@@ -680,6 +680,10 @@ static int max732x_probe(struct i2c_client *client, + + mutex_init(&chip->lock); + ++ /* set all ports output-low at init state */ ++ max732x_writeb(chip, 0, 0); ++ max732x_writeb(chip, 1, 0); ++ + ret = max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]); + if (ret) + goto out_failed; +-- +1.9.1 + diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend index 26cb71d..bc656e2 100644 --- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend +++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend @@ -37,6 +37,8 @@ SRC_URI_append = " \ file://0032-media-i2c-Add-ov5642-sensor.patch \ file://0033-media-soc-camera-fix-parallel-i-f-in-VIN.patch \ file://0040-arm64-dts-renesas-add-ADAS-boards.patch \ + file://0041-arm64-dts-renesas-ulcb-enlarge-cma-region.patch \ + file://0042-arm64-dts-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch \ ${@base_conditional("LVDSCAMERA_FIRST4_TYPE1", "1", " file://0050-arm64-dts-Gen3-view-boards-TYPE1-first-4-cameras.patch", "", d)} \ ${@base_conditional("LVDSCAMERA_SECOND4_TYPE1", "1", " file://0051-arm64-dts-Gen3-view-boards-TYPE1-second-4-cameras.patch", "", d)} \ ${@base_conditional("LVDSCAMERA_FIRST4_TYPE2", "1", " file://0052-arm64-dts-Gen3-view-boards-TYPE2-first-4-cameras.patch", "", d)} \ @@ -44,6 +46,7 @@ SRC_URI_append = " \ file://0062-IIO-lsm9ds0-add-IMU-driver.patch \ file://0063-ASoC-PCM3168A-add-TDM-modes-merge-ADC-and-DAC.patch \ file://0064-ADV7511-limit-maximum-pixelclock.patch \ + file://0065-gpio-max732x-set-gpio-ouput-low-at-init.patch \ " SRC_URI_append_h3ulcb = " file://ulcb.cfg" -- cgit 1.2.3-korg