diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-09 21:32:13 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-09 21:32:13 -0400 |
| commit | 9894e6d9c020b754dd962960e9f7eac18282f69f (patch) | |
| tree | d1f3c43d96095a9211ee0a941198be6fbb292f39 | |
| parent | 82abb273d838318424644d8f02825db0fbbd400a (diff) | |
| parent | 7d0fde3986c35dc1400cb552776c0a640ac354d7 (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
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 = <<e430_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 | ||
