aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-09 21:32:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-09 21:32:13 -0400
commit9894e6d9c020b754dd962960e9f7eac18282f69f (patch)
treed1f3c43d96095a9211ee0a941198be6fbb292f39 /arch/arm/boot/dts
parent82abb273d838318424644d8f02825db0fbbd400a (diff)
parent7d0fde3986c35dc1400cb552776c0a640ac354d7 (diff)
Merge tag 'fbdev-omap-dt-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
Pull OMAP DT fbdev updates from Tomi Valkeinen: "Here are display related device tree data changes for OMAP. They are based on an already merged branch to satisfy the dependencies for the dts file changes. Add OMAP DT data: - omap5 display subsystem - display data for omap5 uEVM board - am43xx display subsystem - display data for am43xx ePOS and GP boards (LCD only) - display data for GTA04 board - display data for overo board - display data for duovero-parlor board - display data for omap3 evm and ldp boards" * tag 'fbdev-omap-dt-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: ARM: omap5.dtsi: Add audio related parameters to hdmi node ARM: omap4.dtsi: Add audio related parametes to hdmi node ARM: dts: duovero-parlor: Add HDMI output ARM: dts: overo: Add support for 3.5'' LCD output ARM: dts: overo: Add support for 4.3'' LCD output ARM: dts: overo: Add support for DVI output ARM: dts: Add LCD panel sharp ls037v7dw01 support for omap3-evm and ldp ARM: dts: omap3-gta04: Add display support ARM: dts: omap5-uevm.dts: add display nodes ARM: dts: omap5-uevm.dts: add tca6424a ARM: dts: omap5.dtsi: add DSS nodes ARM: dts: am43x-epos-evm: add LCD data ARM: dts: am437x-gp-evm: add LCD data ARM: dts: am4372.dtsi: add DSS information
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r--arch/arm/boot/dts/am4372.dtsi29
-rw-r--r--arch/arm/boot/dts/am437x-gp-evm.dts97
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts96
-rw-r--r--arch/arm/boot/dts/omap3-evm-37xx.dts50
-rw-r--r--arch/arm/boot/dts/omap3-evm-common.dtsi26
-rw-r--r--arch/arm/boot/dts/omap3-gta04.dts90
-rw-r--r--arch/arm/boot/dts/omap3-ldp.dts29
-rw-r--r--arch/arm/boot/dts/omap3-overo-alto35-common.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-overo-common-dvi.dtsi111
-rw-r--r--arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi165
-rw-r--r--arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi178
-rw-r--r--arch/arm/boot/dts/omap3-overo-gallop43-common.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-overo-palo43-common.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-overo-summit-common.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-overo-tobi-common.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-panel-sharp-ls037v7dw01.dtsi71
-rw-r--r--arch/arm/boot/dts/omap4-duovero-parlor.dts44
-rw-r--r--arch/arm/boot/dts/omap4.dtsi2
-rw-r--r--arch/arm/boot/dts/omap5-uevm.dts87
-rw-r--r--arch/arm/boot/dts/omap5.dtsi62
21 files changed, 1138 insertions, 5 deletions
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 794c73e5c4e4..db464d7eaca8 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -857,6 +857,35 @@
857 ti,hwmods = "hdq1w"; 857 ti,hwmods = "hdq1w";
858 status = "disabled"; 858 status = "disabled";
859 }; 859 };
860
861 dss: dss@4832a000 {
862 compatible = "ti,omap3-dss";
863 reg = <0x4832a000 0x200>;
864 status = "disabled";
865 ti,hwmods = "dss_core";
866 clocks = <&disp_clk>;
867 clock-names = "fck";
868 #address-cells = <1>;
869 #size-cells = <1>;
870 ranges;
871
872 dispc@4832a400 {
873 compatible = "ti,omap3-dispc";
874 reg = <0x4832a400 0x400>;
875 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
876 ti,hwmods = "dss_dispc";
877 clocks = <&disp_clk>;
878 clock-names = "fck";
879 };
880
881 rfbi: rfbi@4832a800 {
882 compatible = "ti,omap3-rfbi";
883 reg = <0x4832a800 0x100>;
884 ti,hwmods = "dss_rfbi";
885 clocks = <&disp_clk>;
886 clock-names = "fck";
887 };
888 };
860 }; 889 };
861}; 890};
862 891
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
index c25d15837ce9..003766c47bbf 100644
--- a/arch/arm/boot/dts/am437x-gp-evm.dts
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -19,6 +19,10 @@
19 model = "TI AM437x GP EVM"; 19 model = "TI AM437x GP EVM";
20 compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43"; 20 compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";
21 21
22 aliases {
23 display0 = &lcd0;
24 };
25
22 vmmcsd_fixed: fixedregulator-sd { 26 vmmcsd_fixed: fixedregulator-sd {
23 compatible = "regulator-fixed"; 27 compatible = "regulator-fixed";
24 regulator-name = "vmmcsd_fixed"; 28 regulator-name = "vmmcsd_fixed";
@@ -64,6 +68,44 @@
64 0x02000069 /* LEFT */ 68 0x02000069 /* LEFT */
65 0x0201006c>; /* DOWN */ 69 0x0201006c>; /* DOWN */
66 }; 70 };
71
72 lcd0: display {
73 compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
74 label = "lcd";
75
76 pinctrl-names = "default";
77 pinctrl-0 = <&lcd_pins>;
78
79 /*
80 * SelLCDorHDMI, LOW to select HDMI. This is not really the
81 * panel's enable GPIO, but we don't have HDMI driver support nor
82 * support to switch between two displays, so using this gpio as
83 * panel's enable should be safe.
84 */
85 enable-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
86
87 panel-timing {
88 clock-frequency = <33000000>;
89 hactive = <800>;
90 vactive = <480>;
91 hfront-porch = <210>;
92 hback-porch = <16>;
93 hsync-len = <30>;
94 vback-porch = <10>;
95 vfront-porch = <22>;
96 vsync-len = <13>;
97 hsync-active = <0>;
98 vsync-active = <0>;
99 de-active = <1>;
100 pixelclk-active = <1>;
101 };
102
103 port {
104 lcd_in: endpoint {
105 remote-endpoint = <&dpi_out>;
106 };
107 };
108 };
67}; 109};
68 110
69&am43xx_pinmux { 111&am43xx_pinmux {
@@ -171,6 +213,47 @@
171 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */ 213 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
172 >; 214 >;
173 }; 215 };
216
217 dss_pins: dss_pins {
218 pinctrl-single,pins = <
219 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
220 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
221 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
222 0x02c (PIN_OUTPUT_PULLUP | MUX_MODE1)
223 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
224 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
225 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
226 0x03c (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
227 0x0a0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
228 0x0a4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
229 0x0a8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
230 0x0ac (PIN_OUTPUT_PULLUP | MUX_MODE0)
231 0x0b0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
232 0x0b4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
233 0x0b8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
234 0x0bc (PIN_OUTPUT_PULLUP | MUX_MODE0)
235 0x0c0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
236 0x0c4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
237 0x0c8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
238 0x0cc (PIN_OUTPUT_PULLUP | MUX_MODE0)
239 0x0d0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
240 0x0d4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
241 0x0d8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
242 0x0dc (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
243 0x0e0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
244 0x0e4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
245 0x0e8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
246 0x0ec (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
247
248 >;
249 };
250
251 lcd_pins: lcd_pins {
252 pinctrl-single,pins = <
253 /* GPIO 5_8 to select LCD / HDMI */
254 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7)
255 >;
256 };
174}; 257};
175 258
176&i2c0 { 259&i2c0 {
@@ -359,3 +442,17 @@
359 }; 442 };
360 }; 443 };
361}; 444};
445
446&dss {
447 status = "ok";
448
449 pinctrl-names = "default";
450 pinctrl-0 = <&dss_pins>;
451
452 port {
453 dpi_out: endpoint@0 {
454 remote-endpoint = <&lcd_in>;
455 data-lines = <24>;
456 };
457 };
458};
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index ad362c50e32e..19f1f7e87597 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -19,6 +19,10 @@
19 model = "TI AM43x EPOS EVM"; 19 model = "TI AM43x EPOS EVM";
20 compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43"; 20 compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43";
21 21
22 aliases {
23 display0 = &lcd0;
24 };
25
22 vmmcsd_fixed: fixedregulator-sd { 26 vmmcsd_fixed: fixedregulator-sd {
23 compatible = "regulator-fixed"; 27 compatible = "regulator-fixed";
24 regulator-name = "vmmcsd_fixed"; 28 regulator-name = "vmmcsd_fixed";
@@ -27,6 +31,44 @@
27 enable-active-high; 31 enable-active-high;
28 }; 32 };
29 33
34 lcd0: display {
35 compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
36 label = "lcd";
37
38 pinctrl-names = "default";
39 pinctrl-0 = <&lcd_pins>;
40
41 /*
42 * SelLCDorHDMI, LOW to select HDMI. This is not really the
43 * panel's enable GPIO, but we don't have HDMI driver support nor
44 * support to switch between two displays, so using this gpio as
45 * panel's enable should be safe.
46 */
47 enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
48
49 panel-timing {
50 clock-frequency = <33000000>;
51 hactive = <800>;
52 vactive = <480>;
53 hfront-porch = <210>;
54 hback-porch = <16>;
55 hsync-len = <30>;
56 vback-porch = <10>;
57 vfront-porch = <22>;
58 vsync-len = <13>;
59 hsync-active = <0>;
60 vsync-active = <0>;
61 de-active = <1>;
62 pixelclk-active = <1>;
63 };
64
65 port {
66 lcd_in: endpoint {
67 remote-endpoint = <&dpi_out>;
68 };
69 };
70 };
71
30 am43xx_pinmux: pinmux@44e10800 { 72 am43xx_pinmux: pinmux@44e10800 {
31 cpsw_default: cpsw_default { 73 cpsw_default: cpsw_default {
32 pinctrl-single,pins = < 74 pinctrl-single,pins = <
@@ -161,6 +203,46 @@
161 0x234 (PIN_INPUT_PULLUP | MUX_MODE1) /* cam1_wen.hdq_gpio */ 203 0x234 (PIN_INPUT_PULLUP | MUX_MODE1) /* cam1_wen.hdq_gpio */
162 >; 204 >;
163 }; 205 };
206
207 dss_pins: dss_pins {
208 pinctrl-single,pins = <
209 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
210 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
211 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
212 0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
213 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
214 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
215 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
216 0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
217 0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
218 0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
219 0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
220 0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
221 0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
222 0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
223 0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
224 0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
225 0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
226 0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
227 0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
228 0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
229 0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
230 0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
231 0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
232 0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
233 0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
234 0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
235 0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
236 0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
237 >;
238 };
239
240 lcd_pins: lcd_pins {
241 pinctrl-single,pins = <
242 /* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */
243 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7)
244 >;
245 };
164 }; 246 };
165 247
166 matrix_keypad: matrix_keypad@0 { 248 matrix_keypad: matrix_keypad@0 {
@@ -468,3 +550,17 @@
468 pinctrl-names = "default"; 550 pinctrl-names = "default";
469 pinctrl-0 = <&hdq_pins>; 551 pinctrl-0 = <&hdq_pins>;
470}; 552};
553
554&dss {
555 status = "ok";
556
557 pinctrl-names = "default";
558 pinctrl-0 = <&dss_pins>;
559
560 port {
561 dpi_out: endpoint@0 {
562 remote-endpoint = <&lcd_in>;
563 data-lines = <24>;
564 };
565 };
566};
diff --git a/arch/arm/boot/dts/omap3-evm-37xx.dts b/arch/arm/boot/dts/omap3-evm-37xx.dts
index 9cba94bed7ad..a8bd4349c7d2 100644
--- a/arch/arm/boot/dts/omap3-evm-37xx.dts
+++ b/arch/arm/boot/dts/omap3-evm-37xx.dts
@@ -26,7 +26,44 @@
26 }; 26 };
27}; 27};
28 28
29&dss {
30 pinctrl-names = "default";
31 pinctrl-0 = <
32 &dss_dpi_pins1
33 &dss_dpi_pins2
34 >;
35};
36
29&omap3_pmx_core { 37&omap3_pmx_core {
38 dss_dpi_pins1: pinmux_dss_dpi_pins2 {
39 pinctrl-single,pins = <
40 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
41 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
42 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
43 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
44
45 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
46 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
47 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
48 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
49 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
50 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
51 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
52 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
53 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
54 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
55 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
56 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
57
58 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3) /* dss_data18.dss_data0 */
59 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3) /* dss_data19.dss_data1 */
60 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3) /* dss_data20.dss_data2 */
61 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3) /* dss_data21.dss_data3 */
62 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3) /* dss_data22.dss_data4 */
63 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3) /* dss_data23.dss_data5 */
64 >;
65 };
66
30 mmc1_pins: pinmux_mmc1_pins { 67 mmc1_pins: pinmux_mmc1_pins {
31 pinctrl-single,pins = < 68 pinctrl-single,pins = <
32 0x114 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 69 0x114 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
@@ -75,6 +112,19 @@
75 }; 112 };
76}; 113};
77 114
115&omap3_pmx_wkup {
116 dss_dpi_pins2: pinmux_dss_dpi_pins1 {
117 pinctrl-single,pins = <
118 0x0a (PIN_OUTPUT | MUX_MODE3) /* sys_boot0.dss_data18 */
119 0x0c (PIN_OUTPUT | MUX_MODE3) /* sys_boot1.dss_data19 */
120 0x10 (PIN_OUTPUT | MUX_MODE3) /* sys_boot3.dss_data20 */
121 0x12 (PIN_OUTPUT | MUX_MODE3) /* sys_boot4.dss_data21 */
122 0x14 (PIN_OUTPUT | MUX_MODE3) /* sys_boot5.dss_data22 */
123 0x16 (PIN_OUTPUT | MUX_MODE3) /* sys_boot6.dss_data23 */
124 >;
125 };
126};
127
78&mmc1 { 128&mmc1 {
79 pinctrl-names = "default"; 129 pinctrl-names = "default";
80 pinctrl-0 = <&mmc1_pins>; 130 pinctrl-0 = <&mmc1_pins>;
diff --git a/arch/arm/boot/dts/omap3-evm-common.dtsi b/arch/arm/boot/dts/omap3-evm-common.dtsi
index 3007e79c9cd6..8ae8f007c8ad 100644
--- a/arch/arm/boot/dts/omap3-evm-common.dtsi
+++ b/arch/arm/boot/dts/omap3-evm-common.dtsi
@@ -44,6 +44,11 @@
44 44
45#include "twl4030.dtsi" 45#include "twl4030.dtsi"
46#include "twl4030_omap3.dtsi" 46#include "twl4030_omap3.dtsi"
47#include "omap3-panel-sharp-ls037v7dw01.dtsi"
48
49&backlight0 {
50 gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>;
51};
47 52
48&i2c2 { 53&i2c2 {
49 clock-frequency = <400000>; 54 clock-frequency = <400000>;
@@ -61,6 +66,27 @@
61 }; 66 };
62}; 67};
63 68
69&lcd_3v3 {
70 gpio = <&gpio5 25 GPIO_ACTIVE_LOW>; /* gpio153 */
71 enable-active-low;
72};
73
74&lcd0 {
75 enable-gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>; /* gpio152, lcd INI */
76 reset-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd RESB */
77 mode-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH /* gpio154, lcd MO */
78 &gpio1 2 GPIO_ACTIVE_HIGH /* gpio2, lcd LR */
79 &gpio1 3 GPIO_ACTIVE_HIGH>; /* gpio3, lcd UD */
80};
81
82&mcspi1 {
83 tsc2046@0 {
84 interrupt-parent = <&gpio6>;
85 interrupts = <15 0>; /* gpio175 */
86 pendown-gpio = <&gpio6 15 0>;
87 };
88};
89
64&mmc1 { 90&mmc1 {
65 vmmc-supply = <&vmmc1>; 91 vmmc-supply = <&vmmc1>;
66 vmmc_aux-supply = <&vsim>; 92 vmmc_aux-supply = <&vsim>;
diff --git a/arch/arm/boot/dts/omap3-gta04.dts b/arch/arm/boot/dts/omap3-gta04.dts
index f8ad125fa46f..021311f7964b 100644
--- a/arch/arm/boot/dts/omap3-gta04.dts
+++ b/arch/arm/boot/dts/omap3-gta04.dts
@@ -44,6 +44,36 @@
44 ti,mcbsp = <&mcbsp2>; 44 ti,mcbsp = <&mcbsp2>;
45 ti,codec = <&twl_audio>; 45 ti,codec = <&twl_audio>;
46 }; 46 };
47
48 spi_lcd {
49 compatible = "spi-gpio";
50 #address-cells = <0x1>;
51 #size-cells = <0x0>;
52 pinctrl-names = "default";
53 pinctrl-0 = <&spi_gpio_pins>;
54
55 gpio-sck = <&gpio1 12 0>;
56 gpio-miso = <&gpio1 18 0>;
57 gpio-mosi = <&gpio1 20 0>;
58 cs-gpios = <&gpio1 19 0>;
59 num-chipselects = <1>;
60
61 /* lcd panel */
62 lcd: td028ttec1@0 {
63 compatible = "toppoly,td028ttec1";
64 reg = <0>;
65 spi-max-frequency = <100000>;
66 spi-cpol;
67 spi-cpha;
68
69 label = "lcd";
70 port {
71 lcd_in: endpoint {
72 remote-endpoint = <&dpi_out>;
73 };
74 };
75 };
76 };
47}; 77};
48 78
49&omap3_pmx_core { 79&omap3_pmx_core {
@@ -78,6 +108,47 @@
78 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 108 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
79 >; 109 >;
80 }; 110 };
111
112 dss_dpi_pins: pinmux_dss_dpi_pins {
113 pinctrl-single,pins = <
114 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
115 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
116 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
117 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
118 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
119 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
120 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
121 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
122 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
123 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
124 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
125 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
126 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
127 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
128 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
129 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
130 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
131 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
132 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
133 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
134 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
135 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
136 0x0d0 (PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
137 0x0d2 (PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
138 0x0d4 (PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
139 0x0d6 (PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
140 0x0d8 (PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
141 0x0da (PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
142 >;
143 };
144
145 spi_gpio_pins: spi_gpio_pinmux {
146 pinctrl-single,pins = <0x5a8 (PIN_OUTPUT | MUX_MODE4) /* clk */
147 0x5b6 (PIN_OUTPUT | MUX_MODE4) /* cs */
148 0x5b8 (PIN_OUTPUT | MUX_MODE4) /* tx */
149 0x5b4 (PIN_INPUT | MUX_MODE4) /* rx */
150 >;
151 };
81}; 152};
82 153
83&i2c1 { 154&i2c1 {
@@ -219,3 +290,22 @@
219 regulator-min-microvolt = <2800000>; 290 regulator-min-microvolt = <2800000>;
220 regulator-max-microvolt = <3150000>; 291 regulator-max-microvolt = <3150000>;
221}; 292};
293
294/* Needed to power the DPI pins */
295&vpll2 {
296 regulator-always-on;
297};
298
299&dss {
300 pinctrl-names = "default";
301 pinctrl-0 = < &dss_dpi_pins >;
302
303 status = "okay";
304
305 port {
306 dpi_out: endpoint {
307 remote-endpoint = <&lcd_in>;
308 data-lines = <24>;
309 };
310 };
311};
diff --git a/arch/arm/boot/dts/omap3-ldp.dts b/arch/arm/boot/dts/omap3-ldp.dts
index 476ff158ddb3..af272c156e21 100644
--- a/arch/arm/boot/dts/omap3-ldp.dts
+++ b/arch/arm/boot/dts/omap3-ldp.dts
@@ -164,6 +164,11 @@
164 164
165#include "twl4030.dtsi" 165#include "twl4030.dtsi"
166#include "twl4030_omap3.dtsi" 166#include "twl4030_omap3.dtsi"
167#include "omap3-panel-sharp-ls037v7dw01.dtsi"
168
169&backlight0 {
170 gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
171};
167 172
168&i2c2 { 173&i2c2 {
169 clock-frequency = <400000>; 174 clock-frequency = <400000>;
@@ -173,6 +178,25 @@
173 clock-frequency = <400000>; 178 clock-frequency = <400000>;
174}; 179};
175 180
181/* tps61130rsa enabled by twl4030 regen */
182&lcd_3v3 {
183 regulator-always-on;
184};
185
186&lcd0 {
187 enable-gpios = <&twl_gpio 15 GPIO_ACTIVE_HIGH>; /* lcd INI */
188 reset-gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>; /* gpio55, lcd RESB */
189 mode-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>; /* gpio56, lcd MO */
190};
191
192&mcspi1 {
193 tsc2046@0 {
194 interrupt-parent = <&gpio2>;
195 interrupts = <22 0>; /* gpio54 */
196 pendown-gpio = <&gpio2 22 0>;
197 };
198};
199
176&mmc1 { 200&mmc1 {
177 /* See 35xx errata 2.1.1.128 in SPRZ278F */ 201 /* See 35xx errata 2.1.1.128 in SPRZ278F */
178 compatible = "ti,omap3-pre-es3-hsmmc"; 202 compatible = "ti,omap3-pre-es3-hsmmc";
@@ -251,8 +275,3 @@
251 /* Needed for ads7846 */ 275 /* Needed for ads7846 */
252 regulator-name = "vcc"; 276 regulator-name = "vcc";
253}; 277};
254
255&vpll2 {
256 /* Needed for DSS */
257 regulator-name = "vdds_dsi";
258};
diff --git a/arch/arm/boot/dts/omap3-overo-alto35-common.dtsi b/arch/arm/boot/dts/omap3-overo-alto35-common.dtsi
index 19d64864a109..7aae8fb82c1f 100644
--- a/arch/arm/boot/dts/omap3-overo-alto35-common.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-alto35-common.dtsi
@@ -11,6 +11,7 @@
11 */ 11 */
12 12
13#include "omap3-overo-common-peripherals.dtsi" 13#include "omap3-overo-common-peripherals.dtsi"
14#include "omap3-overo-common-lcd35.dtsi"
14 15
15#include <dt-bindings/input/input.h> 16#include <dt-bindings/input/input.h>
16 17
diff --git a/arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi b/arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi
index 19de6ff79686..17b82f82638a 100644
--- a/arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi
@@ -11,6 +11,7 @@
11 */ 11 */
12 12
13#include "omap3-overo-common-peripherals.dtsi" 13#include "omap3-overo-common-peripherals.dtsi"
14#include "omap3-overo-common-lcd43.dtsi"
14 15
15#include <dt-bindings/input/input.h> 16#include <dt-bindings/input/input.h>
16 17
diff --git a/arch/arm/boot/dts/omap3-overo-common-dvi.dtsi b/arch/arm/boot/dts/omap3-overo-common-dvi.dtsi
new file mode 100644
index 000000000000..802f704f67e5
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-overo-common-dvi.dtsi
@@ -0,0 +1,111 @@
1/*
2 * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9/*
10 * DVI output for some Gumstix Overo boards (Tobi and Summit)
11 */
12
13&omap3_pmx_core {
14 dss_dpi_pins: pinmux_dss_dpi_pins {
15 pinctrl-single,pins = <
16 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
17 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
18 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
19 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
20 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
21 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
22 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
23 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
24 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
25 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
26 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
27 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
28 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
29 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
30 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
31 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
32 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
33 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
34 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
35 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
36 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
37 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
38 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
39 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
40 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
41 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
42 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
43 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
44 >;
45 };
46};
47
48/* Needed to power the DPI pins */
49&vpll2 {
50 regulator-always-on;
51};
52
53&dss {
54 status = "ok";
55
56 pinctrl-names = "default";
57 pinctrl-0 = <&dss_dpi_pins>;
58
59 port {
60 dpi_out: endpoint {
61 remote-endpoint = <&tfp410_in>;
62 data-lines = <24>;
63 };
64 };
65};
66
67/ {
68 aliases {
69 display0 = &dvi0;
70 };
71
72 tfp410: encoder@0 {
73 compatible = "ti,tfp410";
74
75 ports {
76 #address-cells = <1>;
77 #size-cells = <0>;
78
79 port@0 {
80 reg = <0>;
81
82 tfp410_in: endpoint@0 {
83 remote-endpoint = <&dpi_out>;
84 };
85 };
86
87 port@1 {
88 reg = <1>;
89
90 tfp410_out: endpoint@0 {
91 remote-endpoint = <&dvi_connector_in>;
92 };
93 };
94 };
95 };
96
97 dvi0: connector@0 {
98 compatible = "dvi-connector";
99 label = "dvi";
100
101 digital;
102 ddc-i2c-bus = <&i2c3>;
103
104 port {
105 dvi_connector_in: endpoint {
106 remote-endpoint = <&tfp410_out>;
107 };
108 };
109 };
110};
111
diff --git a/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi b/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
new file mode 100644
index 000000000000..233c69e50ae3
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
@@ -0,0 +1,165 @@
1/*
2 * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9/*
10 * 4.3'' LCD panel output for some Gumstix Overo boards (Gallop43, Chestnut43)
11 */
12
13&omap3_pmx_core {
14 dss_dpi_pins: pinmux_dss_dpi_pins {
15 pinctrl-single,pins = <
16 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
17 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
18 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
19 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
20 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
21 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
22 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
23 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
24 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
25 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
26 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
27 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
28 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
29 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
30 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
31 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
32 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
33 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
34 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
35 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
36 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
37 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
38 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
39 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
40 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
41 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
42 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
43 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
44 >;
45 };
46
47 lb035_pins: pinmux_lb035_pins {
48 pinctrl-single,pins = <
49 OMAP3_CORE1_IOPAD(0x2174, PIN_OUTPUT | MUX_MODE4) /* uart2_cts.gpio_144 */
50 >;
51 };
52
53 backlight_pins: pinmux_backlight_pins {
54 pinctrl-single,pins = <
55 OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE4) /* uart2_rts.gpio_145 */
56 >;
57 };
58
59 mcspi1_pins: pinmux_mcspi1_pins {
60 pinctrl-single,pins = <
61 OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
62 OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
63 OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
64 OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
65 >;
66 };
67
68 ads7846_pins: pinmux_ads7846_pins {
69 pinctrl-single,pins = <
70 OMAP3_CORE1_IOPAD(0x2138, PIN_INPUT_PULLDOWN | MUX_MODE4) /* csi2_dx1.gpio_114 */
71 >;
72 };
73};
74
75/* Needed to power the DPI pins */
76&vpll2 {
77 regulator-always-on;
78};
79
80&dss {
81 status = "ok";
82
83 pinctrl-names = "default";
84 pinctrl-0 = <&dss_dpi_pins>;
85
86 port {
87 dpi_out: endpoint {
88 remote-endpoint = <&lcd_in>;
89 data-lines = <24>;
90 };
91 };
92};
93
94/ {
95 aliases {
96 display0 = &lcd0;
97 };
98
99 ads7846reg: ads7846-reg {
100 compatible = "regulator-fixed";
101 regulator-name = "ads7846-reg";
102 regulator-min-microvolt = <3300000>;
103 regulator-max-microvolt = <3300000>;
104 };
105
106 backlight {
107 compatible = "gpio-backlight";
108
109 pinctrl-names = "default";
110 pinctrl-0 = <&backlight_pins>;
111 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; /* gpio_145 */
112
113 default-on;
114 };
115};
116
117&mcspi1 {
118 pinctrl-names = "default";
119 pinctrl-0 = <&mcspi1_pins>;
120
121 lcd0: display@0 {
122 compatible = "lgphilips,lb035q02";
123 label = "lcd";
124
125 reg = <1>; /* CS1 */
126 spi-max-frequency = <10000000>;
127 spi-cpol;
128 spi-cpha;
129
130 pinctrl-names = "default";
131 pinctrl-0 = <&lb035_pins>;
132 enable-gpios = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* gpio_144 */
133
134 port {
135 lcd_in: endpoint {
136 remote-endpoint = <&dpi_out>;
137 };
138 };
139 };
140
141 /* touch controller */
142 ads7846@0 {
143 pinctrl-names = "default";
144 pinctrl-0 = <&ads7846_pins>;
145
146 compatible = "ti,ads7846";
147 vcc-supply = <&ads7846reg>;
148
149 reg = <0>; /* CS0 */
150 spi-max-frequency = <1500000>;
151
152 interrupt-parent = <&gpio4>;
153 interrupts = <18 0>; /* gpio_114 */
154 pendown-gpio = <&gpio4 18 0>;
155
156 ti,x-min = /bits/ 16 <0x0>;
157 ti,x-max = /bits/ 16 <0x0fff>;
158 ti,y-min = /bits/ 16 <0x0>;
159 ti,y-max = /bits/ 16 <0x0fff>;
160 ti,x-plate-ohms = /bits/ 16 <180>;
161 ti,pressure-max = /bits/ 16 <255>;
162
163 linux,wakeup;
164 };
165};
diff --git a/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi b/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
new file mode 100644
index 000000000000..f5395b7da912
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
@@ -0,0 +1,178 @@
1/*
2 * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9/*
10 * 4.3'' LCD panel output for some Gumstix Overo boards (Gallop43, Chestnut43)
11 */
12
13&omap3_pmx_core {
14 dss_dpi_pins: pinmux_dss_dpi_pins {
15 pinctrl-single,pins = <
16 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
17 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
18 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
19 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
20 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
21 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
22 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
23 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
24 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
25 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
26 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
27 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
28 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
29 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
30 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
31 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
32 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
33 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
34 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
35 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
36 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
37 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
38 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
39 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
40 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
41 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
42 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
43 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
44 >;
45 };
46
47 lte430_pins: pinmux_lte430_pins {
48 pinctrl-single,pins = <
49 OMAP3_CORE1_IOPAD(0x2174, PIN_OUTPUT | MUX_MODE4) /* uart2_cts.gpio_144 */
50 >;
51 };
52
53 backlight_pins: pinmux_backlight_pins {
54 pinctrl-single,pins = <
55 OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE4) /* uart2_rts.gpio_145 */
56 >;
57 };
58
59 mcspi1_pins: pinmux_mcspi1_pins {
60 pinctrl-single,pins = <
61 OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
62 OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
63 OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
64 OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
65 >;
66 };
67
68 ads7846_pins: pinmux_ads7846_pins {
69 pinctrl-single,pins = <
70 OMAP3_CORE1_IOPAD(0x2138, PIN_INPUT_PULLDOWN | MUX_MODE4) /* csi2_dx1.gpio_114 */
71 >;
72 };
73};
74
75/* Needed to power the DPI pins */
76&vpll2 {
77 regulator-always-on;
78};
79
80&dss {
81 status = "ok";
82
83 pinctrl-names = "default";
84 pinctrl-0 = <&dss_dpi_pins>;
85
86 port {
87 dpi_out: endpoint {
88 remote-endpoint = <&lcd_in>;
89 data-lines = <24>;
90 };
91 };
92};
93
94/ {
95 aliases {
96 display0 = &lcd0;
97 };
98
99 lcd0: display@0 {
100 compatible = "samsung,lte430wq-f0c", "panel-dpi";
101 label = "lcd";
102
103 pinctrl-names = "default";
104 pinctrl-0 = <&lte430_pins>;
105 enable-gpios = <&gpio5 16 GPIO_ACTIVE_HIGH>; /* gpio_144 */
106
107 port {
108 lcd_in: endpoint {
109 remote-endpoint = <&dpi_out>;
110 };
111 };
112
113 panel-timing {
114 clock-frequency = <9200000>;
115 hactive = <480>;
116 vactive = <272>;
117 hfront-porch = <8>;
118 hback-porch = <4>;
119 hsync-len = <41>;
120 vback-porch = <2>;
121 vfront-porch = <4>;
122 vsync-len = <10>;
123
124 hsync-active = <0>;
125 vsync-active = <0>;
126 de-active = <1>;
127 pixelclk-active = <1>;
128 };
129 };
130
131 ads7846reg: ads7846-reg {
132 compatible = "regulator-fixed";
133 regulator-name = "ads7846-reg";
134 regulator-min-microvolt = <3300000>;
135 regulator-max-microvolt = <3300000>;
136 };
137
138 backlight {
139 compatible = "gpio-backlight";
140
141 pinctrl-names = "default";
142 pinctrl-0 = <&backlight_pins>;
143 gpios = <&gpio5 17 GPIO_ACTIVE_HIGH>; /* gpio_145 */
144
145 default-on;
146 };
147};
148
149&mcspi1 {
150 pinctrl-names = "default";
151 pinctrl-0 = <&mcspi1_pins>;
152
153 /* touch controller */
154 ads7846@0 {
155 pinctrl-names = "default";
156 pinctrl-0 = <&ads7846_pins>;
157
158 compatible = "ti,ads7846";
159 vcc-supply = <&ads7846reg>;
160
161 reg = <0>; /* CS0 */
162 spi-max-frequency = <1500000>;
163
164 interrupt-parent = <&gpio4>;
165 interrupts = <18 0>; /* gpio_114 */
166 pendown-gpio = <&gpio4 18 0>;
167
168 ti,x-min = /bits/ 16 <0x0>;
169 ti,x-max = /bits/ 16 <0x0fff>;
170 ti,y-min = /bits/ 16 <0x0>;
171 ti,y-max = /bits/ 16 <0x0fff>;
172 ti,x-plate-ohms = /bits/ 16 <180>;
173 ti,pressure-max = /bits/ 16 <255>;
174
175 linux,wakeup;
176 };
177};
178
diff --git a/arch/arm/boot/dts/omap3-overo-gallop43-common.dtsi b/arch/arm/boot/dts/omap3-overo-gallop43-common.dtsi
index 5e848c26986b..49d2254a99b0 100644
--- a/arch/arm/boot/dts/omap3-overo-gallop43-common.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-gallop43-common.dtsi
@@ -11,6 +11,7 @@
11 */ 11 */
12 12
13#include "omap3-overo-common-peripherals.dtsi" 13#include "omap3-overo-common-peripherals.dtsi"
14#include "omap3-overo-common-lcd43.dtsi"
14 15
15#include <dt-bindings/input/input.h> 16#include <dt-bindings/input/input.h>
16 17
diff --git a/arch/arm/boot/dts/omap3-overo-palo43-common.dtsi b/arch/arm/boot/dts/omap3-overo-palo43-common.dtsi
index abea232825b9..087aedf5b902 100644
--- a/arch/arm/boot/dts/omap3-overo-palo43-common.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-palo43-common.dtsi
@@ -11,6 +11,7 @@
11 */ 11 */
12 12
13#include "omap3-overo-common-peripherals.dtsi" 13#include "omap3-overo-common-peripherals.dtsi"
14#include "omap3-overo-common-lcd43.dtsi"
14 15
15#include <dt-bindings/input/input.h> 16#include <dt-bindings/input/input.h>
16 17
diff --git a/arch/arm/boot/dts/omap3-overo-summit-common.dtsi b/arch/arm/boot/dts/omap3-overo-summit-common.dtsi
index 999d1cd4a09f..0ac97ba98549 100644
--- a/arch/arm/boot/dts/omap3-overo-summit-common.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-summit-common.dtsi
@@ -11,6 +11,7 @@
11 */ 11 */
12 12
13#include "omap3-overo-common-peripherals.dtsi" 13#include "omap3-overo-common-peripherals.dtsi"
14#include "omap3-overo-common-dvi.dtsi"
14 15
15/ { 16/ {
16 leds { 17 leds {
diff --git a/arch/arm/boot/dts/omap3-overo-tobi-common.dtsi b/arch/arm/boot/dts/omap3-overo-tobi-common.dtsi
index 13df50b39442..9e24b6a1d07b 100644
--- a/arch/arm/boot/dts/omap3-overo-tobi-common.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-tobi-common.dtsi
@@ -11,6 +11,7 @@
11 */ 11 */
12 12
13#include "omap3-overo-common-peripherals.dtsi" 13#include "omap3-overo-common-peripherals.dtsi"
14#include "omap3-overo-common-dvi.dtsi"
14 15
15/ { 16/ {
16 leds { 17 leds {
diff --git a/arch/arm/boot/dts/omap3-panel-sharp-ls037v7dw01.dtsi b/arch/arm/boot/dts/omap3-panel-sharp-ls037v7dw01.dtsi
new file mode 100644
index 000000000000..f4b1a61853e3
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-panel-sharp-ls037v7dw01.dtsi
@@ -0,0 +1,71 @@
1/*
2 * Common file for omap dpi panels with QVGA and reset pins
3 *
4 * Note that the board specifc DTS file needs to specify
5 * at minimum the GPIO enable-gpios for display, and
6 * gpios for gpio-backlight.
7 */
8
9/ {
10 aliases {
11 display0 = &lcd0;
12 };
13
14 backlight0: backlight {
15 compatible = "gpio-backlight";
16 default-on;
17 };
18
19 /* 3.3V GPIO controlled regulator for LCD_ENVDD */
20 lcd_3v3: regulator-lcd-3v3 {
21 compatible = "regulator-fixed";
22 regulator-name = "lcd_3v3";
23 regulator-min-microvolt = <3300000>;
24 regulator-max-microvolt = <3300000>;
25 startup-delay-us = <70000>;
26 };
27
28 lcd0: display {
29 compatible = "sharp,ls037v7dw01";
30 label = "lcd";
31 power-supply = <&lcd_3v3>;
32
33 port {
34 lcd_in: endpoint {
35 remote-endpoint = <&dpi_out>;
36 };
37 };
38 };
39};
40
41/* Needed to power the DPI pins */
42&vpll2 {
43 regulator-always-on;
44};
45
46&dss {
47 status = "ok";
48 port {
49 dpi_out: endpoint {
50 remote-endpoint = <&lcd_in>;
51 data-lines = <18>;
52 };
53 };
54};
55
56&mcspi1 {
57 tsc2046@0 {
58 reg = <0>; /* CS0 */
59 compatible = "ti,tsc2046";
60 spi-max-frequency = <1000000>;
61 vcc-supply = <&lcd_3v3>;
62 ti,x-min = /bits/ 16 <0>;
63 ti,x-max = /bits/ 16 <8000>;
64 ti,y-min = /bits/ 16 <0>;
65 ti,y-max = /bits/ 16 <4800>;
66 ti,x-plate-ohms = /bits/ 16 <40>;
67 ti,pressure-max = /bits/ 16 <255>;
68 ti,swap-xy;
69 linux,wakeup;
70 };
71};
diff --git a/arch/arm/boot/dts/omap4-duovero-parlor.dts b/arch/arm/boot/dts/omap4-duovero-parlor.dts
index cd53a64d8f2e..6dc84d9f9b4c 100644
--- a/arch/arm/boot/dts/omap4-duovero-parlor.dts
+++ b/arch/arm/boot/dts/omap4-duovero-parlor.dts
@@ -15,6 +15,10 @@
15 model = "OMAP4430 Gumstix Duovero on Parlor"; 15 model = "OMAP4430 Gumstix Duovero on Parlor";
16 compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4"; 16 compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
17 17
18 aliases {
19 display0 = &hdmi0;
20 };
21
18 leds { 22 leds {
19 compatible = "gpio-leds"; 23 compatible = "gpio-leds";
20 led0 { 24 led0 {
@@ -35,6 +39,21 @@
35 gpio-key,wakeup; 39 gpio-key,wakeup;
36 }; 40 };
37 }; 41 };
42
43 hdmi0: connector@0 {
44 compatible = "hdmi-connector";
45 label = "hdmi";
46
47 type = "d";
48
49 hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio_63 */
50
51 port {
52 hdmi_connector_in: endpoint {
53 remote-endpoint = <&hdmi_out>;
54 };
55 };
56 };
38}; 57};
39 58
40&omap4_pmx_core { 59&omap4_pmx_core {
@@ -77,6 +96,15 @@
77 OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */ 96 OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */
78 >; 97 >;
79 }; 98 };
99
100 dss_hdmi_pins: pinmux_dss_hdmi_pins {
101 pinctrl-single,pins = <
102 OMAP4_IOPAD(0x098, PIN_INPUT | MUX_MODE3) /* hdmi_hpd.gpio_63 */
103 OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
104 OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
105 OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
106 >;
107 };
80}; 108};
81 109
82&i2c2 { 110&i2c2 {
@@ -143,4 +171,20 @@
143 }; 171 };
144}; 172};
145 173
174&dss {
175 status = "ok";
176};
177
178&hdmi {
179 status = "ok";
180
181 pinctrl-names = "default";
182 pinctrl-0 = <&dss_hdmi_pins>;
183
184 port {
185 hdmi_out: endpoint {
186 remote-endpoint = <&hdmi_connector_in>;
187 };
188 };
189};
146 190
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 43a587e097d4..7e26d222bfe3 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -922,6 +922,8 @@
922 ti,hwmods = "dss_hdmi"; 922 ti,hwmods = "dss_hdmi";
923 clocks = <&dss_48mhz_clk>, <&dss_sys_clk>; 923 clocks = <&dss_48mhz_clk>, <&dss_sys_clk>;
924 clock-names = "fck", "sys_clk"; 924 clock-names = "fck", "sys_clk";
925 dmas = <&sdma 76>;
926 dma-names = "audio_tx";
925 }; 927 };
926 }; 928 };
927 }; 929 };
diff --git a/arch/arm/boot/dts/omap5-uevm.dts b/arch/arm/boot/dts/omap5-uevm.dts
index 3b99ec25b748..1e1b05768cec 100644
--- a/arch/arm/boot/dts/omap5-uevm.dts
+++ b/arch/arm/boot/dts/omap5-uevm.dts
@@ -20,6 +20,10 @@
20 reg = <0x80000000 0x7F000000>; /* 2032 MB */ 20 reg = <0x80000000 0x7F000000>; /* 2032 MB */
21 }; 21 };
22 22
23 aliases {
24 display0 = &hdmi0;
25 };
26
23 vmmcsd_fixed: fixedregulator-mmcsd { 27 vmmcsd_fixed: fixedregulator-mmcsd {
24 compatible = "regulator-fixed"; 28 compatible = "regulator-fixed";
25 regulator-name = "vmmcsd_fixed"; 29 regulator-name = "vmmcsd_fixed";
@@ -51,6 +55,51 @@
51 default-state = "off"; 55 default-state = "off";
52 }; 56 };
53 }; 57 };
58
59 tpd12s015: encoder@0 {
60 compatible = "ti,tpd12s015";
61
62 pinctrl-names = "default";
63 pinctrl-0 = <&tpd12s015_pins>;
64
65 gpios = <&gpio9 0 GPIO_ACTIVE_HIGH>, /* TCA6424A P01, CT CP HPD */
66 <&gpio9 1 GPIO_ACTIVE_HIGH>, /* TCA6424A P00, LS OE */
67 <&gpio7 1 GPIO_ACTIVE_HIGH>; /* GPIO 193, HPD */
68
69 ports {
70 #address-cells = <1>;
71 #size-cells = <0>;
72
73 port@0 {
74 reg = <0>;
75
76 tpd12s015_in: endpoint@0 {
77 remote-endpoint = <&hdmi_out>;
78 };
79 };
80
81 port@1 {
82 reg = <1>;
83
84 tpd12s015_out: endpoint@0 {
85 remote-endpoint = <&hdmi_connector_in>;
86 };
87 };
88 };
89 };
90
91 hdmi0: connector@0 {
92 compatible = "hdmi-connector";
93 label = "hdmi";
94
95 type = "b";
96
97 port {
98 hdmi_connector_in: endpoint {
99 remote-endpoint = <&tpd12s015_out>;
100 };
101 };
102 };
54}; 103};
55 104
56&omap5_pmx_core { 105&omap5_pmx_core {
@@ -183,6 +232,19 @@
183 >; 232 >;
184 }; 233 };
185 234
235 dss_hdmi_pins: pinmux_dss_hdmi_pins {
236 pinctrl-single,pins = <
237 0x0fc (PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
238 0x100 (PIN_INPUT | MUX_MODE0) /* hdmi_ddc_scl.hdmi_ddc_scl */
239 0x102 (PIN_INPUT | MUX_MODE0) /* hdmi_ddc_sda.hdmi_ddc_sda */
240 >;
241 };
242
243 tpd12s015_pins: pinmux_tpd12s015_pins {
244 pinctrl-single,pins = <
245 0x0fe (PIN_INPUT_PULLDOWN | MUX_MODE6) /* hdmi_hpd.gpio7_193 */
246 >;
247 };
186}; 248};
187 249
188&omap5_pmx_wkup { 250&omap5_pmx_wkup {
@@ -434,6 +496,13 @@
434 pinctrl-0 = <&i2c5_pins>; 496 pinctrl-0 = <&i2c5_pins>;
435 497
436 clock-frequency = <400000>; 498 clock-frequency = <400000>;
499
500 gpio9: gpio@22 {
501 compatible = "ti,tca6424";
502 reg = <0x22>;
503 gpio-controller;
504 #gpio-cells = <2>;
505 };
437}; 506};
438 507
439&mcbsp3 { 508&mcbsp3 {
@@ -491,3 +560,21 @@
491&cpu0 { 560&cpu0 {
492 cpu0-supply = <&smps123_reg>; 561 cpu0-supply = <&smps123_reg>;
493}; 562};
563
564&dss {
565 status = "ok";
566};
567
568&hdmi {
569 status = "ok";
570 vdda-supply = <&ldo4_reg>;
571
572 pinctrl-names = "default";
573 pinctrl-0 = <&dss_hdmi_pins>;
574
575 port {
576 hdmi_out: endpoint {
577 remote-endpoint = <&tpd12s015_in>;
578 };
579 };
580};
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index e58be57984ab..3bfda16c8b52 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -924,6 +924,68 @@
924 ti,hwmods = "sata"; 924 ti,hwmods = "sata";
925 }; 925 };
926 926
927 dss: dss@58000000 {
928 compatible = "ti,omap5-dss";
929 reg = <0x58000000 0x80>;
930 status = "disabled";
931 ti,hwmods = "dss_core";
932 clocks = <&dss_dss_clk>;
933 clock-names = "fck";
934 #address-cells = <1>;
935 #size-cells = <1>;
936 ranges;
937
938 dispc@58001000 {
939 compatible = "ti,omap5-dispc";
940 reg = <0x58001000 0x1000>;
941 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
942 ti,hwmods = "dss_dispc";
943 clocks = <&dss_dss_clk>;
944 clock-names = "fck";
945 };
946
947 dsi1: encoder@58004000 {
948 compatible = "ti,omap5-dsi";
949 reg = <0x58004000 0x200>,
950 <0x58004200 0x40>,
951 <0x58004300 0x40>;
952 reg-names = "proto", "phy", "pll";
953 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
954 status = "disabled";
955 ti,hwmods = "dss_dsi1";
956 clocks = <&dss_dss_clk>, <&dss_sys_clk>;
957 clock-names = "fck", "sys_clk";
958 };
959
960 dsi2: encoder@58005000 {
961 compatible = "ti,omap5-dsi";
962 reg = <0x58009000 0x200>,
963 <0x58009200 0x40>,
964 <0x58009300 0x40>;
965 reg-names = "proto", "phy", "pll";
966 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
967 status = "disabled";
968 ti,hwmods = "dss_dsi2";
969 clocks = <&dss_dss_clk>, <&dss_sys_clk>;
970 clock-names = "fck", "sys_clk";
971 };
972
973 hdmi: encoder@58060000 {
974 compatible = "ti,omap5-hdmi";
975 reg = <0x58040000 0x200>,
976 <0x58040200 0x80>,
977 <0x58040300 0x80>,
978 <0x58060000 0x19000>;
979 reg-names = "wp", "pll", "phy", "core";
980 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
981 status = "disabled";
982 ti,hwmods = "dss_hdmi";
983 clocks = <&dss_48mhz_clk>, <&dss_sys_clk>;
984 clock-names = "fck", "sys_clk";
985 dmas = <&sdma 76>;
986 dma-names = "audio_tx";
987 };
988 };
927 }; 989 };
928}; 990};
929 991