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

ARM: dts: imx6q-dhcom: Add DH 560-200 display unit support

Add DT bits to support the DH 560-200 display unit, which can be plugged
into the side of the PDK2 board. The display unit contains a display, EDT
ETM0700G0EDH6 and an EDT FT5x06 touchscreen controller.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
To: linux-arm-kernel@lists.infradead.org
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>

authored by

Marek Vasut and committed by
Shawn Guo
5b167212 8f3d9f35

+113 -2
+113 -2
arch/arm/boot/dts/imx6q-dhcom-pdk2.dts
··· 22 22 clock-frequency = <24000000>; 23 23 }; 24 24 25 + display_bl: display-bl { 26 + compatible = "pwm-backlight"; 27 + pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>; 28 + brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; 29 + default-brightness-level = <8>; 30 + enable-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; 31 + status = "okay"; 32 + }; 33 + 34 + lcd_display: disp0 { 35 + compatible = "fsl,imx-parallel-display"; 36 + #address-cells = <1>; 37 + #size-cells = <0>; 38 + interface-pix-fmt = "rgb24"; 39 + pinctrl-names = "default"; 40 + pinctrl-0 = <&pinctrl_ipu1_lcdif>; 41 + status = "okay"; 42 + 43 + port@0 { 44 + reg = <0>; 45 + 46 + lcd_display_in: endpoint { 47 + remote-endpoint = <&ipu1_di0_disp0>; 48 + }; 49 + }; 50 + 51 + port@1 { 52 + reg = <1>; 53 + 54 + lcd_display_out: endpoint { 55 + remote-endpoint = <&lcd_panel_in>; 56 + }; 57 + }; 58 + }; 59 + 60 + panel { 61 + compatible = "edt,etm0700g0edh6"; 62 + ddc-i2c-bus = <&i2c2>; 63 + backlight = <&display_bl>; 64 + 65 + port { 66 + lcd_panel_in: endpoint { 67 + remote-endpoint = <&lcd_display_out>; 68 + }; 69 + }; 70 + }; 71 + 25 72 sound { 26 73 compatible = "fsl,imx-audio-sgtl5000"; 27 74 model = "imx-sgtl5000"; ··· 112 65 VDDA-supply = <&reg_3p3v>; 113 66 VDDIO-supply = <&sw2_reg>; 114 67 }; 68 + 69 + touchscreen@38 { 70 + pinctrl-names = "default"; 71 + pinctrl-0 = <&pinctrl_touchscreen>; 72 + compatible = "edt,edt-ft5406"; 73 + reg = <0x38>; 74 + interrupt-parent = <&gpio4>; 75 + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */ 76 + }; 115 77 }; 116 78 117 79 &iomuxc { ··· 133 77 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x400120b0 134 78 MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x400120b0 135 79 MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x400120b0 136 - MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x120b0 137 80 MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x400120b0 138 - MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x120b0 139 81 MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x120b0 140 82 MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x400120b0 141 83 MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x400120b0 ··· 186 132 >; 187 133 }; 188 134 135 + pinctrl_ipu1_lcdif: ipu1-lcdif-grp { 136 + fsl,pins = < 137 + MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x38 138 + MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x38 139 + MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x38 140 + MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x38 141 + MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x38 142 + MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x38 143 + MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x38 144 + MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x38 145 + MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x38 146 + MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x38 147 + MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x38 148 + MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x38 149 + MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x38 150 + MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x38 151 + MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x38 152 + MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x38 153 + MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x38 154 + MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x38 155 + MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x38 156 + MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x38 157 + MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x38 158 + MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x38 159 + MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x38 160 + MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x38 161 + MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x38 162 + MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x38 163 + MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x38 164 + MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x38 165 + MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x120b0 166 + >; 167 + }; 168 + 169 + pinctrl_pwm1: pwm1-grp { 170 + fsl,pins = < 171 + MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1 172 + >; 173 + }; 174 + 175 + pinctrl_touchscreen: touchscreen-grp { 176 + fsl,pins = < 177 + MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b0b1 178 + >; 179 + }; 180 + 189 181 pinctrl_pcie: pcie-grp { 190 182 fsl,pins = < 191 183 MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x1b0b1 ··· 239 139 }; 240 140 }; 241 141 142 + &ipu1_di0_disp0 { 143 + remote-endpoint = <&lcd_display_in>; 144 + }; 145 + 242 146 &pcie { 243 147 pinctrl-names = "default"; 244 148 pinctrl-0 = <&pinctrl_pcie>; 245 149 reset-gpio = <&gpio6 14 GPIO_ACTIVE_LOW>; 150 + status = "okay"; 151 + }; 152 + 153 + &pwm1 { 154 + pinctrl-names = "default"; 155 + pinctrl-0 = <&pinctrl_pwm1>; 156 + #pwm-cells = <3>; 246 157 status = "okay"; 247 158 }; 248 159