1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/ 4724ba675SRob Herring */ 5724ba675SRob Herring/dts-v1/; 6724ba675SRob Herring 7724ba675SRob Herring#include "omap443x.dtsi" 8724ba675SRob Herring#include "elpida_ecb240abacn.dtsi" 9724ba675SRob Herring#include "omap4-mcpdm.dtsi" 10724ba675SRob Herring 11724ba675SRob Herring/ { 12724ba675SRob Herring model = "TI OMAP4 SDP board"; 13724ba675SRob Herring compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4"; 14724ba675SRob Herring 15724ba675SRob Herring memory@80000000 { 16724ba675SRob Herring device_type = "memory"; 17724ba675SRob Herring reg = <0x80000000 0x40000000>; /* 1 GB */ 18724ba675SRob Herring }; 19724ba675SRob Herring 20724ba675SRob Herring aliases { 21724ba675SRob Herring display0 = &lcd0; 22724ba675SRob Herring display1 = &lcd1; 23724ba675SRob Herring display2 = &hdmi0; 24724ba675SRob Herring }; 25724ba675SRob Herring 26724ba675SRob Herring vdd_eth: fixedregulator-vdd-eth { 27724ba675SRob Herring pinctrl-names = "default"; 28724ba675SRob Herring pinctrl-0 = <&enet_enable_gpio>; 29724ba675SRob Herring 30724ba675SRob Herring compatible = "regulator-fixed"; 31724ba675SRob Herring regulator-name = "VDD_ETH"; 32724ba675SRob Herring regulator-min-microvolt = <3300000>; 33724ba675SRob Herring regulator-max-microvolt = <3300000>; 34724ba675SRob Herring gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */ 35724ba675SRob Herring enable-active-high; 36724ba675SRob Herring regulator-boot-on; 37724ba675SRob Herring startup-delay-us = <25000>; 38724ba675SRob Herring }; 39724ba675SRob Herring 40724ba675SRob Herring vbat: fixedregulator-vbat { 41724ba675SRob Herring compatible = "regulator-fixed"; 42724ba675SRob Herring regulator-name = "VBAT"; 43724ba675SRob Herring regulator-min-microvolt = <3750000>; 44724ba675SRob Herring regulator-max-microvolt = <3750000>; 45724ba675SRob Herring regulator-boot-on; 46724ba675SRob Herring }; 47724ba675SRob Herring 48724ba675SRob Herring led-controller-1 { 49724ba675SRob Herring compatible = "gpio-leds"; 50724ba675SRob Herring 51724ba675SRob Herring led-1 { 52724ba675SRob Herring label = "omap4:green:debug0"; 53724ba675SRob Herring gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */ 54724ba675SRob Herring }; 55724ba675SRob Herring 56724ba675SRob Herring led-2 { 57724ba675SRob Herring label = "omap4:green:debug1"; 58724ba675SRob Herring gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */ 59724ba675SRob Herring }; 60724ba675SRob Herring 61724ba675SRob Herring led-3 { 62724ba675SRob Herring label = "omap4:green:debug2"; 63724ba675SRob Herring gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */ 64724ba675SRob Herring }; 65724ba675SRob Herring 66724ba675SRob Herring led-4 { 67724ba675SRob Herring label = "omap4:green:debug3"; 68724ba675SRob Herring gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */ 69724ba675SRob Herring }; 70724ba675SRob Herring 71724ba675SRob Herring led-5 { 72724ba675SRob Herring label = "omap4:green:debug4"; 73724ba675SRob Herring gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */ 74724ba675SRob Herring }; 75724ba675SRob Herring 76724ba675SRob Herring led-6 { 77724ba675SRob Herring label = "omap4:blue:user"; 78724ba675SRob Herring gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */ 79724ba675SRob Herring }; 80724ba675SRob Herring 81724ba675SRob Herring led-7 { 82724ba675SRob Herring label = "omap4:red:user"; 83724ba675SRob Herring gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */ 84724ba675SRob Herring }; 85724ba675SRob Herring 86724ba675SRob Herring led-8 { 87724ba675SRob Herring label = "omap4:green:user"; 88724ba675SRob Herring gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */ 89724ba675SRob Herring }; 90724ba675SRob Herring }; 91724ba675SRob Herring 92724ba675SRob Herring led-controller-2 { 93724ba675SRob Herring compatible = "pwm-leds"; 94724ba675SRob Herring 95724ba675SRob Herring led-9 { 96724ba675SRob Herring label = "omap4::keypad"; 97724ba675SRob Herring pwms = <&twl_pwm 0 7812500>; 98724ba675SRob Herring max-brightness = <127>; 99724ba675SRob Herring }; 100724ba675SRob Herring 101724ba675SRob Herring led-10 { 102724ba675SRob Herring label = "omap4:green:chrg"; 103724ba675SRob Herring pwms = <&twl_pwmled 0 7812500>; 104724ba675SRob Herring max-brightness = <255>; 105724ba675SRob Herring }; 106724ba675SRob Herring }; 107724ba675SRob Herring 108724ba675SRob Herring backlight { 109724ba675SRob Herring compatible = "pwm-backlight"; 110724ba675SRob Herring pwms = <&twl_pwm 1 7812500>; 111724ba675SRob Herring brightness-levels = < 112724ba675SRob Herring 0 10 20 30 40 113724ba675SRob Herring 50 60 70 80 90 114724ba675SRob Herring 100 110 120 127 115724ba675SRob Herring >; 116724ba675SRob Herring default-brightness-level = <13>; 117724ba675SRob Herring }; 118724ba675SRob Herring 119724ba675SRob Herring sound { 120724ba675SRob Herring compatible = "ti,abe-twl6040"; 121724ba675SRob Herring ti,model = "SDP4430"; 122724ba675SRob Herring 123724ba675SRob Herring ti,jack-detection = <1>; 124724ba675SRob Herring ti,mclk-freq = <38400000>; 125724ba675SRob Herring 126724ba675SRob Herring ti,mcpdm = <&mcpdm>; 127724ba675SRob Herring ti,dmic = <&dmic>; 128724ba675SRob Herring 129724ba675SRob Herring ti,twl6040 = <&twl6040>; 130724ba675SRob Herring 131724ba675SRob Herring /* Audio routing */ 132724ba675SRob Herring ti,audio-routing = 133724ba675SRob Herring "Headset Stereophone", "HSOL", 134724ba675SRob Herring "Headset Stereophone", "HSOR", 135724ba675SRob Herring "Earphone Spk", "EP", 136724ba675SRob Herring "Ext Spk", "HFL", 137724ba675SRob Herring "Ext Spk", "HFR", 138724ba675SRob Herring "Line Out", "AUXL", 139724ba675SRob Herring "Line Out", "AUXR", 140724ba675SRob Herring "Vibrator", "VIBRAL", 141724ba675SRob Herring "Vibrator", "VIBRAR", 142724ba675SRob Herring "HSMIC", "Headset Mic", 143724ba675SRob Herring "Headset Mic", "Headset Mic Bias", 144724ba675SRob Herring "MAINMIC", "Main Handset Mic", 145724ba675SRob Herring "Main Handset Mic", "Main Mic Bias", 146724ba675SRob Herring "SUBMIC", "Sub Handset Mic", 147724ba675SRob Herring "Sub Handset Mic", "Main Mic Bias", 148724ba675SRob Herring "AFML", "Line In", 149724ba675SRob Herring "AFMR", "Line In", 150724ba675SRob Herring "DMic", "Digital Mic", 151724ba675SRob Herring "Digital Mic", "Digital Mic1 Bias"; 152724ba675SRob Herring }; 153724ba675SRob Herring 154724ba675SRob Herring /* regulator for wl12xx on sdio5 */ 155724ba675SRob Herring wl12xx_vmmc: wl12xx_vmmc { 156724ba675SRob Herring pinctrl-names = "default"; 157724ba675SRob Herring pinctrl-0 = <&wl12xx_gpio>; 158724ba675SRob Herring compatible = "regulator-fixed"; 159724ba675SRob Herring regulator-name = "vwl1271"; 160724ba675SRob Herring regulator-min-microvolt = <1800000>; 161724ba675SRob Herring regulator-max-microvolt = <1800000>; 162724ba675SRob Herring gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>; 163724ba675SRob Herring startup-delay-us = <70000>; 164724ba675SRob Herring enable-active-high; 165724ba675SRob Herring }; 166724ba675SRob Herring 167724ba675SRob Herring tpd12s015: encoder { 168724ba675SRob Herring compatible = "ti,tpd12s015"; 169724ba675SRob Herring 170724ba675SRob Herring gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ 171724ba675SRob Herring <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ 172724ba675SRob Herring <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ 173724ba675SRob Herring 174724ba675SRob Herring ports { 175724ba675SRob Herring #address-cells = <1>; 176724ba675SRob Herring #size-cells = <0>; 177724ba675SRob Herring 178724ba675SRob Herring port@0 { 179724ba675SRob Herring reg = <0>; 180724ba675SRob Herring 181724ba675SRob Herring tpd12s015_in: endpoint { 182724ba675SRob Herring remote-endpoint = <&hdmi_out>; 183724ba675SRob Herring }; 184724ba675SRob Herring }; 185724ba675SRob Herring 186724ba675SRob Herring port@1 { 187724ba675SRob Herring reg = <1>; 188724ba675SRob Herring 189724ba675SRob Herring tpd12s015_out: endpoint { 190724ba675SRob Herring remote-endpoint = <&hdmi_connector_in>; 191724ba675SRob Herring }; 192724ba675SRob Herring }; 193724ba675SRob Herring }; 194724ba675SRob Herring }; 195724ba675SRob Herring 196724ba675SRob Herring hdmi0: connector { 197724ba675SRob Herring compatible = "hdmi-connector"; 198724ba675SRob Herring label = "hdmi"; 199724ba675SRob Herring 200724ba675SRob Herring type = "c"; 201724ba675SRob Herring 202724ba675SRob Herring port { 203724ba675SRob Herring hdmi_connector_in: endpoint { 204724ba675SRob Herring remote-endpoint = <&tpd12s015_out>; 205724ba675SRob Herring }; 206724ba675SRob Herring }; 207724ba675SRob Herring }; 208724ba675SRob Herring}; 209724ba675SRob Herring 210724ba675SRob Herring&omap4_pmx_core { 211724ba675SRob Herring pinctrl-names = "default"; 212724ba675SRob Herring pinctrl-0 = < 213724ba675SRob Herring &dss_hdmi_pins 214724ba675SRob Herring &tpd12s015_pins 215724ba675SRob Herring >; 216724ba675SRob Herring 217724ba675SRob Herring uart2_pins: uart2-pins { 218724ba675SRob Herring pinctrl-single,pins = < 219724ba675SRob Herring OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ 220724ba675SRob Herring OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ 221724ba675SRob Herring OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */ 222724ba675SRob Herring OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ 223724ba675SRob Herring >; 224724ba675SRob Herring }; 225724ba675SRob Herring 226724ba675SRob Herring uart3_pins: uart3-pins { 227724ba675SRob Herring pinctrl-single,pins = < 228724ba675SRob Herring OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ 229724ba675SRob Herring OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ 230724ba675SRob Herring OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 231724ba675SRob Herring OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 232724ba675SRob Herring >; 233724ba675SRob Herring }; 234724ba675SRob Herring 235724ba675SRob Herring uart4_pins: uart4-pins { 236724ba675SRob Herring pinctrl-single,pins = < 237724ba675SRob Herring OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */ 238724ba675SRob Herring OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */ 239724ba675SRob Herring >; 240724ba675SRob Herring }; 241724ba675SRob Herring 242724ba675SRob Herring twl6040_pins: twl6040-pins { 243724ba675SRob Herring pinctrl-single,pins = < 244724ba675SRob Herring OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */ 245724ba675SRob Herring OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ 246724ba675SRob Herring >; 247724ba675SRob Herring }; 248724ba675SRob Herring 249724ba675SRob Herring dmic_pins: dmic-pins { 250724ba675SRob Herring pinctrl-single,pins = < 251724ba675SRob Herring OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */ 252724ba675SRob Herring OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */ 253724ba675SRob Herring OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */ 254724ba675SRob Herring OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */ 255724ba675SRob Herring >; 256724ba675SRob Herring }; 257724ba675SRob Herring 258724ba675SRob Herring mcbsp1_pins: mcbsp1-pins { 259724ba675SRob Herring pinctrl-single,pins = < 260724ba675SRob Herring OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ 261724ba675SRob Herring OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ 262724ba675SRob Herring OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ 263724ba675SRob Herring OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ 264724ba675SRob Herring >; 265724ba675SRob Herring }; 266724ba675SRob Herring 267724ba675SRob Herring mcbsp2_pins: mcbsp2-pins { 268724ba675SRob Herring pinctrl-single,pins = < 269724ba675SRob Herring OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */ 270724ba675SRob Herring OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */ 271724ba675SRob Herring OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */ 272724ba675SRob Herring OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */ 273724ba675SRob Herring >; 274724ba675SRob Herring }; 275724ba675SRob Herring 276724ba675SRob Herring mcspi1_pins: mcspi1-pins { 277724ba675SRob Herring pinctrl-single,pins = < 278724ba675SRob Herring OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */ 279724ba675SRob Herring OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ 280724ba675SRob Herring OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ 281724ba675SRob Herring OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 282724ba675SRob Herring >; 283724ba675SRob Herring }; 284724ba675SRob Herring 285724ba675SRob Herring dss_hdmi_pins: dss-hdmi-pins { 286724ba675SRob Herring pinctrl-single,pins = < 287724ba675SRob Herring OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */ 288724ba675SRob Herring OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */ 289724ba675SRob Herring OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */ 290724ba675SRob Herring >; 291724ba675SRob Herring }; 292724ba675SRob Herring 293724ba675SRob Herring tpd12s015_pins: tpd12s015-pins { 294724ba675SRob Herring pinctrl-single,pins = < 295724ba675SRob Herring OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */ 296724ba675SRob Herring OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */ 297724ba675SRob Herring OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */ 298724ba675SRob Herring >; 299724ba675SRob Herring }; 300724ba675SRob Herring 301724ba675SRob Herring i2c1_pins: i2c1-pins { 302724ba675SRob Herring pinctrl-single,pins = < 303724ba675SRob Herring OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ 304724ba675SRob Herring OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ 305724ba675SRob Herring >; 306724ba675SRob Herring }; 307724ba675SRob Herring 308724ba675SRob Herring i2c2_pins: i2c2-pins { 309724ba675SRob Herring pinctrl-single,pins = < 310724ba675SRob Herring OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ 311724ba675SRob Herring OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ 312724ba675SRob Herring >; 313724ba675SRob Herring }; 314724ba675SRob Herring 315724ba675SRob Herring i2c3_pins: i2c3-pins { 316724ba675SRob Herring pinctrl-single,pins = < 317724ba675SRob Herring OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ 318724ba675SRob Herring OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ 319724ba675SRob Herring >; 320724ba675SRob Herring }; 321724ba675SRob Herring 322724ba675SRob Herring i2c4_pins: i2c4-pins { 323724ba675SRob Herring pinctrl-single,pins = < 324724ba675SRob Herring OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ 325724ba675SRob Herring OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ 326724ba675SRob Herring >; 327724ba675SRob Herring }; 328724ba675SRob Herring 329724ba675SRob Herring /* wl12xx GPIO output for WLAN_EN */ 330724ba675SRob Herring wl12xx_gpio: wl12xx-gpio-pins { 331724ba675SRob Herring pinctrl-single,pins = < 332724ba675SRob Herring OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */ 333724ba675SRob Herring >; 334724ba675SRob Herring }; 335724ba675SRob Herring 336724ba675SRob Herring /* wl12xx GPIO inputs and SDIO pins */ 337724ba675SRob Herring wl12xx_pins: wl12xx-pins { 338724ba675SRob Herring pinctrl-single,pins = < 339724ba675SRob Herring OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */ 340724ba675SRob Herring OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */ 341724ba675SRob Herring OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */ 342724ba675SRob Herring OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */ 343724ba675SRob Herring OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */ 344724ba675SRob Herring OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */ 345724ba675SRob Herring OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */ 346724ba675SRob Herring >; 347724ba675SRob Herring }; 348724ba675SRob Herring 349724ba675SRob Herring /* gpio_48 for ENET_ENABLE */ 350724ba675SRob Herring enet_enable_gpio: enet-enable-gpio-pins { 351724ba675SRob Herring pinctrl-single,pins = < 352724ba675SRob Herring OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */ 353724ba675SRob Herring >; 354724ba675SRob Herring }; 355724ba675SRob Herring 356724ba675SRob Herring ks8851_pins: ks8851-pins { 357724ba675SRob Herring pinctrl-single,pins = < 358724ba675SRob Herring /* ENET_INT */ 359724ba675SRob Herring OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */ 360724ba675SRob Herring /* 361724ba675SRob Herring * Misterious pin which makes the ethernet working 362724ba675SRob Herring * The legacy board file requested this pin on boot 363724ba675SRob Herring * (ETH_KS8851_QUART) and set it to high, similarly to 364724ba675SRob Herring * the ENET_ENABLE pin. 365724ba675SRob Herring * We could use gpio-hog to keep it high, but let's use 366724ba675SRob Herring * it as a reset GPIO for ks8851. 367724ba675SRob Herring */ 368724ba675SRob Herring OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */ 369724ba675SRob Herring >; 370724ba675SRob Herring }; 371724ba675SRob Herring}; 372724ba675SRob Herring 373724ba675SRob Herring&i2c1 { 374724ba675SRob Herring pinctrl-names = "default"; 375724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 376724ba675SRob Herring 377724ba675SRob Herring clock-frequency = <400000>; 378724ba675SRob Herring 379724ba675SRob Herring twl: twl@48 { 380724ba675SRob Herring reg = <0x48>; 381724ba675SRob Herring /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */ 382724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ 383724ba675SRob Herring }; 384724ba675SRob Herring 385724ba675SRob Herring twl6040: twl@4b { 386724ba675SRob Herring compatible = "ti,twl6040"; 387724ba675SRob Herring #clock-cells = <0>; 388724ba675SRob Herring reg = <0x4b>; 389724ba675SRob Herring 390724ba675SRob Herring pinctrl-names = "default"; 391724ba675SRob Herring pinctrl-0 = <&twl6040_pins>; 392724ba675SRob Herring 393724ba675SRob Herring /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */ 394724ba675SRob Herring interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ 395724ba675SRob Herring ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */ 396724ba675SRob Herring 397724ba675SRob Herring vio-supply = <&v1v8>; 398724ba675SRob Herring v2v1-supply = <&v2v1>; 399724ba675SRob Herring enable-active-high; 400724ba675SRob Herring 401724ba675SRob Herring /* regulators for vibra motor */ 402724ba675SRob Herring vddvibl-supply = <&vbat>; 403724ba675SRob Herring vddvibr-supply = <&vbat>; 404724ba675SRob Herring 405724ba675SRob Herring vibra { 406724ba675SRob Herring /* Vibra driver, motor resistance parameters */ 407724ba675SRob Herring ti,vibldrv-res = <8>; 408724ba675SRob Herring ti,vibrdrv-res = <3>; 409724ba675SRob Herring ti,viblmotor-res = <10>; 410724ba675SRob Herring ti,vibrmotor-res = <10>; 411724ba675SRob Herring }; 412724ba675SRob Herring }; 413724ba675SRob Herring}; 414724ba675SRob Herring 415724ba675SRob Herring#include "twl6030.dtsi" 416724ba675SRob Herring#include "twl6030_omap4.dtsi" 417724ba675SRob Herring 418724ba675SRob Herring&i2c2 { 419724ba675SRob Herring pinctrl-names = "default"; 420724ba675SRob Herring pinctrl-0 = <&i2c2_pins>; 421724ba675SRob Herring 422724ba675SRob Herring clock-frequency = <400000>; 423724ba675SRob Herring}; 424724ba675SRob Herring 425724ba675SRob Herring&i2c3 { 426724ba675SRob Herring pinctrl-names = "default"; 427724ba675SRob Herring pinctrl-0 = <&i2c3_pins>; 428724ba675SRob Herring 429724ba675SRob Herring clock-frequency = <400000>; 430724ba675SRob Herring 431724ba675SRob Herring /* 432724ba675SRob Herring * Temperature Sensor 433724ba675SRob Herring * https://www.ti.com/lit/ds/symlink/tmp105.pdf 434724ba675SRob Herring */ 435724ba675SRob Herring tmp105@48 { 436724ba675SRob Herring compatible = "ti,tmp105"; 437724ba675SRob Herring reg = <0x48>; 438724ba675SRob Herring }; 439724ba675SRob Herring 440724ba675SRob Herring /* 441724ba675SRob Herring * Ambient Light Sensor 442*9f2967e4SNishanth Menon * https://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf (defunct) 443724ba675SRob Herring */ 444724ba675SRob Herring bh1780@29 { 445724ba675SRob Herring compatible = "rohm,bh1780"; 446724ba675SRob Herring reg = <0x29>; 447724ba675SRob Herring }; 448724ba675SRob Herring}; 449724ba675SRob Herring 450724ba675SRob Herring&i2c4 { 451724ba675SRob Herring pinctrl-names = "default"; 452724ba675SRob Herring pinctrl-0 = <&i2c4_pins>; 453724ba675SRob Herring 454724ba675SRob Herring clock-frequency = <400000>; 455724ba675SRob Herring 456724ba675SRob Herring /* 457724ba675SRob Herring * 3-Axis Digital Compass 458724ba675SRob Herring * https://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf 459724ba675SRob Herring */ 460724ba675SRob Herring hmc5843@1e { 461724ba675SRob Herring compatible = "honeywell,hmc5843"; 462724ba675SRob Herring reg = <0x1e>; 463724ba675SRob Herring }; 464724ba675SRob Herring}; 465724ba675SRob Herring 466724ba675SRob Herring&mcspi1 { 467724ba675SRob Herring pinctrl-names = "default"; 468724ba675SRob Herring pinctrl-0 = <&mcspi1_pins>; 469724ba675SRob Herring 470724ba675SRob Herring eth@0 { 471724ba675SRob Herring pinctrl-names = "default"; 472724ba675SRob Herring pinctrl-0 = <&ks8851_pins>; 473724ba675SRob Herring 474724ba675SRob Herring compatible = "ks8851"; 475724ba675SRob Herring spi-max-frequency = <24000000>; 476724ba675SRob Herring reg = <0>; 477724ba675SRob Herring interrupt-parent = <&gpio2>; 478724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */ 479724ba675SRob Herring vdd-supply = <&vdd_eth>; 480724ba675SRob Herring reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; 481724ba675SRob Herring }; 482724ba675SRob Herring}; 483724ba675SRob Herring 484724ba675SRob Herring&mmc1 { 485724ba675SRob Herring vmmc-supply = <&vmmc>; 486724ba675SRob Herring bus-width = <8>; 487724ba675SRob Herring}; 488724ba675SRob Herring 489724ba675SRob Herring&mmc2 { 490724ba675SRob Herring vmmc-supply = <&vaux1>; 491724ba675SRob Herring bus-width = <8>; 492724ba675SRob Herring ti,non-removable; 493724ba675SRob Herring}; 494724ba675SRob Herring 495724ba675SRob Herring&mmc3 { 496724ba675SRob Herring status = "disabled"; 497724ba675SRob Herring}; 498724ba675SRob Herring 499724ba675SRob Herring&mmc4 { 500724ba675SRob Herring status = "disabled"; 501724ba675SRob Herring}; 502724ba675SRob Herring 503724ba675SRob Herring&mmc5 { 504724ba675SRob Herring pinctrl-names = "default"; 505724ba675SRob Herring pinctrl-0 = <&wl12xx_pins>; 506724ba675SRob Herring vmmc-supply = <&wl12xx_vmmc>; 507724ba675SRob Herring non-removable; 508724ba675SRob Herring bus-width = <4>; 509724ba675SRob Herring cap-power-off-card; 510724ba675SRob Herring 511724ba675SRob Herring #address-cells = <1>; 512724ba675SRob Herring #size-cells = <0>; 513724ba675SRob Herring wlcore: wlcore@2 { 514724ba675SRob Herring compatible = "ti,wl1281"; 515724ba675SRob Herring reg = <2>; 516724ba675SRob Herring interrupt-parent = <&gpio1>; 517724ba675SRob Herring interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */ 518724ba675SRob Herring ref-clock-frequency = <26000000>; 519724ba675SRob Herring tcxo-clock-frequency = <26000000>; 520724ba675SRob Herring }; 521724ba675SRob Herring}; 522724ba675SRob Herring 523724ba675SRob Herring&emif1 { 524724ba675SRob Herring cs1-used; 525724ba675SRob Herring device-handle = <&elpida_ECB240ABACN>; 526724ba675SRob Herring}; 527724ba675SRob Herring 528724ba675SRob Herring&emif2 { 529724ba675SRob Herring cs1-used; 530724ba675SRob Herring device-handle = <&elpida_ECB240ABACN>; 531724ba675SRob Herring}; 532724ba675SRob Herring 533724ba675SRob Herring&keypad { 534724ba675SRob Herring keypad,num-rows = <8>; 535724ba675SRob Herring keypad,num-columns = <8>; 536724ba675SRob Herring linux,keymap = <0x00000012 /* KEY_E */ 537724ba675SRob Herring 0x00010013 /* KEY_R */ 538724ba675SRob Herring 0x00020014 /* KEY_T */ 539724ba675SRob Herring 0x00030066 /* KEY_HOME */ 540724ba675SRob Herring 0x0004003f /* KEY_F5 */ 541724ba675SRob Herring 0x000500f0 /* KEY_UNKNOWN */ 542724ba675SRob Herring 0x00060017 /* KEY_I */ 543724ba675SRob Herring 0x0007002a /* KEY_LEFTSHIFT */ 544724ba675SRob Herring 0x01000020 /* KEY_D*/ 545724ba675SRob Herring 0x01010021 /* KEY_F */ 546724ba675SRob Herring 0x01020022 /* KEY_G */ 547724ba675SRob Herring 0x010300e7 /* KEY_SEND */ 548724ba675SRob Herring 0x01040040 /* KEY_F6 */ 549724ba675SRob Herring 0x010500f0 /* KEY_UNKNOWN */ 550724ba675SRob Herring 0x01060025 /* KEY_K */ 551724ba675SRob Herring 0x0107001c /* KEY_ENTER */ 552724ba675SRob Herring 0x0200002d /* KEY_X */ 553724ba675SRob Herring 0x0201002e /* KEY_C */ 554724ba675SRob Herring 0x0202002f /* KEY_V */ 555724ba675SRob Herring 0x0203006b /* KEY_END */ 556724ba675SRob Herring 0x02040041 /* KEY_F7 */ 557724ba675SRob Herring 0x020500f0 /* KEY_UNKNOWN */ 558724ba675SRob Herring 0x02060034 /* KEY_DOT */ 559724ba675SRob Herring 0x0207003a /* KEY_CAPSLOCK */ 560724ba675SRob Herring 0x0300002c /* KEY_Z */ 561724ba675SRob Herring 0x0301004e /* KEY_KPLUS */ 562724ba675SRob Herring 0x03020030 /* KEY_B */ 563724ba675SRob Herring 0x0303003b /* KEY_F1 */ 564724ba675SRob Herring 0x03040042 /* KEY_F8 */ 565724ba675SRob Herring 0x030500f0 /* KEY_UNKNOWN */ 566724ba675SRob Herring 0x03060018 /* KEY_O */ 567724ba675SRob Herring 0x03070039 /* KEY_SPACE */ 568724ba675SRob Herring 0x04000011 /* KEY_W */ 569724ba675SRob Herring 0x04010015 /* KEY_Y */ 570724ba675SRob Herring 0x04020016 /* KEY_U */ 571724ba675SRob Herring 0x0403003c /* KEY_F2 */ 572724ba675SRob Herring 0x04040073 /* KEY_VOLUMEUP */ 573724ba675SRob Herring 0x040500f0 /* KEY_UNKNOWN */ 574724ba675SRob Herring 0x04060026 /* KEY_L */ 575724ba675SRob Herring 0x04070069 /* KEY_LEFT */ 576724ba675SRob Herring 0x0500001f /* KEY_S */ 577724ba675SRob Herring 0x05010023 /* KEY_H */ 578724ba675SRob Herring 0x05020024 /* KEY_J */ 579724ba675SRob Herring 0x0503003d /* KEY_F3 */ 580724ba675SRob Herring 0x05040043 /* KEY_F9 */ 581724ba675SRob Herring 0x05050072 /* KEY_VOLUMEDOWN */ 582724ba675SRob Herring 0x05060032 /* KEY_M */ 583724ba675SRob Herring 0x0507006a /* KEY_RIGHT */ 584724ba675SRob Herring 0x06000010 /* KEY_Q */ 585724ba675SRob Herring 0x0601001e /* KEY_A */ 586724ba675SRob Herring 0x06020031 /* KEY_N */ 587724ba675SRob Herring 0x0603009e /* KEY_BACK */ 588724ba675SRob Herring 0x0604000e /* KEY_BACKSPACE */ 589724ba675SRob Herring 0x060500f0 /* KEY_UNKNOWN */ 590724ba675SRob Herring 0x06060019 /* KEY_P */ 591724ba675SRob Herring 0x06070067 /* KEY_UP */ 592724ba675SRob Herring 0x07000094 /* KEY_PROG1 */ 593724ba675SRob Herring 0x07010095 /* KEY_PROG2 */ 594724ba675SRob Herring 0x070200ca /* KEY_PROG3 */ 595724ba675SRob Herring 0x070300cb /* KEY_PROG4 */ 596724ba675SRob Herring 0x0704003e /* KEY_F4 */ 597724ba675SRob Herring 0x070500f0 /* KEY_UNKNOWN */ 598724ba675SRob Herring 0x07060160 /* KEY_OK */ 599724ba675SRob Herring 0x0707006c>; /* KEY_DOWN */ 600724ba675SRob Herring linux,input-no-autorepeat; 601724ba675SRob Herring}; 602724ba675SRob Herring 603724ba675SRob Herring&uart2 { 604724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH 605724ba675SRob Herring &omap4_pmx_core OMAP4_UART2_RX>; 606724ba675SRob Herring pinctrl-names = "default"; 607724ba675SRob Herring pinctrl-0 = <&uart2_pins>; 608724ba675SRob Herring}; 609724ba675SRob Herring 610724ba675SRob Herring&uart3 { 611724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH 612724ba675SRob Herring &omap4_pmx_core OMAP4_UART3_RX>; 613724ba675SRob Herring pinctrl-names = "default"; 614724ba675SRob Herring pinctrl-0 = <&uart3_pins>; 615724ba675SRob Herring}; 616724ba675SRob Herring 617724ba675SRob Herring&uart4 { 618724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH 619724ba675SRob Herring &omap4_pmx_core OMAP4_UART4_RX>; 620724ba675SRob Herring pinctrl-names = "default"; 621724ba675SRob Herring pinctrl-0 = <&uart4_pins>; 622724ba675SRob Herring}; 623724ba675SRob Herring 624724ba675SRob Herring&mcbsp1 { 625724ba675SRob Herring pinctrl-names = "default"; 626724ba675SRob Herring pinctrl-0 = <&mcbsp1_pins>; 627724ba675SRob Herring status = "okay"; 628724ba675SRob Herring}; 629724ba675SRob Herring 630724ba675SRob Herring&mcbsp2 { 631724ba675SRob Herring pinctrl-names = "default"; 632724ba675SRob Herring pinctrl-0 = <&mcbsp2_pins>; 633724ba675SRob Herring status = "okay"; 634724ba675SRob Herring}; 635724ba675SRob Herring 636724ba675SRob Herring&dmic { 637724ba675SRob Herring pinctrl-names = "default"; 638724ba675SRob Herring pinctrl-0 = <&dmic_pins>; 639724ba675SRob Herring status = "okay"; 640724ba675SRob Herring}; 641724ba675SRob Herring 642724ba675SRob Herring&twl_usb_comparator { 643724ba675SRob Herring usb-supply = <&vusb>; 644724ba675SRob Herring}; 645724ba675SRob Herring 646724ba675SRob Herring&usb_otg_hs { 647724ba675SRob Herring interface-type = <1>; 648724ba675SRob Herring mode = <3>; 649724ba675SRob Herring power = <50>; 650724ba675SRob Herring}; 651724ba675SRob Herring 652724ba675SRob Herring&dss { 653724ba675SRob Herring status = "okay"; 654724ba675SRob Herring}; 655724ba675SRob Herring 656724ba675SRob Herring&dsi1 { 657724ba675SRob Herring status = "okay"; 658724ba675SRob Herring vdd-supply = <&vcxio>; 659724ba675SRob Herring 660724ba675SRob Herring port { 661724ba675SRob Herring dsi1_out_ep: endpoint { 662724ba675SRob Herring remote-endpoint = <&lcd0_in>; 663724ba675SRob Herring lanes = <0 1 2 3 4 5>; 664724ba675SRob Herring }; 665724ba675SRob Herring }; 666724ba675SRob Herring 667724ba675SRob Herring lcd0: panel@0 { 668724ba675SRob Herring compatible = "tpo,taal", "panel-dsi-cm"; 669724ba675SRob Herring reg = <0>; 670724ba675SRob Herring label = "lcd0"; 671724ba675SRob Herring 672724ba675SRob Herring reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */ 673724ba675SRob Herring 674724ba675SRob Herring port { 675724ba675SRob Herring lcd0_in: endpoint { 676724ba675SRob Herring remote-endpoint = <&dsi1_out_ep>; 677724ba675SRob Herring }; 678724ba675SRob Herring }; 679724ba675SRob Herring }; 680724ba675SRob Herring}; 681724ba675SRob Herring 682724ba675SRob Herring&dsi2 { 683724ba675SRob Herring status = "okay"; 684724ba675SRob Herring vdd-supply = <&vcxio>; 685724ba675SRob Herring 686724ba675SRob Herring port { 687724ba675SRob Herring dsi2_out_ep: endpoint { 688724ba675SRob Herring remote-endpoint = <&lcd1_in>; 689724ba675SRob Herring lanes = <0 1 2 3 4 5>; 690724ba675SRob Herring }; 691724ba675SRob Herring }; 692724ba675SRob Herring 693724ba675SRob Herring lcd1: panel@0 { 694724ba675SRob Herring compatible = "tpo,taal", "panel-dsi-cm"; 695724ba675SRob Herring reg = <0>; 696724ba675SRob Herring label = "lcd1"; 697724ba675SRob Herring 698724ba675SRob Herring reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */ 699724ba675SRob Herring 700724ba675SRob Herring port { 701724ba675SRob Herring lcd1_in: endpoint { 702724ba675SRob Herring remote-endpoint = <&dsi2_out_ep>; 703724ba675SRob Herring }; 704724ba675SRob Herring }; 705724ba675SRob Herring }; 706724ba675SRob Herring}; 707724ba675SRob Herring 708724ba675SRob Herring&hdmi { 709724ba675SRob Herring status = "okay"; 710724ba675SRob Herring vdda-supply = <&vdac>; 711724ba675SRob Herring 712724ba675SRob Herring port { 713724ba675SRob Herring hdmi_out: endpoint { 714724ba675SRob Herring remote-endpoint = <&tpd12s015_in>; 715724ba675SRob Herring }; 716724ba675SRob Herring }; 717724ba675SRob Herring}; 718