1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/ 4*724ba675SRob Herring */ 5*724ba675SRob Herring/dts-v1/; 6*724ba675SRob Herring 7*724ba675SRob Herring#include "omap443x.dtsi" 8*724ba675SRob Herring#include "elpida_ecb240abacn.dtsi" 9*724ba675SRob Herring#include "omap4-mcpdm.dtsi" 10*724ba675SRob Herring 11*724ba675SRob Herring/ { 12*724ba675SRob Herring model = "TI OMAP4 SDP board"; 13*724ba675SRob Herring compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4"; 14*724ba675SRob Herring 15*724ba675SRob Herring memory@80000000 { 16*724ba675SRob Herring device_type = "memory"; 17*724ba675SRob Herring reg = <0x80000000 0x40000000>; /* 1 GB */ 18*724ba675SRob Herring }; 19*724ba675SRob Herring 20*724ba675SRob Herring aliases { 21*724ba675SRob Herring display0 = &lcd0; 22*724ba675SRob Herring display1 = &lcd1; 23*724ba675SRob Herring display2 = &hdmi0; 24*724ba675SRob Herring }; 25*724ba675SRob Herring 26*724ba675SRob Herring vdd_eth: fixedregulator-vdd-eth { 27*724ba675SRob Herring pinctrl-names = "default"; 28*724ba675SRob Herring pinctrl-0 = <&enet_enable_gpio>; 29*724ba675SRob Herring 30*724ba675SRob Herring compatible = "regulator-fixed"; 31*724ba675SRob Herring regulator-name = "VDD_ETH"; 32*724ba675SRob Herring regulator-min-microvolt = <3300000>; 33*724ba675SRob Herring regulator-max-microvolt = <3300000>; 34*724ba675SRob Herring gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>; /* gpio line 48 */ 35*724ba675SRob Herring enable-active-high; 36*724ba675SRob Herring regulator-boot-on; 37*724ba675SRob Herring startup-delay-us = <25000>; 38*724ba675SRob Herring }; 39*724ba675SRob Herring 40*724ba675SRob Herring vbat: fixedregulator-vbat { 41*724ba675SRob Herring compatible = "regulator-fixed"; 42*724ba675SRob Herring regulator-name = "VBAT"; 43*724ba675SRob Herring regulator-min-microvolt = <3750000>; 44*724ba675SRob Herring regulator-max-microvolt = <3750000>; 45*724ba675SRob Herring regulator-boot-on; 46*724ba675SRob Herring }; 47*724ba675SRob Herring 48*724ba675SRob Herring led-controller-1 { 49*724ba675SRob Herring compatible = "gpio-leds"; 50*724ba675SRob Herring 51*724ba675SRob Herring led-1 { 52*724ba675SRob Herring label = "omap4:green:debug0"; 53*724ba675SRob Herring gpios = <&gpio2 29 GPIO_ACTIVE_HIGH>; /* 61 */ 54*724ba675SRob Herring }; 55*724ba675SRob Herring 56*724ba675SRob Herring led-2 { 57*724ba675SRob Herring label = "omap4:green:debug1"; 58*724ba675SRob Herring gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; /* 30 */ 59*724ba675SRob Herring }; 60*724ba675SRob Herring 61*724ba675SRob Herring led-3 { 62*724ba675SRob Herring label = "omap4:green:debug2"; 63*724ba675SRob Herring gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; /* 7 */ 64*724ba675SRob Herring }; 65*724ba675SRob Herring 66*724ba675SRob Herring led-4 { 67*724ba675SRob Herring label = "omap4:green:debug3"; 68*724ba675SRob Herring gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* 8 */ 69*724ba675SRob Herring }; 70*724ba675SRob Herring 71*724ba675SRob Herring led-5 { 72*724ba675SRob Herring label = "omap4:green:debug4"; 73*724ba675SRob Herring gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */ 74*724ba675SRob Herring }; 75*724ba675SRob Herring 76*724ba675SRob Herring led-6 { 77*724ba675SRob Herring label = "omap4:blue:user"; 78*724ba675SRob Herring gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */ 79*724ba675SRob Herring }; 80*724ba675SRob Herring 81*724ba675SRob Herring led-7 { 82*724ba675SRob Herring label = "omap4:red:user"; 83*724ba675SRob Herring gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */ 84*724ba675SRob Herring }; 85*724ba675SRob Herring 86*724ba675SRob Herring led-8 { 87*724ba675SRob Herring label = "omap4:green:user"; 88*724ba675SRob Herring gpios = <&gpio5 11 GPIO_ACTIVE_HIGH>; /* 139 */ 89*724ba675SRob Herring }; 90*724ba675SRob Herring }; 91*724ba675SRob Herring 92*724ba675SRob Herring led-controller-2 { 93*724ba675SRob Herring compatible = "pwm-leds"; 94*724ba675SRob Herring 95*724ba675SRob Herring led-9 { 96*724ba675SRob Herring label = "omap4::keypad"; 97*724ba675SRob Herring pwms = <&twl_pwm 0 7812500>; 98*724ba675SRob Herring max-brightness = <127>; 99*724ba675SRob Herring }; 100*724ba675SRob Herring 101*724ba675SRob Herring led-10 { 102*724ba675SRob Herring label = "omap4:green:chrg"; 103*724ba675SRob Herring pwms = <&twl_pwmled 0 7812500>; 104*724ba675SRob Herring max-brightness = <255>; 105*724ba675SRob Herring }; 106*724ba675SRob Herring }; 107*724ba675SRob Herring 108*724ba675SRob Herring backlight { 109*724ba675SRob Herring compatible = "pwm-backlight"; 110*724ba675SRob Herring pwms = <&twl_pwm 1 7812500>; 111*724ba675SRob Herring brightness-levels = < 112*724ba675SRob Herring 0 10 20 30 40 113*724ba675SRob Herring 50 60 70 80 90 114*724ba675SRob Herring 100 110 120 127 115*724ba675SRob Herring >; 116*724ba675SRob Herring default-brightness-level = <13>; 117*724ba675SRob Herring }; 118*724ba675SRob Herring 119*724ba675SRob Herring sound { 120*724ba675SRob Herring compatible = "ti,abe-twl6040"; 121*724ba675SRob Herring ti,model = "SDP4430"; 122*724ba675SRob Herring 123*724ba675SRob Herring ti,jack-detection = <1>; 124*724ba675SRob Herring ti,mclk-freq = <38400000>; 125*724ba675SRob Herring 126*724ba675SRob Herring ti,mcpdm = <&mcpdm>; 127*724ba675SRob Herring ti,dmic = <&dmic>; 128*724ba675SRob Herring 129*724ba675SRob Herring ti,twl6040 = <&twl6040>; 130*724ba675SRob Herring 131*724ba675SRob Herring /* Audio routing */ 132*724ba675SRob Herring ti,audio-routing = 133*724ba675SRob Herring "Headset Stereophone", "HSOL", 134*724ba675SRob Herring "Headset Stereophone", "HSOR", 135*724ba675SRob Herring "Earphone Spk", "EP", 136*724ba675SRob Herring "Ext Spk", "HFL", 137*724ba675SRob Herring "Ext Spk", "HFR", 138*724ba675SRob Herring "Line Out", "AUXL", 139*724ba675SRob Herring "Line Out", "AUXR", 140*724ba675SRob Herring "Vibrator", "VIBRAL", 141*724ba675SRob Herring "Vibrator", "VIBRAR", 142*724ba675SRob Herring "HSMIC", "Headset Mic", 143*724ba675SRob Herring "Headset Mic", "Headset Mic Bias", 144*724ba675SRob Herring "MAINMIC", "Main Handset Mic", 145*724ba675SRob Herring "Main Handset Mic", "Main Mic Bias", 146*724ba675SRob Herring "SUBMIC", "Sub Handset Mic", 147*724ba675SRob Herring "Sub Handset Mic", "Main Mic Bias", 148*724ba675SRob Herring "AFML", "Line In", 149*724ba675SRob Herring "AFMR", "Line In", 150*724ba675SRob Herring "DMic", "Digital Mic", 151*724ba675SRob Herring "Digital Mic", "Digital Mic1 Bias"; 152*724ba675SRob Herring }; 153*724ba675SRob Herring 154*724ba675SRob Herring /* regulator for wl12xx on sdio5 */ 155*724ba675SRob Herring wl12xx_vmmc: wl12xx_vmmc { 156*724ba675SRob Herring pinctrl-names = "default"; 157*724ba675SRob Herring pinctrl-0 = <&wl12xx_gpio>; 158*724ba675SRob Herring compatible = "regulator-fixed"; 159*724ba675SRob Herring regulator-name = "vwl1271"; 160*724ba675SRob Herring regulator-min-microvolt = <1800000>; 161*724ba675SRob Herring regulator-max-microvolt = <1800000>; 162*724ba675SRob Herring gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>; 163*724ba675SRob Herring startup-delay-us = <70000>; 164*724ba675SRob Herring enable-active-high; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring tpd12s015: encoder { 168*724ba675SRob Herring compatible = "ti,tpd12s015"; 169*724ba675SRob Herring 170*724ba675SRob Herring gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ 171*724ba675SRob Herring <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ 172*724ba675SRob Herring <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ 173*724ba675SRob Herring 174*724ba675SRob Herring ports { 175*724ba675SRob Herring #address-cells = <1>; 176*724ba675SRob Herring #size-cells = <0>; 177*724ba675SRob Herring 178*724ba675SRob Herring port@0 { 179*724ba675SRob Herring reg = <0>; 180*724ba675SRob Herring 181*724ba675SRob Herring tpd12s015_in: endpoint { 182*724ba675SRob Herring remote-endpoint = <&hdmi_out>; 183*724ba675SRob Herring }; 184*724ba675SRob Herring }; 185*724ba675SRob Herring 186*724ba675SRob Herring port@1 { 187*724ba675SRob Herring reg = <1>; 188*724ba675SRob Herring 189*724ba675SRob Herring tpd12s015_out: endpoint { 190*724ba675SRob Herring remote-endpoint = <&hdmi_connector_in>; 191*724ba675SRob Herring }; 192*724ba675SRob Herring }; 193*724ba675SRob Herring }; 194*724ba675SRob Herring }; 195*724ba675SRob Herring 196*724ba675SRob Herring hdmi0: connector { 197*724ba675SRob Herring compatible = "hdmi-connector"; 198*724ba675SRob Herring label = "hdmi"; 199*724ba675SRob Herring 200*724ba675SRob Herring type = "c"; 201*724ba675SRob Herring 202*724ba675SRob Herring port { 203*724ba675SRob Herring hdmi_connector_in: endpoint { 204*724ba675SRob Herring remote-endpoint = <&tpd12s015_out>; 205*724ba675SRob Herring }; 206*724ba675SRob Herring }; 207*724ba675SRob Herring }; 208*724ba675SRob Herring}; 209*724ba675SRob Herring 210*724ba675SRob Herring&omap4_pmx_core { 211*724ba675SRob Herring pinctrl-names = "default"; 212*724ba675SRob Herring pinctrl-0 = < 213*724ba675SRob Herring &dss_hdmi_pins 214*724ba675SRob Herring &tpd12s015_pins 215*724ba675SRob Herring >; 216*724ba675SRob Herring 217*724ba675SRob Herring uart2_pins: uart2-pins { 218*724ba675SRob Herring pinctrl-single,pins = < 219*724ba675SRob Herring OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ 220*724ba675SRob Herring OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ 221*724ba675SRob Herring OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */ 222*724ba675SRob Herring OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ 223*724ba675SRob Herring >; 224*724ba675SRob Herring }; 225*724ba675SRob Herring 226*724ba675SRob Herring uart3_pins: uart3-pins { 227*724ba675SRob Herring pinctrl-single,pins = < 228*724ba675SRob Herring OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ 229*724ba675SRob Herring OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ 230*724ba675SRob Herring OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 231*724ba675SRob Herring OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 232*724ba675SRob Herring >; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring uart4_pins: uart4-pins { 236*724ba675SRob Herring pinctrl-single,pins = < 237*724ba675SRob Herring OMAP4_IOPAD(0x15c, PIN_INPUT | MUX_MODE0) /* uart4_rx.uart4_rx */ 238*724ba675SRob Herring OMAP4_IOPAD(0x15e, PIN_OUTPUT | MUX_MODE0) /* uart4_tx.uart4_tx */ 239*724ba675SRob Herring >; 240*724ba675SRob Herring }; 241*724ba675SRob Herring 242*724ba675SRob Herring twl6040_pins: twl6040-pins { 243*724ba675SRob Herring pinctrl-single,pins = < 244*724ba675SRob Herring OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */ 245*724ba675SRob Herring OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ 246*724ba675SRob Herring >; 247*724ba675SRob Herring }; 248*724ba675SRob Herring 249*724ba675SRob Herring dmic_pins: dmic-pins { 250*724ba675SRob Herring pinctrl-single,pins = < 251*724ba675SRob Herring OMAP4_IOPAD(0x110, PIN_OUTPUT | MUX_MODE0) /* abe_dmic_clk1.abe_dmic_clk1 */ 252*724ba675SRob Herring OMAP4_IOPAD(0x112, PIN_INPUT | MUX_MODE0) /* abe_dmic_din1.abe_dmic_din1 */ 253*724ba675SRob Herring OMAP4_IOPAD(0x114, PIN_INPUT | MUX_MODE0) /* abe_dmic_din2.abe_dmic_din2 */ 254*724ba675SRob Herring OMAP4_IOPAD(0x116, PIN_INPUT | MUX_MODE0) /* abe_dmic_din3.abe_dmic_din3 */ 255*724ba675SRob Herring >; 256*724ba675SRob Herring }; 257*724ba675SRob Herring 258*724ba675SRob Herring mcbsp1_pins: mcbsp1-pins { 259*724ba675SRob Herring pinctrl-single,pins = < 260*724ba675SRob Herring OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ 261*724ba675SRob Herring OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ 262*724ba675SRob Herring OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ 263*724ba675SRob Herring OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ 264*724ba675SRob Herring >; 265*724ba675SRob Herring }; 266*724ba675SRob Herring 267*724ba675SRob Herring mcbsp2_pins: mcbsp2-pins { 268*724ba675SRob Herring pinctrl-single,pins = < 269*724ba675SRob Herring OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx.abe_mcbsp2_clkx */ 270*724ba675SRob Herring OMAP4_IOPAD(0x0f8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dr.abe_mcbsp2_dr */ 271*724ba675SRob Herring OMAP4_IOPAD(0x0fa, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp2_dx.abe_mcbsp2_dx */ 272*724ba675SRob Herring OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx.abe_mcbsp2_fsx */ 273*724ba675SRob Herring >; 274*724ba675SRob Herring }; 275*724ba675SRob Herring 276*724ba675SRob Herring mcspi1_pins: mcspi1-pins { 277*724ba675SRob Herring pinctrl-single,pins = < 278*724ba675SRob Herring OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */ 279*724ba675SRob Herring OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */ 280*724ba675SRob Herring OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */ 281*724ba675SRob Herring OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */ 282*724ba675SRob Herring >; 283*724ba675SRob Herring }; 284*724ba675SRob Herring 285*724ba675SRob Herring dss_hdmi_pins: dss-hdmi-pins { 286*724ba675SRob Herring pinctrl-single,pins = < 287*724ba675SRob Herring OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */ 288*724ba675SRob Herring OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */ 289*724ba675SRob Herring OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */ 290*724ba675SRob Herring >; 291*724ba675SRob Herring }; 292*724ba675SRob Herring 293*724ba675SRob Herring tpd12s015_pins: tpd12s015-pins { 294*724ba675SRob Herring pinctrl-single,pins = < 295*724ba675SRob Herring OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */ 296*724ba675SRob Herring OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */ 297*724ba675SRob Herring OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */ 298*724ba675SRob Herring >; 299*724ba675SRob Herring }; 300*724ba675SRob Herring 301*724ba675SRob Herring i2c1_pins: i2c1-pins { 302*724ba675SRob Herring pinctrl-single,pins = < 303*724ba675SRob Herring OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ 304*724ba675SRob Herring OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ 305*724ba675SRob Herring >; 306*724ba675SRob Herring }; 307*724ba675SRob Herring 308*724ba675SRob Herring i2c2_pins: i2c2-pins { 309*724ba675SRob Herring pinctrl-single,pins = < 310*724ba675SRob Herring OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ 311*724ba675SRob Herring OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ 312*724ba675SRob Herring >; 313*724ba675SRob Herring }; 314*724ba675SRob Herring 315*724ba675SRob Herring i2c3_pins: i2c3-pins { 316*724ba675SRob Herring pinctrl-single,pins = < 317*724ba675SRob Herring OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ 318*724ba675SRob Herring OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ 319*724ba675SRob Herring >; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring i2c4_pins: i2c4-pins { 323*724ba675SRob Herring pinctrl-single,pins = < 324*724ba675SRob Herring OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ 325*724ba675SRob Herring OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ 326*724ba675SRob Herring >; 327*724ba675SRob Herring }; 328*724ba675SRob Herring 329*724ba675SRob Herring /* wl12xx GPIO output for WLAN_EN */ 330*724ba675SRob Herring wl12xx_gpio: wl12xx-gpio-pins { 331*724ba675SRob Herring pinctrl-single,pins = < 332*724ba675SRob Herring OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3) /* gpmc_nwp.gpio_54 */ 333*724ba675SRob Herring >; 334*724ba675SRob Herring }; 335*724ba675SRob Herring 336*724ba675SRob Herring /* wl12xx GPIO inputs and SDIO pins */ 337*724ba675SRob Herring wl12xx_pins: wl12xx-pins { 338*724ba675SRob Herring pinctrl-single,pins = < 339*724ba675SRob Herring OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */ 340*724ba675SRob Herring OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */ 341*724ba675SRob Herring OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */ 342*724ba675SRob Herring OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */ 343*724ba675SRob Herring OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */ 344*724ba675SRob Herring OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */ 345*724ba675SRob Herring OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */ 346*724ba675SRob Herring >; 347*724ba675SRob Herring }; 348*724ba675SRob Herring 349*724ba675SRob Herring /* gpio_48 for ENET_ENABLE */ 350*724ba675SRob Herring enet_enable_gpio: enet-enable-gpio-pins { 351*724ba675SRob Herring pinctrl-single,pins = < 352*724ba675SRob Herring OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* gpmc_a24.gpio_48 */ 353*724ba675SRob Herring >; 354*724ba675SRob Herring }; 355*724ba675SRob Herring 356*724ba675SRob Herring ks8851_pins: ks8851-pins { 357*724ba675SRob Herring pinctrl-single,pins = < 358*724ba675SRob Herring /* ENET_INT */ 359*724ba675SRob Herring OMAP4_IOPAD(0x054, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad10.gpio_34 */ 360*724ba675SRob Herring /* 361*724ba675SRob Herring * Misterious pin which makes the ethernet working 362*724ba675SRob Herring * The legacy board file requested this pin on boot 363*724ba675SRob Herring * (ETH_KS8851_QUART) and set it to high, similarly to 364*724ba675SRob Herring * the ENET_ENABLE pin. 365*724ba675SRob Herring * We could use gpio-hog to keep it high, but let's use 366*724ba675SRob Herring * it as a reset GPIO for ks8851. 367*724ba675SRob Herring */ 368*724ba675SRob Herring OMAP4_IOPAD(0x13a, PIN_OUTPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.gpio_138 */ 369*724ba675SRob Herring >; 370*724ba675SRob Herring }; 371*724ba675SRob Herring}; 372*724ba675SRob Herring 373*724ba675SRob Herring&i2c1 { 374*724ba675SRob Herring pinctrl-names = "default"; 375*724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 376*724ba675SRob Herring 377*724ba675SRob Herring clock-frequency = <400000>; 378*724ba675SRob Herring 379*724ba675SRob Herring twl: twl@48 { 380*724ba675SRob Herring reg = <0x48>; 381*724ba675SRob Herring /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */ 382*724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ 383*724ba675SRob Herring }; 384*724ba675SRob Herring 385*724ba675SRob Herring twl6040: twl@4b { 386*724ba675SRob Herring compatible = "ti,twl6040"; 387*724ba675SRob Herring #clock-cells = <0>; 388*724ba675SRob Herring reg = <0x4b>; 389*724ba675SRob Herring 390*724ba675SRob Herring pinctrl-names = "default"; 391*724ba675SRob Herring pinctrl-0 = <&twl6040_pins>; 392*724ba675SRob Herring 393*724ba675SRob Herring /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */ 394*724ba675SRob Herring interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ 395*724ba675SRob Herring ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */ 396*724ba675SRob Herring 397*724ba675SRob Herring vio-supply = <&v1v8>; 398*724ba675SRob Herring v2v1-supply = <&v2v1>; 399*724ba675SRob Herring enable-active-high; 400*724ba675SRob Herring 401*724ba675SRob Herring /* regulators for vibra motor */ 402*724ba675SRob Herring vddvibl-supply = <&vbat>; 403*724ba675SRob Herring vddvibr-supply = <&vbat>; 404*724ba675SRob Herring 405*724ba675SRob Herring vibra { 406*724ba675SRob Herring /* Vibra driver, motor resistance parameters */ 407*724ba675SRob Herring ti,vibldrv-res = <8>; 408*724ba675SRob Herring ti,vibrdrv-res = <3>; 409*724ba675SRob Herring ti,viblmotor-res = <10>; 410*724ba675SRob Herring ti,vibrmotor-res = <10>; 411*724ba675SRob Herring }; 412*724ba675SRob Herring }; 413*724ba675SRob Herring}; 414*724ba675SRob Herring 415*724ba675SRob Herring#include "twl6030.dtsi" 416*724ba675SRob Herring#include "twl6030_omap4.dtsi" 417*724ba675SRob Herring 418*724ba675SRob Herring&i2c2 { 419*724ba675SRob Herring pinctrl-names = "default"; 420*724ba675SRob Herring pinctrl-0 = <&i2c2_pins>; 421*724ba675SRob Herring 422*724ba675SRob Herring clock-frequency = <400000>; 423*724ba675SRob Herring}; 424*724ba675SRob Herring 425*724ba675SRob Herring&i2c3 { 426*724ba675SRob Herring pinctrl-names = "default"; 427*724ba675SRob Herring pinctrl-0 = <&i2c3_pins>; 428*724ba675SRob Herring 429*724ba675SRob Herring clock-frequency = <400000>; 430*724ba675SRob Herring 431*724ba675SRob Herring /* 432*724ba675SRob Herring * Temperature Sensor 433*724ba675SRob Herring * https://www.ti.com/lit/ds/symlink/tmp105.pdf 434*724ba675SRob Herring */ 435*724ba675SRob Herring tmp105@48 { 436*724ba675SRob Herring compatible = "ti,tmp105"; 437*724ba675SRob Herring reg = <0x48>; 438*724ba675SRob Herring }; 439*724ba675SRob Herring 440*724ba675SRob Herring /* 441*724ba675SRob Herring * Ambient Light Sensor 442*724ba675SRob Herring * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf 443*724ba675SRob Herring */ 444*724ba675SRob Herring bh1780@29 { 445*724ba675SRob Herring compatible = "rohm,bh1780"; 446*724ba675SRob Herring reg = <0x29>; 447*724ba675SRob Herring }; 448*724ba675SRob Herring}; 449*724ba675SRob Herring 450*724ba675SRob Herring&i2c4 { 451*724ba675SRob Herring pinctrl-names = "default"; 452*724ba675SRob Herring pinctrl-0 = <&i2c4_pins>; 453*724ba675SRob Herring 454*724ba675SRob Herring clock-frequency = <400000>; 455*724ba675SRob Herring 456*724ba675SRob Herring /* 457*724ba675SRob Herring * 3-Axis Digital Compass 458*724ba675SRob Herring * https://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf 459*724ba675SRob Herring */ 460*724ba675SRob Herring hmc5843@1e { 461*724ba675SRob Herring compatible = "honeywell,hmc5843"; 462*724ba675SRob Herring reg = <0x1e>; 463*724ba675SRob Herring }; 464*724ba675SRob Herring}; 465*724ba675SRob Herring 466*724ba675SRob Herring&mcspi1 { 467*724ba675SRob Herring pinctrl-names = "default"; 468*724ba675SRob Herring pinctrl-0 = <&mcspi1_pins>; 469*724ba675SRob Herring 470*724ba675SRob Herring eth@0 { 471*724ba675SRob Herring pinctrl-names = "default"; 472*724ba675SRob Herring pinctrl-0 = <&ks8851_pins>; 473*724ba675SRob Herring 474*724ba675SRob Herring compatible = "ks8851"; 475*724ba675SRob Herring spi-max-frequency = <24000000>; 476*724ba675SRob Herring reg = <0>; 477*724ba675SRob Herring interrupt-parent = <&gpio2>; 478*724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */ 479*724ba675SRob Herring vdd-supply = <&vdd_eth>; 480*724ba675SRob Herring reset-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; 481*724ba675SRob Herring }; 482*724ba675SRob Herring}; 483*724ba675SRob Herring 484*724ba675SRob Herring&mmc1 { 485*724ba675SRob Herring vmmc-supply = <&vmmc>; 486*724ba675SRob Herring bus-width = <8>; 487*724ba675SRob Herring}; 488*724ba675SRob Herring 489*724ba675SRob Herring&mmc2 { 490*724ba675SRob Herring vmmc-supply = <&vaux1>; 491*724ba675SRob Herring bus-width = <8>; 492*724ba675SRob Herring ti,non-removable; 493*724ba675SRob Herring}; 494*724ba675SRob Herring 495*724ba675SRob Herring&mmc3 { 496*724ba675SRob Herring status = "disabled"; 497*724ba675SRob Herring}; 498*724ba675SRob Herring 499*724ba675SRob Herring&mmc4 { 500*724ba675SRob Herring status = "disabled"; 501*724ba675SRob Herring}; 502*724ba675SRob Herring 503*724ba675SRob Herring&mmc5 { 504*724ba675SRob Herring pinctrl-names = "default"; 505*724ba675SRob Herring pinctrl-0 = <&wl12xx_pins>; 506*724ba675SRob Herring vmmc-supply = <&wl12xx_vmmc>; 507*724ba675SRob Herring non-removable; 508*724ba675SRob Herring bus-width = <4>; 509*724ba675SRob Herring cap-power-off-card; 510*724ba675SRob Herring 511*724ba675SRob Herring #address-cells = <1>; 512*724ba675SRob Herring #size-cells = <0>; 513*724ba675SRob Herring wlcore: wlcore@2 { 514*724ba675SRob Herring compatible = "ti,wl1281"; 515*724ba675SRob Herring reg = <2>; 516*724ba675SRob Herring interrupt-parent = <&gpio1>; 517*724ba675SRob Herring interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* gpio 53 */ 518*724ba675SRob Herring ref-clock-frequency = <26000000>; 519*724ba675SRob Herring tcxo-clock-frequency = <26000000>; 520*724ba675SRob Herring }; 521*724ba675SRob Herring}; 522*724ba675SRob Herring 523*724ba675SRob Herring&emif1 { 524*724ba675SRob Herring cs1-used; 525*724ba675SRob Herring device-handle = <&elpida_ECB240ABACN>; 526*724ba675SRob Herring}; 527*724ba675SRob Herring 528*724ba675SRob Herring&emif2 { 529*724ba675SRob Herring cs1-used; 530*724ba675SRob Herring device-handle = <&elpida_ECB240ABACN>; 531*724ba675SRob Herring}; 532*724ba675SRob Herring 533*724ba675SRob Herring&keypad { 534*724ba675SRob Herring keypad,num-rows = <8>; 535*724ba675SRob Herring keypad,num-columns = <8>; 536*724ba675SRob Herring linux,keymap = <0x00000012 /* KEY_E */ 537*724ba675SRob Herring 0x00010013 /* KEY_R */ 538*724ba675SRob Herring 0x00020014 /* KEY_T */ 539*724ba675SRob Herring 0x00030066 /* KEY_HOME */ 540*724ba675SRob Herring 0x0004003f /* KEY_F5 */ 541*724ba675SRob Herring 0x000500f0 /* KEY_UNKNOWN */ 542*724ba675SRob Herring 0x00060017 /* KEY_I */ 543*724ba675SRob Herring 0x0007002a /* KEY_LEFTSHIFT */ 544*724ba675SRob Herring 0x01000020 /* KEY_D*/ 545*724ba675SRob Herring 0x01010021 /* KEY_F */ 546*724ba675SRob Herring 0x01020022 /* KEY_G */ 547*724ba675SRob Herring 0x010300e7 /* KEY_SEND */ 548*724ba675SRob Herring 0x01040040 /* KEY_F6 */ 549*724ba675SRob Herring 0x010500f0 /* KEY_UNKNOWN */ 550*724ba675SRob Herring 0x01060025 /* KEY_K */ 551*724ba675SRob Herring 0x0107001c /* KEY_ENTER */ 552*724ba675SRob Herring 0x0200002d /* KEY_X */ 553*724ba675SRob Herring 0x0201002e /* KEY_C */ 554*724ba675SRob Herring 0x0202002f /* KEY_V */ 555*724ba675SRob Herring 0x0203006b /* KEY_END */ 556*724ba675SRob Herring 0x02040041 /* KEY_F7 */ 557*724ba675SRob Herring 0x020500f0 /* KEY_UNKNOWN */ 558*724ba675SRob Herring 0x02060034 /* KEY_DOT */ 559*724ba675SRob Herring 0x0207003a /* KEY_CAPSLOCK */ 560*724ba675SRob Herring 0x0300002c /* KEY_Z */ 561*724ba675SRob Herring 0x0301004e /* KEY_KPLUS */ 562*724ba675SRob Herring 0x03020030 /* KEY_B */ 563*724ba675SRob Herring 0x0303003b /* KEY_F1 */ 564*724ba675SRob Herring 0x03040042 /* KEY_F8 */ 565*724ba675SRob Herring 0x030500f0 /* KEY_UNKNOWN */ 566*724ba675SRob Herring 0x03060018 /* KEY_O */ 567*724ba675SRob Herring 0x03070039 /* KEY_SPACE */ 568*724ba675SRob Herring 0x04000011 /* KEY_W */ 569*724ba675SRob Herring 0x04010015 /* KEY_Y */ 570*724ba675SRob Herring 0x04020016 /* KEY_U */ 571*724ba675SRob Herring 0x0403003c /* KEY_F2 */ 572*724ba675SRob Herring 0x04040073 /* KEY_VOLUMEUP */ 573*724ba675SRob Herring 0x040500f0 /* KEY_UNKNOWN */ 574*724ba675SRob Herring 0x04060026 /* KEY_L */ 575*724ba675SRob Herring 0x04070069 /* KEY_LEFT */ 576*724ba675SRob Herring 0x0500001f /* KEY_S */ 577*724ba675SRob Herring 0x05010023 /* KEY_H */ 578*724ba675SRob Herring 0x05020024 /* KEY_J */ 579*724ba675SRob Herring 0x0503003d /* KEY_F3 */ 580*724ba675SRob Herring 0x05040043 /* KEY_F9 */ 581*724ba675SRob Herring 0x05050072 /* KEY_VOLUMEDOWN */ 582*724ba675SRob Herring 0x05060032 /* KEY_M */ 583*724ba675SRob Herring 0x0507006a /* KEY_RIGHT */ 584*724ba675SRob Herring 0x06000010 /* KEY_Q */ 585*724ba675SRob Herring 0x0601001e /* KEY_A */ 586*724ba675SRob Herring 0x06020031 /* KEY_N */ 587*724ba675SRob Herring 0x0603009e /* KEY_BACK */ 588*724ba675SRob Herring 0x0604000e /* KEY_BACKSPACE */ 589*724ba675SRob Herring 0x060500f0 /* KEY_UNKNOWN */ 590*724ba675SRob Herring 0x06060019 /* KEY_P */ 591*724ba675SRob Herring 0x06070067 /* KEY_UP */ 592*724ba675SRob Herring 0x07000094 /* KEY_PROG1 */ 593*724ba675SRob Herring 0x07010095 /* KEY_PROG2 */ 594*724ba675SRob Herring 0x070200ca /* KEY_PROG3 */ 595*724ba675SRob Herring 0x070300cb /* KEY_PROG4 */ 596*724ba675SRob Herring 0x0704003e /* KEY_F4 */ 597*724ba675SRob Herring 0x070500f0 /* KEY_UNKNOWN */ 598*724ba675SRob Herring 0x07060160 /* KEY_OK */ 599*724ba675SRob Herring 0x0707006c>; /* KEY_DOWN */ 600*724ba675SRob Herring linux,input-no-autorepeat; 601*724ba675SRob Herring}; 602*724ba675SRob Herring 603*724ba675SRob Herring&uart2 { 604*724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH 605*724ba675SRob Herring &omap4_pmx_core OMAP4_UART2_RX>; 606*724ba675SRob Herring pinctrl-names = "default"; 607*724ba675SRob Herring pinctrl-0 = <&uart2_pins>; 608*724ba675SRob Herring}; 609*724ba675SRob Herring 610*724ba675SRob Herring&uart3 { 611*724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH 612*724ba675SRob Herring &omap4_pmx_core OMAP4_UART3_RX>; 613*724ba675SRob Herring pinctrl-names = "default"; 614*724ba675SRob Herring pinctrl-0 = <&uart3_pins>; 615*724ba675SRob Herring}; 616*724ba675SRob Herring 617*724ba675SRob Herring&uart4 { 618*724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH 619*724ba675SRob Herring &omap4_pmx_core OMAP4_UART4_RX>; 620*724ba675SRob Herring pinctrl-names = "default"; 621*724ba675SRob Herring pinctrl-0 = <&uart4_pins>; 622*724ba675SRob Herring}; 623*724ba675SRob Herring 624*724ba675SRob Herring&mcbsp1 { 625*724ba675SRob Herring pinctrl-names = "default"; 626*724ba675SRob Herring pinctrl-0 = <&mcbsp1_pins>; 627*724ba675SRob Herring status = "okay"; 628*724ba675SRob Herring}; 629*724ba675SRob Herring 630*724ba675SRob Herring&mcbsp2 { 631*724ba675SRob Herring pinctrl-names = "default"; 632*724ba675SRob Herring pinctrl-0 = <&mcbsp2_pins>; 633*724ba675SRob Herring status = "okay"; 634*724ba675SRob Herring}; 635*724ba675SRob Herring 636*724ba675SRob Herring&dmic { 637*724ba675SRob Herring pinctrl-names = "default"; 638*724ba675SRob Herring pinctrl-0 = <&dmic_pins>; 639*724ba675SRob Herring status = "okay"; 640*724ba675SRob Herring}; 641*724ba675SRob Herring 642*724ba675SRob Herring&twl_usb_comparator { 643*724ba675SRob Herring usb-supply = <&vusb>; 644*724ba675SRob Herring}; 645*724ba675SRob Herring 646*724ba675SRob Herring&usb_otg_hs { 647*724ba675SRob Herring interface-type = <1>; 648*724ba675SRob Herring mode = <3>; 649*724ba675SRob Herring power = <50>; 650*724ba675SRob Herring}; 651*724ba675SRob Herring 652*724ba675SRob Herring&dss { 653*724ba675SRob Herring status = "okay"; 654*724ba675SRob Herring}; 655*724ba675SRob Herring 656*724ba675SRob Herring&dsi1 { 657*724ba675SRob Herring status = "okay"; 658*724ba675SRob Herring vdd-supply = <&vcxio>; 659*724ba675SRob Herring 660*724ba675SRob Herring port { 661*724ba675SRob Herring dsi1_out_ep: endpoint { 662*724ba675SRob Herring remote-endpoint = <&lcd0_in>; 663*724ba675SRob Herring lanes = <0 1 2 3 4 5>; 664*724ba675SRob Herring }; 665*724ba675SRob Herring }; 666*724ba675SRob Herring 667*724ba675SRob Herring lcd0: panel@0 { 668*724ba675SRob Herring compatible = "tpo,taal", "panel-dsi-cm"; 669*724ba675SRob Herring reg = <0>; 670*724ba675SRob Herring label = "lcd0"; 671*724ba675SRob Herring 672*724ba675SRob Herring reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */ 673*724ba675SRob Herring 674*724ba675SRob Herring port { 675*724ba675SRob Herring lcd0_in: endpoint { 676*724ba675SRob Herring remote-endpoint = <&dsi1_out_ep>; 677*724ba675SRob Herring }; 678*724ba675SRob Herring }; 679*724ba675SRob Herring }; 680*724ba675SRob Herring}; 681*724ba675SRob Herring 682*724ba675SRob Herring&dsi2 { 683*724ba675SRob Herring status = "okay"; 684*724ba675SRob Herring vdd-supply = <&vcxio>; 685*724ba675SRob Herring 686*724ba675SRob Herring port { 687*724ba675SRob Herring dsi2_out_ep: endpoint { 688*724ba675SRob Herring remote-endpoint = <&lcd1_in>; 689*724ba675SRob Herring lanes = <0 1 2 3 4 5>; 690*724ba675SRob Herring }; 691*724ba675SRob Herring }; 692*724ba675SRob Herring 693*724ba675SRob Herring lcd1: panel@0 { 694*724ba675SRob Herring compatible = "tpo,taal", "panel-dsi-cm"; 695*724ba675SRob Herring reg = <0>; 696*724ba675SRob Herring label = "lcd1"; 697*724ba675SRob Herring 698*724ba675SRob Herring reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */ 699*724ba675SRob Herring 700*724ba675SRob Herring port { 701*724ba675SRob Herring lcd1_in: endpoint { 702*724ba675SRob Herring remote-endpoint = <&dsi2_out_ep>; 703*724ba675SRob Herring }; 704*724ba675SRob Herring }; 705*724ba675SRob Herring }; 706*724ba675SRob Herring}; 707*724ba675SRob Herring 708*724ba675SRob Herring&hdmi { 709*724ba675SRob Herring status = "okay"; 710*724ba675SRob Herring vdda-supply = <&vdac>; 711*724ba675SRob Herring 712*724ba675SRob Herring port { 713*724ba675SRob Herring hdmi_out: endpoint { 714*724ba675SRob Herring remote-endpoint = <&tpd12s015_in>; 715*724ba675SRob Herring }; 716*724ba675SRob Herring }; 717*724ba675SRob Herring}; 718