Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: r8a7742-iwg21d-q7: Add LCD support

The iwg21d comes with a 7" capacitive touch screen, therefore
add support for it.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@bp.renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20200929140502.16017-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

authored by

Lad Prabhakar and committed by
Geert Uytterhoeven
9b533dc8 3650b228

+99
+99
arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
··· 30 30 31 31 /dts-v1/; 32 32 #include "r8a7742-iwg21m.dtsi" 33 + #include <dt-bindings/pwm/pwm.h> 33 34 34 35 / { 35 36 model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H"; ··· 53 52 clock-frequency = <26000000>; 54 53 }; 55 54 55 + lcd_backlight: backlight { 56 + compatible = "pwm-backlight"; 57 + pwms = <&tpu 2 5000000 0>; 58 + brightness-levels = <0 4 8 16 32 64 128 255>; 59 + pinctrl-0 = <&backlight_pins>; 60 + pinctrl-names = "default"; 61 + default-brightness-level = <7>; 62 + enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>; 63 + }; 64 + 56 65 leds { 57 66 compatible = "gpio-leds"; 58 67 ··· 70 59 label = "sdio-led"; 71 60 gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>; 72 61 linux,default-trigger = "mmc1"; 62 + }; 63 + }; 64 + 65 + lvds-receiver { 66 + compatible = "ti,ds90cf384a", "lvds-decoder"; 67 + power-supply = <&vcc_3v3_tft1>; 68 + 69 + ports { 70 + #address-cells = <1>; 71 + #size-cells = <0>; 72 + 73 + port@0 { 74 + reg = <0>; 75 + lvds_receiver_in: endpoint { 76 + remote-endpoint = <&lvds0_out>; 77 + }; 78 + }; 79 + port@1 { 80 + reg = <1>; 81 + lvds_receiver_out: endpoint { 82 + remote-endpoint = <&panel_in>; 83 + }; 84 + }; 85 + }; 86 + }; 87 + 88 + panel { 89 + compatible = "edt,etm0700g0dh6"; 90 + backlight = <&lcd_backlight>; 91 + power-supply = <&vcc_3v3_tft1>; 92 + 93 + port { 94 + panel_in: endpoint { 95 + remote-endpoint = <&lvds_receiver_out>; 96 + }; 73 97 }; 74 98 }; 75 99 ··· 129 83 sndcodec: simple-audio-card,codec { 130 84 sound-dai = <&sgtl5000>; 131 85 }; 86 + }; 87 + 88 + vcc_3v3_tft1: regulator-panel { 89 + compatible = "regulator-fixed"; 90 + 91 + regulator-name = "vcc-3v3-tft1"; 92 + regulator-min-microvolt = <3300000>; 93 + regulator-max-microvolt = <3300000>; 94 + enable-active-high; 95 + startup-delay-us = <500>; 96 + gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>; 132 97 }; 133 98 134 99 vcc_sdhi2: regulator-vcc-sdhi2 { ··· 196 139 VDDIO-supply = <&reg_3p3v>; 197 140 VDDD-supply = <&reg_1p5v>; 198 141 }; 142 + 143 + touch: touchpanel@38 { 144 + compatible = "edt,edt-ft5406"; 145 + reg = <0x38>; 146 + interrupt-parent = <&gpio0>; 147 + interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 148 + /* GP1_29 is also shared with audio codec reset pin */ 149 + reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 150 + vcc-supply = <&vcc_3v3_tft1>; 151 + }; 199 152 }; 200 153 201 154 &can1 { ··· 217 150 218 151 &cmt0 { 219 152 status = "okay"; 153 + }; 154 + 155 + &du { 156 + status = "okay"; 157 + }; 158 + 159 + &gpio0 { 160 + touch-interrupt { 161 + gpio-hog; 162 + gpios = <24 GPIO_ACTIVE_LOW>; 163 + input; 164 + }; 220 165 }; 221 166 222 167 &gpio1 { ··· 244 165 pinctrl-0 = <&usb0_pins>; 245 166 pinctrl-names = "default"; 246 167 status = "okay"; 168 + }; 169 + 170 + &lvds0 { 171 + status = "okay"; 172 + ports { 173 + port@1 { 174 + lvds0_out: endpoint { 175 + remote-endpoint = <&lvds_receiver_in>; 176 + }; 177 + }; 178 + }; 247 179 }; 248 180 249 181 &msiof0 { ··· 317 227 avb_pins: avb { 318 228 groups = "avb_mdio", "avb_gmii"; 319 229 function = "avb"; 230 + }; 231 + 232 + backlight_pins: backlight { 233 + groups = "tpu0_to2"; 234 + function = "tpu0"; 320 235 }; 321 236 322 237 can1_pins: can1 { ··· 428 333 429 334 &ssi4 { 430 335 shared-pin; 336 + }; 337 + 338 + &tpu { 339 + status = "okay"; 431 340 }; 432 341 433 342 &usbphy {