1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2015 4*4882a593Smuzhiyun * Nikolaus Schaller <hns@goldelico.com> 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Common device tree include for OpenPandora devices. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun cpus { 13*4882a593Smuzhiyun cpu@0 { 14*4882a593Smuzhiyun cpu0-supply = <&vcc>; 15*4882a593Smuzhiyun }; 16*4882a593Smuzhiyun }; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun memory@80000000 { 19*4882a593Smuzhiyun device_type = "memory"; 20*4882a593Smuzhiyun reg = <0x80000000 0x20000000>; /* 512 MB */ 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun aliases { 24*4882a593Smuzhiyun display0 = &lcd; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* fixed 26MHz oscillator */ 28*4882a593Smuzhiyun hfclk_26m: oscillator { 29*4882a593Smuzhiyun #clock-cells = <0>; 30*4882a593Smuzhiyun compatible = "fixed-clock"; 31*4882a593Smuzhiyun clock-frequency = <26000000>; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun tv: connector { 35*4882a593Smuzhiyun compatible = "connector-analog-tv"; 36*4882a593Smuzhiyun label = "tv"; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun port { 39*4882a593Smuzhiyun tv_connector_in: endpoint { 40*4882a593Smuzhiyun remote-endpoint = <&venc_out>; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun gpio-leds { 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun compatible = "gpio-leds"; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun pinctrl-names = "default"; 50*4882a593Smuzhiyun pinctrl-0 = <&led_pins>; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun led1 { 53*4882a593Smuzhiyun label = "pandora::sd1"; 54*4882a593Smuzhiyun gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* GPIO_128 */ 55*4882a593Smuzhiyun linux,default-trigger = "mmc0"; 56*4882a593Smuzhiyun default-state = "off"; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun led2 { 60*4882a593Smuzhiyun label = "pandora::sd2"; 61*4882a593Smuzhiyun gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* GPIO_129 */ 62*4882a593Smuzhiyun linux,default-trigger = "mmc1"; 63*4882a593Smuzhiyun default-state = "off"; 64*4882a593Smuzhiyun }; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun led3 { 67*4882a593Smuzhiyun label = "pandora::bluetooth"; 68*4882a593Smuzhiyun gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>; /* GPIO_158 */ 69*4882a593Smuzhiyun linux,default-trigger = "heartbeat"; 70*4882a593Smuzhiyun default-state = "off"; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun led4 { 74*4882a593Smuzhiyun label = "pandora::wifi"; 75*4882a593Smuzhiyun gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; /* GPIO_159 */ 76*4882a593Smuzhiyun linux,default-trigger = "mmc2"; 77*4882a593Smuzhiyun default-state = "off"; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun gpio-keys { 82*4882a593Smuzhiyun compatible = "gpio-keys"; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun pinctrl-names = "default"; 85*4882a593Smuzhiyun pinctrl-0 = <&button_pins>; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun up-button { 88*4882a593Smuzhiyun label = "up"; 89*4882a593Smuzhiyun linux,code = <KEY_UP>; 90*4882a593Smuzhiyun gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */ 91*4882a593Smuzhiyun wakeup-source; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun down-button { 95*4882a593Smuzhiyun label = "down"; 96*4882a593Smuzhiyun linux,code = <KEY_DOWN>; 97*4882a593Smuzhiyun gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */ 98*4882a593Smuzhiyun wakeup-source; 99*4882a593Smuzhiyun }; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun left-button { 102*4882a593Smuzhiyun label = "left"; 103*4882a593Smuzhiyun linux,code = <KEY_LEFT>; 104*4882a593Smuzhiyun gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */ 105*4882a593Smuzhiyun wakeup-source; 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun right-button { 109*4882a593Smuzhiyun label = "right"; 110*4882a593Smuzhiyun linux,code = <KEY_RIGHT>; 111*4882a593Smuzhiyun gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */ 112*4882a593Smuzhiyun wakeup-source; 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun pageup-button { 116*4882a593Smuzhiyun label = "game 1"; 117*4882a593Smuzhiyun linux,code = <KEY_PAGEUP>; 118*4882a593Smuzhiyun gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */ 119*4882a593Smuzhiyun wakeup-source; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun pagedown-button { 123*4882a593Smuzhiyun label = "game 3"; 124*4882a593Smuzhiyun linux,code = <KEY_PAGEDOWN>; 125*4882a593Smuzhiyun gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */ 126*4882a593Smuzhiyun wakeup-source; 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun home-button { 130*4882a593Smuzhiyun label = "game 4"; 131*4882a593Smuzhiyun linux,code = <KEY_HOME>; 132*4882a593Smuzhiyun gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */ 133*4882a593Smuzhiyun wakeup-source; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun end-button { 137*4882a593Smuzhiyun label = "game 2"; 138*4882a593Smuzhiyun linux,code = <KEY_END>; 139*4882a593Smuzhiyun gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */ 140*4882a593Smuzhiyun wakeup-source; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun right-shift { 144*4882a593Smuzhiyun label = "l"; 145*4882a593Smuzhiyun linux,code = <KEY_RIGHTSHIFT>; 146*4882a593Smuzhiyun gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */ 147*4882a593Smuzhiyun wakeup-source; 148*4882a593Smuzhiyun }; 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun kp-plus { 151*4882a593Smuzhiyun label = "l2"; 152*4882a593Smuzhiyun linux,code = <KEY_KPPLUS>; 153*4882a593Smuzhiyun gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */ 154*4882a593Smuzhiyun wakeup-source; 155*4882a593Smuzhiyun }; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun right-ctrl { 158*4882a593Smuzhiyun label = "r"; 159*4882a593Smuzhiyun linux,code = <KEY_RIGHTCTRL>; 160*4882a593Smuzhiyun gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */ 161*4882a593Smuzhiyun wakeup-source; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun kp-minus { 165*4882a593Smuzhiyun label = "r2"; 166*4882a593Smuzhiyun linux,code = <KEY_KPMINUS>; 167*4882a593Smuzhiyun gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */ 168*4882a593Smuzhiyun wakeup-source; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun left-ctrl { 172*4882a593Smuzhiyun label = "ctrl"; 173*4882a593Smuzhiyun linux,code = <KEY_LEFTCTRL>; 174*4882a593Smuzhiyun gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */ 175*4882a593Smuzhiyun wakeup-source; 176*4882a593Smuzhiyun }; 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun menu { 179*4882a593Smuzhiyun label = "menu"; 180*4882a593Smuzhiyun linux,code = <KEY_MENU>; 181*4882a593Smuzhiyun gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */ 182*4882a593Smuzhiyun wakeup-source; 183*4882a593Smuzhiyun }; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun hold { 186*4882a593Smuzhiyun label = "hold"; 187*4882a593Smuzhiyun linux,code = <KEY_COFFEE>; 188*4882a593Smuzhiyun gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */ 189*4882a593Smuzhiyun wakeup-source; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun left-alt { 193*4882a593Smuzhiyun label = "alt"; 194*4882a593Smuzhiyun linux,code = <KEY_LEFTALT>; 195*4882a593Smuzhiyun gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */ 196*4882a593Smuzhiyun wakeup-source; 197*4882a593Smuzhiyun }; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun lid { 200*4882a593Smuzhiyun label = "lid"; 201*4882a593Smuzhiyun linux,code = <0x00>; /* SW_LID lid shut */ 202*4882a593Smuzhiyun linux,input-type = <0x05>; /* EV_SW */ 203*4882a593Smuzhiyun gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */ 204*4882a593Smuzhiyun }; 205*4882a593Smuzhiyun }; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun /* HS USB Host PHY on PORT 2 */ 208*4882a593Smuzhiyun hsusb2_phy: hsusb2_phy { 209*4882a593Smuzhiyun compatible = "usb-nop-xceiv"; 210*4882a593Smuzhiyun reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* GPIO_16 */ 211*4882a593Smuzhiyun vcc-supply = <&vaux2>; 212*4882a593Smuzhiyun #phy-cells = <0>; 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun /* HS USB Host VBUS supply 216*4882a593Smuzhiyun * disabling this regulator causes current leakage, and LCD flicker 217*4882a593Smuzhiyun * on earlier (CC) board revisions, so keep it always on */ 218*4882a593Smuzhiyun usb_host_5v: fixed-regulator-usb_host_5v { 219*4882a593Smuzhiyun compatible = "regulator-fixed"; 220*4882a593Smuzhiyun regulator-name = "usb_host_5v"; 221*4882a593Smuzhiyun regulator-min-microvolt = <5000000>; 222*4882a593Smuzhiyun regulator-max-microvolt = <5000000>; 223*4882a593Smuzhiyun regulator-always-on; 224*4882a593Smuzhiyun regulator-boot-on; 225*4882a593Smuzhiyun enable-active-high; 226*4882a593Smuzhiyun gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* GPIO_164 */ 227*4882a593Smuzhiyun }; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun /* wl1251 wifi+bt module */ 230*4882a593Smuzhiyun wlan_en: fixed-regulator-wg7210_en { 231*4882a593Smuzhiyun compatible = "regulator-fixed"; 232*4882a593Smuzhiyun regulator-name = "vwlan"; 233*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 234*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 235*4882a593Smuzhiyun startup-delay-us = <50000>; 236*4882a593Smuzhiyun enable-active-high; 237*4882a593Smuzhiyun gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun /* wg7210 (wifi+bt module) 32k clock buffer */ 241*4882a593Smuzhiyun wg7210_32k: fixed-regulator-wg7210_32k { 242*4882a593Smuzhiyun compatible = "regulator-fixed"; 243*4882a593Smuzhiyun regulator-name = "wg7210_32k"; 244*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 245*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 246*4882a593Smuzhiyun regulator-always-on; 247*4882a593Smuzhiyun enable-active-high; 248*4882a593Smuzhiyun gpio = <&twl_gpio 13 GPIO_ACTIVE_HIGH>; 249*4882a593Smuzhiyun }; 250*4882a593Smuzhiyun}; 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun&omap3_pmx_core { 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun mmc1_pins: pinmux_mmc1_pins { 255*4882a593Smuzhiyun pinctrl-single,pins = < 256*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 257*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 258*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 259*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 260*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 261*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 262*4882a593Smuzhiyun >; 263*4882a593Smuzhiyun }; 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun mmc2_pins: pinmux_mmc2_pins { 266*4882a593Smuzhiyun pinctrl-single,pins = < 267*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ 268*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ 269*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ 270*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ 271*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ 272*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ 273*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dirdat0 */ 274*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dirdat1 */ 275*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dircmd */ 276*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */ 277*4882a593Smuzhiyun >; 278*4882a593Smuzhiyun }; 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun dss_dpi_pins: pinmux_dss_dpi_pins { 281*4882a593Smuzhiyun pinctrl-single,pins = < 282*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 283*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 284*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 285*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 286*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 287*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 288*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 289*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 290*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 291*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 292*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 293*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 294*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 295*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 296*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 297*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 298*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 299*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 300*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 301*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 302*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 303*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 304*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ 305*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ 306*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ 307*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ 308*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ 309*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ 310*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* GPIO_157 = lcd reset */ 311*4882a593Smuzhiyun >; 312*4882a593Smuzhiyun }; 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun uart3_pins: pinmux_uart3_pins { 315*4882a593Smuzhiyun pinctrl-single,pins = < 316*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 317*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 318*4882a593Smuzhiyun >; 319*4882a593Smuzhiyun }; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun led_pins: pinmux_leds_pins { 322*4882a593Smuzhiyun pinctrl-single,pins = < 323*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4) /* GPIO_128 */ 324*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* GPIO_129 */ 325*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4) /* GPIO_158 */ 326*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4) /* GPIO_159 */ 327*4882a593Smuzhiyun >; 328*4882a593Smuzhiyun }; 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun button_pins: pinmux_button_pins { 331*4882a593Smuzhiyun pinctrl-single,pins = < 332*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4) /* GPIO_96 */ 333*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4) /* GPIO_97 */ 334*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4) /* GPIO_98 */ 335*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) /* GPIO_99 */ 336*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) /* GPIO_100 */ 337*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4) /* GPIO_101 */ 338*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4) /* GPIO_102 */ 339*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4) /* GPIO_103 */ 340*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4) /* GPIO_104 */ 341*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4) /* GPIO_105 */ 342*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) /* GPIO_106 */ 343*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) /* GPIO_107 */ 344*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) /* GPIO_108 */ 345*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* GPIO_109 */ 346*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4) /* GPIO_110 */ 347*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4) /* GPIO_111 */ 348*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* GPIO_176 */ 349*4882a593Smuzhiyun >; 350*4882a593Smuzhiyun }; 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun penirq_pins: pinmux_penirq_pins { 353*4882a593Smuzhiyun pinctrl-single,pins = < 354*4882a593Smuzhiyun /* here we could enable to wakeup the cpu from suspend by a pen touch */ 355*4882a593Smuzhiyun OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4) /* GPIO_94 */ 356*4882a593Smuzhiyun >; 357*4882a593Smuzhiyun }; 358*4882a593Smuzhiyun 359*4882a593Smuzhiyun}; 360*4882a593Smuzhiyun 361*4882a593Smuzhiyun&omap3_pmx_core2 { 362*4882a593Smuzhiyun /* define in CPU specific file that includes this one 363*4882a593Smuzhiyun * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD() 364*4882a593Smuzhiyun */ 365*4882a593Smuzhiyun}; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun&i2c1 { 368*4882a593Smuzhiyun clock-frequency = <2600000>; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun twl: twl@48 { 371*4882a593Smuzhiyun reg = <0x48>; 372*4882a593Smuzhiyun interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 373*4882a593Smuzhiyun interrupt-parent = <&intc>; 374*4882a593Smuzhiyun 375*4882a593Smuzhiyun clocks = <&hfclk_26m>; 376*4882a593Smuzhiyun clock-names = "fck"; 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun twl_power: power { 379*4882a593Smuzhiyun compatible = "ti,twl4030-power-reset"; 380*4882a593Smuzhiyun ti,use_poweroff; 381*4882a593Smuzhiyun }; 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun twl_audio: audio { 384*4882a593Smuzhiyun compatible = "ti,twl4030-audio"; 385*4882a593Smuzhiyun 386*4882a593Smuzhiyun codec { 387*4882a593Smuzhiyun ti,ramp_delay_value = <3>; 388*4882a593Smuzhiyun }; 389*4882a593Smuzhiyun }; 390*4882a593Smuzhiyun }; 391*4882a593Smuzhiyun}; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun#include "twl4030.dtsi" 394*4882a593Smuzhiyun#include "twl4030_omap3.dtsi" 395*4882a593Smuzhiyun 396*4882a593Smuzhiyun&twl_keypad { 397*4882a593Smuzhiyun keypad,num-rows = <8>; 398*4882a593Smuzhiyun keypad,num-columns = <6>; 399*4882a593Smuzhiyun linux,keymap = < 400*4882a593Smuzhiyun MATRIX_KEY(0, 0, KEY_9) 401*4882a593Smuzhiyun MATRIX_KEY(0, 1, KEY_8) 402*4882a593Smuzhiyun MATRIX_KEY(0, 2, KEY_I) 403*4882a593Smuzhiyun MATRIX_KEY(0, 3, KEY_J) 404*4882a593Smuzhiyun MATRIX_KEY(0, 4, KEY_N) 405*4882a593Smuzhiyun MATRIX_KEY(0, 5, KEY_M) 406*4882a593Smuzhiyun MATRIX_KEY(1, 0, KEY_0) 407*4882a593Smuzhiyun MATRIX_KEY(1, 1, KEY_7) 408*4882a593Smuzhiyun MATRIX_KEY(1, 2, KEY_U) 409*4882a593Smuzhiyun MATRIX_KEY(1, 3, KEY_H) 410*4882a593Smuzhiyun MATRIX_KEY(1, 4, KEY_B) 411*4882a593Smuzhiyun MATRIX_KEY(1, 5, KEY_SPACE) 412*4882a593Smuzhiyun MATRIX_KEY(2, 0, KEY_BACKSPACE) 413*4882a593Smuzhiyun MATRIX_KEY(2, 1, KEY_6) 414*4882a593Smuzhiyun MATRIX_KEY(2, 2, KEY_Y) 415*4882a593Smuzhiyun MATRIX_KEY(2, 3, KEY_G) 416*4882a593Smuzhiyun MATRIX_KEY(2, 4, KEY_V) 417*4882a593Smuzhiyun MATRIX_KEY(2, 5, KEY_FN) 418*4882a593Smuzhiyun MATRIX_KEY(3, 0, KEY_O) 419*4882a593Smuzhiyun MATRIX_KEY(3, 1, KEY_5) 420*4882a593Smuzhiyun MATRIX_KEY(3, 2, KEY_T) 421*4882a593Smuzhiyun MATRIX_KEY(3, 3, KEY_F) 422*4882a593Smuzhiyun MATRIX_KEY(3, 4, KEY_C) 423*4882a593Smuzhiyun MATRIX_KEY(4, 0, KEY_P) 424*4882a593Smuzhiyun MATRIX_KEY(4, 1, KEY_4) 425*4882a593Smuzhiyun MATRIX_KEY(4, 2, KEY_R) 426*4882a593Smuzhiyun MATRIX_KEY(4, 3, KEY_D) 427*4882a593Smuzhiyun MATRIX_KEY(4, 4, KEY_X) 428*4882a593Smuzhiyun MATRIX_KEY(5, 0, KEY_K) 429*4882a593Smuzhiyun MATRIX_KEY(5, 1, KEY_3) 430*4882a593Smuzhiyun MATRIX_KEY(5, 2, KEY_E) 431*4882a593Smuzhiyun MATRIX_KEY(5, 3, KEY_S) 432*4882a593Smuzhiyun MATRIX_KEY(5, 4, KEY_Z) 433*4882a593Smuzhiyun MATRIX_KEY(6, 0, KEY_L) 434*4882a593Smuzhiyun MATRIX_KEY(6, 1, KEY_2) 435*4882a593Smuzhiyun MATRIX_KEY(6, 2, KEY_W) 436*4882a593Smuzhiyun MATRIX_KEY(6, 3, KEY_A) 437*4882a593Smuzhiyun MATRIX_KEY(6, 4, KEY_RIGHTBRACE) 438*4882a593Smuzhiyun MATRIX_KEY(7, 0, KEY_ENTER) 439*4882a593Smuzhiyun MATRIX_KEY(7, 1, KEY_1) 440*4882a593Smuzhiyun MATRIX_KEY(7, 2, KEY_Q) 441*4882a593Smuzhiyun MATRIX_KEY(7, 3, KEY_LEFTSHIFT) 442*4882a593Smuzhiyun MATRIX_KEY(7, 4, KEY_LEFTBRACE ) 443*4882a593Smuzhiyun >; 444*4882a593Smuzhiyun}; 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun/* backup battery charger */ 447*4882a593Smuzhiyun&charger { 448*4882a593Smuzhiyun ti,bb-uvolt = <3200000>; 449*4882a593Smuzhiyun ti,bb-uamp = <150>; 450*4882a593Smuzhiyun}; 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun/* MMC2 */ 453*4882a593Smuzhiyun&vmmc2 { 454*4882a593Smuzhiyun regulator-min-microvolt = <1850000>; 455*4882a593Smuzhiyun regulator-max-microvolt = <3150000>; 456*4882a593Smuzhiyun}; 457*4882a593Smuzhiyun 458*4882a593Smuzhiyun/* LCD */ 459*4882a593Smuzhiyun&vaux1 { 460*4882a593Smuzhiyun regulator-min-microvolt = <3000000>; 461*4882a593Smuzhiyun regulator-max-microvolt = <3000000>; 462*4882a593Smuzhiyun}; 463*4882a593Smuzhiyun 464*4882a593Smuzhiyun/* USB Host PHY */ 465*4882a593Smuzhiyun&vaux2 { 466*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 467*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 468*4882a593Smuzhiyun}; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun/* available on expansion connector */ 471*4882a593Smuzhiyun&vaux3 { 472*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 473*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 474*4882a593Smuzhiyun}; 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun/* ADS7846 and nubs */ 477*4882a593Smuzhiyun&vaux4 { 478*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 479*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 480*4882a593Smuzhiyun}; 481*4882a593Smuzhiyun 482*4882a593Smuzhiyun/* power audio DAC and LID sensor */ 483*4882a593Smuzhiyun&vsim { 484*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 485*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 486*4882a593Smuzhiyun regulator-always-on; 487*4882a593Smuzhiyun}; 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun&i2c2 { 490*4882a593Smuzhiyun clock-frequency = <100000>; 491*4882a593Smuzhiyun /* no clients so we should disable clock */ 492*4882a593Smuzhiyun}; 493*4882a593Smuzhiyun 494*4882a593Smuzhiyun&i2c3 { 495*4882a593Smuzhiyun clock-frequency = <100000>; 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun bq27500@55 { 498*4882a593Smuzhiyun compatible = "ti,bq27500"; 499*4882a593Smuzhiyun reg = <0x55>; 500*4882a593Smuzhiyun }; 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun}; 503*4882a593Smuzhiyun 504*4882a593Smuzhiyun&usb_otg_hs { 505*4882a593Smuzhiyun interface-type = <0>; 506*4882a593Smuzhiyun usb-phy = <&usb2_phy>; 507*4882a593Smuzhiyun phys = <&usb2_phy>; 508*4882a593Smuzhiyun phy-names = "usb2-phy"; 509*4882a593Smuzhiyun mode = <3>; 510*4882a593Smuzhiyun power = <50>; 511*4882a593Smuzhiyun}; 512*4882a593Smuzhiyun 513*4882a593Smuzhiyun/* 514*4882a593Smuzhiyun * Many pandora boards have been produced with defective write-protect switches 515*4882a593Smuzhiyun * on either slot, so it was decided not to use this feature. If you know 516*4882a593Smuzhiyun * your board has good switches, feel free to uncomment wp-gpios below. 517*4882a593Smuzhiyun */ 518*4882a593Smuzhiyun&mmc1 { 519*4882a593Smuzhiyun pinctrl-names = "default"; 520*4882a593Smuzhiyun pinctrl-0 = <&mmc1_pins>; 521*4882a593Smuzhiyun vmmc-supply = <&vmmc1>; 522*4882a593Smuzhiyun bus-width = <4>; 523*4882a593Smuzhiyun cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; 524*4882a593Smuzhiyun /*wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;*/ /* GPIO_126 */ 525*4882a593Smuzhiyun}; 526*4882a593Smuzhiyun 527*4882a593Smuzhiyun&mmc2 { 528*4882a593Smuzhiyun pinctrl-names = "default"; 529*4882a593Smuzhiyun pinctrl-0 = <&mmc2_pins>; 530*4882a593Smuzhiyun vmmc-supply = <&vmmc2>; 531*4882a593Smuzhiyun bus-width = <4>; 532*4882a593Smuzhiyun cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>; 533*4882a593Smuzhiyun /*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/ /* GPIO_127 */ 534*4882a593Smuzhiyun}; 535*4882a593Smuzhiyun 536*4882a593Smuzhiyun&mmc3 { 537*4882a593Smuzhiyun vmmc-supply = <&wlan_en>; 538*4882a593Smuzhiyun 539*4882a593Smuzhiyun bus-width = <4>; 540*4882a593Smuzhiyun non-removable; 541*4882a593Smuzhiyun ti,non-removable; 542*4882a593Smuzhiyun cap-power-off-card; 543*4882a593Smuzhiyun 544*4882a593Smuzhiyun pinctrl-names = "default"; 545*4882a593Smuzhiyun pinctrl-0 = <&mmc3_pins>; 546*4882a593Smuzhiyun 547*4882a593Smuzhiyun #address-cells = <1>; 548*4882a593Smuzhiyun #size-cells = <0>; 549*4882a593Smuzhiyun 550*4882a593Smuzhiyun wlan: wifi@1 { 551*4882a593Smuzhiyun compatible = "ti,wl1251"; 552*4882a593Smuzhiyun 553*4882a593Smuzhiyun reg = <1>; 554*4882a593Smuzhiyun 555*4882a593Smuzhiyun interrupt-parent = <&gpio1>; 556*4882a593Smuzhiyun interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_21 */ 557*4882a593Smuzhiyun 558*4882a593Smuzhiyun ti,wl1251-has-eeprom; 559*4882a593Smuzhiyun }; 560*4882a593Smuzhiyun}; 561*4882a593Smuzhiyun 562*4882a593Smuzhiyun/* bluetooth*/ 563*4882a593Smuzhiyun&uart1 { 564*4882a593Smuzhiyun}; 565*4882a593Smuzhiyun 566*4882a593Smuzhiyun/* spare (expansion connector) */ 567*4882a593Smuzhiyun&uart2 { 568*4882a593Smuzhiyun}; 569*4882a593Smuzhiyun 570*4882a593Smuzhiyun/* console (expansion connector) */ 571*4882a593Smuzhiyun&uart3 { 572*4882a593Smuzhiyun pinctrl-names = "default"; 573*4882a593Smuzhiyun pinctrl-0 = <&uart3_pins>; 574*4882a593Smuzhiyun interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 575*4882a593Smuzhiyun}; 576*4882a593Smuzhiyun 577*4882a593Smuzhiyun&usbhshost { 578*4882a593Smuzhiyun port2-mode = "ehci-phy"; 579*4882a593Smuzhiyun}; 580*4882a593Smuzhiyun 581*4882a593Smuzhiyun&usbhsehci { 582*4882a593Smuzhiyun phys = <0 &hsusb2_phy>; 583*4882a593Smuzhiyun}; 584*4882a593Smuzhiyun 585*4882a593Smuzhiyun&gpmc { 586*4882a593Smuzhiyun ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ 587*4882a593Smuzhiyun 588*4882a593Smuzhiyun nand@0,0 { 589*4882a593Smuzhiyun compatible = "ti,omap2-nand"; 590*4882a593Smuzhiyun reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 591*4882a593Smuzhiyun interrupt-parent = <&gpmc>; 592*4882a593Smuzhiyun interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 593*4882a593Smuzhiyun <1 IRQ_TYPE_NONE>; /* termcount */ 594*4882a593Smuzhiyun nand-bus-width = <16>; 595*4882a593Smuzhiyun ti,nand-ecc-opt = "sw"; 596*4882a593Smuzhiyun 597*4882a593Smuzhiyun gpmc,sync-clk-ps = <0>; 598*4882a593Smuzhiyun gpmc,cs-on-ns = <0>; 599*4882a593Smuzhiyun gpmc,cs-rd-off-ns = <44>; 600*4882a593Smuzhiyun gpmc,cs-wr-off-ns = <44>; 601*4882a593Smuzhiyun gpmc,adv-on-ns = <6>; 602*4882a593Smuzhiyun gpmc,adv-rd-off-ns = <34>; 603*4882a593Smuzhiyun gpmc,adv-wr-off-ns = <44>; 604*4882a593Smuzhiyun gpmc,we-off-ns = <40>; 605*4882a593Smuzhiyun gpmc,oe-off-ns = <54>; 606*4882a593Smuzhiyun gpmc,access-ns = <64>; 607*4882a593Smuzhiyun gpmc,rd-cycle-ns = <82>; 608*4882a593Smuzhiyun gpmc,wr-cycle-ns = <82>; 609*4882a593Smuzhiyun gpmc,wr-access-ns = <40>; 610*4882a593Smuzhiyun gpmc,wr-data-mux-bus-ns = <0>; 611*4882a593Smuzhiyun gpmc,device-width = <2>; 612*4882a593Smuzhiyun 613*4882a593Smuzhiyun #address-cells = <1>; 614*4882a593Smuzhiyun #size-cells = <1>; 615*4882a593Smuzhiyun 616*4882a593Smuzhiyun /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */ 617*4882a593Smuzhiyun 618*4882a593Smuzhiyun x-loader@0 { 619*4882a593Smuzhiyun label = "xloader"; 620*4882a593Smuzhiyun reg = <0 0x80000>; 621*4882a593Smuzhiyun }; 622*4882a593Smuzhiyun 623*4882a593Smuzhiyun bootloaders@80000 { 624*4882a593Smuzhiyun label = "uboot"; 625*4882a593Smuzhiyun reg = <0x80000 0x1e0000>; 626*4882a593Smuzhiyun }; 627*4882a593Smuzhiyun 628*4882a593Smuzhiyun bootloaders_env@260000 { 629*4882a593Smuzhiyun label = "uboot-env"; 630*4882a593Smuzhiyun reg = <0x260000 0x20000>; 631*4882a593Smuzhiyun }; 632*4882a593Smuzhiyun 633*4882a593Smuzhiyun kernel@280000 { 634*4882a593Smuzhiyun label = "boot"; 635*4882a593Smuzhiyun reg = <0x280000 0xa00000>; 636*4882a593Smuzhiyun }; 637*4882a593Smuzhiyun 638*4882a593Smuzhiyun filesystem@c80000 { 639*4882a593Smuzhiyun label = "rootfs"; 640*4882a593Smuzhiyun reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */ 641*4882a593Smuzhiyun }; 642*4882a593Smuzhiyun }; 643*4882a593Smuzhiyun}; 644*4882a593Smuzhiyun 645*4882a593Smuzhiyun&mcspi1 { 646*4882a593Smuzhiyun tsc2046@0 { 647*4882a593Smuzhiyun reg = <0>; /* CS0 */ 648*4882a593Smuzhiyun compatible = "ti,tsc2046"; 649*4882a593Smuzhiyun spi-max-frequency = <1000000>; 650*4882a593Smuzhiyun pinctrl-names = "default"; 651*4882a593Smuzhiyun pinctrl-0 = <&penirq_pins>; 652*4882a593Smuzhiyun interrupt-parent = <&gpio3>; 653*4882a593Smuzhiyun interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */ 654*4882a593Smuzhiyun pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>; 655*4882a593Smuzhiyun vcc-supply = <&vaux4>; 656*4882a593Smuzhiyun 657*4882a593Smuzhiyun ti,x-min = /bits/ 16 <0>; 658*4882a593Smuzhiyun ti,x-max = /bits/ 16 <8000>; 659*4882a593Smuzhiyun ti,y-min = /bits/ 16 <0>; 660*4882a593Smuzhiyun ti,y-max = /bits/ 16 <4800>; 661*4882a593Smuzhiyun ti,x-plate-ohms = /bits/ 16 <40>; 662*4882a593Smuzhiyun ti,pressure-max = /bits/ 16 <255>; 663*4882a593Smuzhiyun 664*4882a593Smuzhiyun wakeup-source; 665*4882a593Smuzhiyun }; 666*4882a593Smuzhiyun 667*4882a593Smuzhiyun lcd: lcd@1 { 668*4882a593Smuzhiyun reg = <1>; /* CS1 */ 669*4882a593Smuzhiyun compatible = "tpo,td043mtea1"; 670*4882a593Smuzhiyun spi-max-frequency = <100000>; 671*4882a593Smuzhiyun spi-cpol; 672*4882a593Smuzhiyun spi-cpha; 673*4882a593Smuzhiyun 674*4882a593Smuzhiyun label = "lcd"; 675*4882a593Smuzhiyun reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; /* GPIO_157 */ 676*4882a593Smuzhiyun vcc-supply = <&vaux1>; 677*4882a593Smuzhiyun 678*4882a593Smuzhiyun port { 679*4882a593Smuzhiyun lcd_in: endpoint { 680*4882a593Smuzhiyun remote-endpoint = <&dpi_out>; 681*4882a593Smuzhiyun }; 682*4882a593Smuzhiyun }; 683*4882a593Smuzhiyun }; 684*4882a593Smuzhiyun 685*4882a593Smuzhiyun 686*4882a593Smuzhiyun}; 687*4882a593Smuzhiyun 688*4882a593Smuzhiyun/* n/a - used as GPIOs */ 689*4882a593Smuzhiyun&mcbsp1 { 690*4882a593Smuzhiyun}; 691*4882a593Smuzhiyun 692*4882a593Smuzhiyun/* audio DAC */ 693*4882a593Smuzhiyun&mcbsp2 { 694*4882a593Smuzhiyun}; 695*4882a593Smuzhiyun 696*4882a593Smuzhiyun/* bluetooth */ 697*4882a593Smuzhiyun&mcbsp3 { 698*4882a593Smuzhiyun}; 699*4882a593Smuzhiyun 700*4882a593Smuzhiyun/* to twl4030*/ 701*4882a593Smuzhiyun&mcbsp4 { 702*4882a593Smuzhiyun}; 703*4882a593Smuzhiyun 704*4882a593Smuzhiyun&venc { 705*4882a593Smuzhiyun status = "okay"; 706*4882a593Smuzhiyun 707*4882a593Smuzhiyun vdda-supply = <&vdac>; 708*4882a593Smuzhiyun 709*4882a593Smuzhiyun port { 710*4882a593Smuzhiyun venc_out: endpoint { 711*4882a593Smuzhiyun remote-endpoint = <&tv_connector_in>; 712*4882a593Smuzhiyun ti,channels = <2>; 713*4882a593Smuzhiyun }; 714*4882a593Smuzhiyun }; 715*4882a593Smuzhiyun}; 716*4882a593Smuzhiyun 717*4882a593Smuzhiyun&dss { 718*4882a593Smuzhiyun pinctrl-names = "default"; 719*4882a593Smuzhiyun pinctrl-0 = < &dss_dpi_pins >; 720*4882a593Smuzhiyun 721*4882a593Smuzhiyun status = "okay"; 722*4882a593Smuzhiyun vdds_dsi-supply = <&vpll2>; 723*4882a593Smuzhiyun 724*4882a593Smuzhiyun port { 725*4882a593Smuzhiyun dpi_out: endpoint { 726*4882a593Smuzhiyun remote-endpoint = <&lcd_in>; 727*4882a593Smuzhiyun data-lines = <24>; 728*4882a593Smuzhiyun }; 729*4882a593Smuzhiyun }; 730*4882a593Smuzhiyun}; 731