1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2015 4724ba675SRob Herring * Nikolaus Schaller <hns@goldelico.com> 5724ba675SRob Herring * 6724ba675SRob Herring * Common device tree include for OpenPandora devices. 7724ba675SRob Herring */ 8724ba675SRob Herring 9724ba675SRob Herring#include <dt-bindings/input/input.h> 10724ba675SRob Herring 11724ba675SRob Herring/ { 12724ba675SRob Herring cpus { 13724ba675SRob Herring cpu@0 { 14724ba675SRob Herring cpu0-supply = <&vcc>; 15724ba675SRob Herring }; 16724ba675SRob Herring }; 17724ba675SRob Herring 18724ba675SRob Herring memory@80000000 { 19724ba675SRob Herring device_type = "memory"; 20724ba675SRob Herring reg = <0x80000000 0x20000000>; /* 512 MB */ 21724ba675SRob Herring }; 22724ba675SRob Herring 23724ba675SRob Herring aliases { 24724ba675SRob Herring display0 = &lcd; 25724ba675SRob Herring }; 26724ba675SRob Herring 27724ba675SRob Herring /* fixed 26MHz oscillator */ 28724ba675SRob Herring hfclk_26m: oscillator { 29724ba675SRob Herring #clock-cells = <0>; 30724ba675SRob Herring compatible = "fixed-clock"; 31724ba675SRob Herring clock-frequency = <26000000>; 32724ba675SRob Herring }; 33724ba675SRob Herring 34724ba675SRob Herring tv: connector { 35724ba675SRob Herring compatible = "connector-analog-tv"; 36724ba675SRob Herring label = "tv"; 37724ba675SRob Herring 38724ba675SRob Herring port { 39724ba675SRob Herring tv_connector_in: endpoint { 40724ba675SRob Herring remote-endpoint = <&venc_out>; 41724ba675SRob Herring }; 42724ba675SRob Herring }; 43724ba675SRob Herring }; 44724ba675SRob Herring 45724ba675SRob Herring gpio-leds { 46724ba675SRob Herring 47724ba675SRob Herring compatible = "gpio-leds"; 48724ba675SRob Herring 49724ba675SRob Herring pinctrl-names = "default"; 50724ba675SRob Herring pinctrl-0 = <&led_pins>; 51724ba675SRob Herring 52724ba675SRob Herring led1 { 53724ba675SRob Herring label = "pandora::sd1"; 54724ba675SRob Herring gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* GPIO_128 */ 55724ba675SRob Herring linux,default-trigger = "mmc0"; 56724ba675SRob Herring default-state = "off"; 57724ba675SRob Herring }; 58724ba675SRob Herring 59724ba675SRob Herring led2 { 60724ba675SRob Herring label = "pandora::sd2"; 61724ba675SRob Herring gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* GPIO_129 */ 62724ba675SRob Herring linux,default-trigger = "mmc1"; 63724ba675SRob Herring default-state = "off"; 64724ba675SRob Herring }; 65724ba675SRob Herring 66724ba675SRob Herring led3 { 67724ba675SRob Herring label = "pandora::bluetooth"; 68724ba675SRob Herring gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>; /* GPIO_158 */ 69724ba675SRob Herring linux,default-trigger = "heartbeat"; 70724ba675SRob Herring default-state = "off"; 71724ba675SRob Herring }; 72724ba675SRob Herring 73724ba675SRob Herring led4 { 74724ba675SRob Herring label = "pandora::wifi"; 75724ba675SRob Herring gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; /* GPIO_159 */ 76724ba675SRob Herring linux,default-trigger = "mmc2"; 77724ba675SRob Herring default-state = "off"; 78724ba675SRob Herring }; 79724ba675SRob Herring }; 80724ba675SRob Herring 81724ba675SRob Herring gpio-keys { 82724ba675SRob Herring compatible = "gpio-keys"; 83724ba675SRob Herring 84724ba675SRob Herring pinctrl-names = "default"; 85724ba675SRob Herring pinctrl-0 = <&button_pins>; 86724ba675SRob Herring 87724ba675SRob Herring up-button { 88724ba675SRob Herring label = "up"; 89724ba675SRob Herring linux,code = <KEY_UP>; 90724ba675SRob Herring gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */ 91724ba675SRob Herring wakeup-source; 92724ba675SRob Herring }; 93724ba675SRob Herring 94724ba675SRob Herring down-button { 95724ba675SRob Herring label = "down"; 96724ba675SRob Herring linux,code = <KEY_DOWN>; 97724ba675SRob Herring gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */ 98724ba675SRob Herring wakeup-source; 99724ba675SRob Herring }; 100724ba675SRob Herring 101724ba675SRob Herring left-button { 102724ba675SRob Herring label = "left"; 103724ba675SRob Herring linux,code = <KEY_LEFT>; 104724ba675SRob Herring gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */ 105724ba675SRob Herring wakeup-source; 106724ba675SRob Herring }; 107724ba675SRob Herring 108724ba675SRob Herring right-button { 109724ba675SRob Herring label = "right"; 110724ba675SRob Herring linux,code = <KEY_RIGHT>; 111724ba675SRob Herring gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */ 112724ba675SRob Herring wakeup-source; 113724ba675SRob Herring }; 114724ba675SRob Herring 115724ba675SRob Herring pageup-button { 116724ba675SRob Herring label = "game 1"; 117724ba675SRob Herring linux,code = <KEY_PAGEUP>; 118724ba675SRob Herring gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */ 119724ba675SRob Herring wakeup-source; 120724ba675SRob Herring }; 121724ba675SRob Herring 122724ba675SRob Herring pagedown-button { 123724ba675SRob Herring label = "game 3"; 124724ba675SRob Herring linux,code = <KEY_PAGEDOWN>; 125724ba675SRob Herring gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */ 126724ba675SRob Herring wakeup-source; 127724ba675SRob Herring }; 128724ba675SRob Herring 129724ba675SRob Herring home-button { 130724ba675SRob Herring label = "game 4"; 131724ba675SRob Herring linux,code = <KEY_HOME>; 132724ba675SRob Herring gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */ 133724ba675SRob Herring wakeup-source; 134724ba675SRob Herring }; 135724ba675SRob Herring 136724ba675SRob Herring end-button { 137724ba675SRob Herring label = "game 2"; 138724ba675SRob Herring linux,code = <KEY_END>; 139724ba675SRob Herring gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */ 140724ba675SRob Herring wakeup-source; 141724ba675SRob Herring }; 142724ba675SRob Herring 143724ba675SRob Herring right-shift { 144724ba675SRob Herring label = "l"; 145724ba675SRob Herring linux,code = <KEY_RIGHTSHIFT>; 146724ba675SRob Herring gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */ 147724ba675SRob Herring wakeup-source; 148724ba675SRob Herring }; 149724ba675SRob Herring 150724ba675SRob Herring kp-plus { 151724ba675SRob Herring label = "l2"; 152724ba675SRob Herring linux,code = <KEY_KPPLUS>; 153724ba675SRob Herring gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */ 154724ba675SRob Herring wakeup-source; 155724ba675SRob Herring }; 156724ba675SRob Herring 157724ba675SRob Herring right-ctrl { 158724ba675SRob Herring label = "r"; 159724ba675SRob Herring linux,code = <KEY_RIGHTCTRL>; 160724ba675SRob Herring gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */ 161724ba675SRob Herring wakeup-source; 162724ba675SRob Herring }; 163724ba675SRob Herring 164724ba675SRob Herring kp-minus { 165724ba675SRob Herring label = "r2"; 166724ba675SRob Herring linux,code = <KEY_KPMINUS>; 167724ba675SRob Herring gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */ 168724ba675SRob Herring wakeup-source; 169724ba675SRob Herring }; 170724ba675SRob Herring 171724ba675SRob Herring left-ctrl { 172724ba675SRob Herring label = "ctrl"; 173724ba675SRob Herring linux,code = <KEY_LEFTCTRL>; 174724ba675SRob Herring gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */ 175724ba675SRob Herring wakeup-source; 176724ba675SRob Herring }; 177724ba675SRob Herring 178724ba675SRob Herring menu { 179724ba675SRob Herring label = "menu"; 180724ba675SRob Herring linux,code = <KEY_MENU>; 181724ba675SRob Herring gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */ 182724ba675SRob Herring wakeup-source; 183724ba675SRob Herring }; 184724ba675SRob Herring 185724ba675SRob Herring hold { 186724ba675SRob Herring label = "hold"; 187724ba675SRob Herring linux,code = <KEY_COFFEE>; 188724ba675SRob Herring gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */ 189724ba675SRob Herring wakeup-source; 190724ba675SRob Herring }; 191724ba675SRob Herring 192724ba675SRob Herring left-alt { 193724ba675SRob Herring label = "alt"; 194724ba675SRob Herring linux,code = <KEY_LEFTALT>; 195724ba675SRob Herring gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */ 196724ba675SRob Herring wakeup-source; 197724ba675SRob Herring }; 198724ba675SRob Herring 199724ba675SRob Herring lid { 200724ba675SRob Herring label = "lid"; 201724ba675SRob Herring linux,code = <0x00>; /* SW_LID lid shut */ 202724ba675SRob Herring linux,input-type = <0x05>; /* EV_SW */ 203724ba675SRob Herring gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */ 204724ba675SRob Herring }; 205724ba675SRob Herring }; 206724ba675SRob Herring 207724ba675SRob Herring /* HS USB Host PHY on PORT 2 */ 208724ba675SRob Herring hsusb2_phy: hsusb2-phy-pins { 209724ba675SRob Herring compatible = "usb-nop-xceiv"; 210724ba675SRob Herring reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* GPIO_16 */ 211724ba675SRob Herring vcc-supply = <&vaux2>; 212724ba675SRob Herring #phy-cells = <0>; 213724ba675SRob Herring }; 214724ba675SRob Herring 215724ba675SRob Herring /* HS USB Host VBUS supply 216724ba675SRob Herring * disabling this regulator causes current leakage, and LCD flicker 217724ba675SRob Herring * on earlier (CC) board revisions, so keep it always on */ 218724ba675SRob Herring usb_host_5v: fixed-regulator-usb_host_5v { 219724ba675SRob Herring compatible = "regulator-fixed"; 220724ba675SRob Herring regulator-name = "usb_host_5v"; 221724ba675SRob Herring regulator-min-microvolt = <5000000>; 222724ba675SRob Herring regulator-max-microvolt = <5000000>; 223724ba675SRob Herring regulator-always-on; 224724ba675SRob Herring regulator-boot-on; 225724ba675SRob Herring enable-active-high; 226724ba675SRob Herring gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* GPIO_164 */ 227724ba675SRob Herring }; 228724ba675SRob Herring 229724ba675SRob Herring /* wl1251 wifi+bt module */ 230724ba675SRob Herring wlan_en: fixed-regulator-wg7210_en { 231724ba675SRob Herring compatible = "regulator-fixed"; 232724ba675SRob Herring regulator-name = "vwlan"; 233724ba675SRob Herring regulator-min-microvolt = <1800000>; 234724ba675SRob Herring regulator-max-microvolt = <1800000>; 235724ba675SRob Herring startup-delay-us = <50000>; 236724ba675SRob Herring enable-active-high; 237724ba675SRob Herring gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>; 238724ba675SRob Herring }; 239724ba675SRob Herring 240724ba675SRob Herring /* wg7210 (wifi+bt module) 32k clock buffer */ 241724ba675SRob Herring wg7210_32k: fixed-regulator-wg7210_32k { 242724ba675SRob Herring compatible = "regulator-fixed"; 243724ba675SRob Herring regulator-name = "wg7210_32k"; 244724ba675SRob Herring regulator-min-microvolt = <1800000>; 245724ba675SRob Herring regulator-max-microvolt = <1800000>; 246724ba675SRob Herring regulator-always-on; 247724ba675SRob Herring enable-active-high; 248724ba675SRob Herring gpio = <&twl_gpio 13 GPIO_ACTIVE_HIGH>; 249724ba675SRob Herring }; 250724ba675SRob Herring}; 251724ba675SRob Herring 252724ba675SRob Herring&omap3_pmx_core { 253724ba675SRob Herring 254724ba675SRob Herring mmc1_pins: mmc1-pins { 255724ba675SRob Herring pinctrl-single,pins = < 256724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ 257724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ 258724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ 259724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ 260724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ 261724ba675SRob Herring OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ 262724ba675SRob Herring >; 263724ba675SRob Herring }; 264724ba675SRob Herring 265724ba675SRob Herring mmc2_pins: mmc2-pins { 266724ba675SRob Herring pinctrl-single,pins = < 267724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */ 268724ba675SRob Herring OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */ 269724ba675SRob Herring OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */ 270724ba675SRob Herring OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */ 271724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */ 272724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */ 273724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dirdat0 */ 274724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dirdat1 */ 275724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dircmd */ 276724ba675SRob Herring OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */ 277724ba675SRob Herring >; 278724ba675SRob Herring }; 279724ba675SRob Herring 280724ba675SRob Herring dss_dpi_pins: dss-dpi-pins { 281724ba675SRob Herring pinctrl-single,pins = < 282724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 283724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 284724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 285724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 286724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 287724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 288724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 289724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 290724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 291724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 292724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 293724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 294724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 295724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 296724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 297724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 298724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 299724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 300724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 301724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 302724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 303724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 304724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ 305724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ 306724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ 307724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ 308724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ 309724ba675SRob Herring OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ 310724ba675SRob Herring OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* GPIO_157 = lcd reset */ 311724ba675SRob Herring >; 312724ba675SRob Herring }; 313724ba675SRob Herring 314724ba675SRob Herring uart3_pins: uart3-pins { 315724ba675SRob Herring pinctrl-single,pins = < 316724ba675SRob Herring OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ 317724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ 318724ba675SRob Herring >; 319724ba675SRob Herring }; 320724ba675SRob Herring 321724ba675SRob Herring led_pins: leds-pins { 322724ba675SRob Herring pinctrl-single,pins = < 323724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4) /* GPIO_128 */ 324724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* GPIO_129 */ 325724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4) /* GPIO_158 */ 326724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4) /* GPIO_159 */ 327724ba675SRob Herring >; 328724ba675SRob Herring }; 329724ba675SRob Herring 330724ba675SRob Herring button_pins: button-pins { 331724ba675SRob Herring pinctrl-single,pins = < 332724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4) /* GPIO_96 */ 333724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4) /* GPIO_97 */ 334724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4) /* GPIO_98 */ 335724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) /* GPIO_99 */ 336724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) /* GPIO_100 */ 337724ba675SRob Herring OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4) /* GPIO_101 */ 338724ba675SRob Herring OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4) /* GPIO_102 */ 339724ba675SRob Herring OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4) /* GPIO_103 */ 340724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4) /* GPIO_104 */ 341724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4) /* GPIO_105 */ 342724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) /* GPIO_106 */ 343724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) /* GPIO_107 */ 344724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) /* GPIO_108 */ 345724ba675SRob Herring OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* GPIO_109 */ 346724ba675SRob Herring OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4) /* GPIO_110 */ 347724ba675SRob Herring OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4) /* GPIO_111 */ 348724ba675SRob Herring OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* GPIO_176 */ 349724ba675SRob Herring >; 350724ba675SRob Herring }; 351724ba675SRob Herring 352724ba675SRob Herring penirq_pins: penirq-pins { 353724ba675SRob Herring pinctrl-single,pins = < 354724ba675SRob Herring /* here we could enable to wakeup the cpu from suspend by a pen touch */ 355724ba675SRob Herring OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4) /* GPIO_94 */ 356724ba675SRob Herring >; 357724ba675SRob Herring }; 358724ba675SRob Herring 359724ba675SRob Herring}; 360724ba675SRob Herring 361724ba675SRob Herring&omap3_pmx_core2 { 362724ba675SRob Herring /* define in CPU specific file that includes this one 363724ba675SRob Herring * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD() 364724ba675SRob Herring */ 365724ba675SRob Herring}; 366724ba675SRob Herring 367724ba675SRob Herring&i2c1 { 368724ba675SRob Herring clock-frequency = <2600000>; 369724ba675SRob Herring 370724ba675SRob Herring twl: twl@48 { 371724ba675SRob Herring reg = <0x48>; 372724ba675SRob Herring interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 373724ba675SRob Herring interrupt-parent = <&intc>; 374724ba675SRob Herring 375724ba675SRob Herring clocks = <&hfclk_26m>; 376724ba675SRob Herring clock-names = "fck"; 377724ba675SRob Herring 378724ba675SRob Herring twl_power: power { 379724ba675SRob Herring compatible = "ti,twl4030-power-reset"; 380724ba675SRob Herring ti,use_poweroff; 381724ba675SRob Herring }; 382724ba675SRob Herring 383724ba675SRob Herring twl_audio: audio { 384724ba675SRob Herring compatible = "ti,twl4030-audio"; 385724ba675SRob Herring 386724ba675SRob Herring codec { 387724ba675SRob Herring ti,ramp_delay_value = <3>; 388724ba675SRob Herring }; 389724ba675SRob Herring }; 390724ba675SRob Herring }; 391724ba675SRob Herring}; 392724ba675SRob Herring 393724ba675SRob Herring#include "twl4030.dtsi" 394724ba675SRob Herring#include "twl4030_omap3.dtsi" 395724ba675SRob Herring 396724ba675SRob Herring&twl_keypad { 397724ba675SRob Herring keypad,num-rows = <8>; 398724ba675SRob Herring keypad,num-columns = <6>; 399724ba675SRob Herring linux,keymap = < 400724ba675SRob Herring MATRIX_KEY(0, 0, KEY_9) 401724ba675SRob Herring MATRIX_KEY(0, 1, KEY_8) 402724ba675SRob Herring MATRIX_KEY(0, 2, KEY_I) 403724ba675SRob Herring MATRIX_KEY(0, 3, KEY_J) 404724ba675SRob Herring MATRIX_KEY(0, 4, KEY_N) 405724ba675SRob Herring MATRIX_KEY(0, 5, KEY_M) 406724ba675SRob Herring MATRIX_KEY(1, 0, KEY_0) 407724ba675SRob Herring MATRIX_KEY(1, 1, KEY_7) 408724ba675SRob Herring MATRIX_KEY(1, 2, KEY_U) 409724ba675SRob Herring MATRIX_KEY(1, 3, KEY_H) 410724ba675SRob Herring MATRIX_KEY(1, 4, KEY_B) 411724ba675SRob Herring MATRIX_KEY(1, 5, KEY_SPACE) 412724ba675SRob Herring MATRIX_KEY(2, 0, KEY_BACKSPACE) 413724ba675SRob Herring MATRIX_KEY(2, 1, KEY_6) 414724ba675SRob Herring MATRIX_KEY(2, 2, KEY_Y) 415724ba675SRob Herring MATRIX_KEY(2, 3, KEY_G) 416724ba675SRob Herring MATRIX_KEY(2, 4, KEY_V) 417724ba675SRob Herring MATRIX_KEY(2, 5, KEY_FN) 418724ba675SRob Herring MATRIX_KEY(3, 0, KEY_O) 419724ba675SRob Herring MATRIX_KEY(3, 1, KEY_5) 420724ba675SRob Herring MATRIX_KEY(3, 2, KEY_T) 421724ba675SRob Herring MATRIX_KEY(3, 3, KEY_F) 422724ba675SRob Herring MATRIX_KEY(3, 4, KEY_C) 423724ba675SRob Herring MATRIX_KEY(4, 0, KEY_P) 424724ba675SRob Herring MATRIX_KEY(4, 1, KEY_4) 425724ba675SRob Herring MATRIX_KEY(4, 2, KEY_R) 426724ba675SRob Herring MATRIX_KEY(4, 3, KEY_D) 427724ba675SRob Herring MATRIX_KEY(4, 4, KEY_X) 428724ba675SRob Herring MATRIX_KEY(5, 0, KEY_K) 429724ba675SRob Herring MATRIX_KEY(5, 1, KEY_3) 430724ba675SRob Herring MATRIX_KEY(5, 2, KEY_E) 431724ba675SRob Herring MATRIX_KEY(5, 3, KEY_S) 432724ba675SRob Herring MATRIX_KEY(5, 4, KEY_Z) 433724ba675SRob Herring MATRIX_KEY(6, 0, KEY_L) 434724ba675SRob Herring MATRIX_KEY(6, 1, KEY_2) 435724ba675SRob Herring MATRIX_KEY(6, 2, KEY_W) 436724ba675SRob Herring MATRIX_KEY(6, 3, KEY_A) 437724ba675SRob Herring MATRIX_KEY(6, 4, KEY_RIGHTBRACE) 438724ba675SRob Herring MATRIX_KEY(7, 0, KEY_ENTER) 439724ba675SRob Herring MATRIX_KEY(7, 1, KEY_1) 440724ba675SRob Herring MATRIX_KEY(7, 2, KEY_Q) 441724ba675SRob Herring MATRIX_KEY(7, 3, KEY_LEFTSHIFT) 442724ba675SRob Herring MATRIX_KEY(7, 4, KEY_LEFTBRACE ) 443724ba675SRob Herring >; 444724ba675SRob Herring}; 445724ba675SRob Herring 446724ba675SRob Herring/* backup battery charger */ 447724ba675SRob Herring&charger { 448724ba675SRob Herring ti,bb-uvolt = <3200000>; 449724ba675SRob Herring ti,bb-uamp = <150>; 450724ba675SRob Herring}; 451724ba675SRob Herring 452724ba675SRob Herring/* MMC2 */ 453724ba675SRob Herring&vmmc2 { 454724ba675SRob Herring regulator-min-microvolt = <1850000>; 455724ba675SRob Herring regulator-max-microvolt = <3150000>; 456724ba675SRob Herring}; 457724ba675SRob Herring 458724ba675SRob Herring/* LCD */ 459724ba675SRob Herring&vaux1 { 460724ba675SRob Herring regulator-min-microvolt = <3000000>; 461724ba675SRob Herring regulator-max-microvolt = <3000000>; 462724ba675SRob Herring}; 463724ba675SRob Herring 464724ba675SRob Herring/* USB Host PHY */ 465724ba675SRob Herring&vaux2 { 466724ba675SRob Herring regulator-min-microvolt = <1800000>; 467724ba675SRob Herring regulator-max-microvolt = <1800000>; 468724ba675SRob Herring}; 469724ba675SRob Herring 470724ba675SRob Herring/* available on expansion connector */ 471724ba675SRob Herring&vaux3 { 472724ba675SRob Herring regulator-min-microvolt = <2800000>; 473724ba675SRob Herring regulator-max-microvolt = <2800000>; 474724ba675SRob Herring}; 475724ba675SRob Herring 476724ba675SRob Herring/* ADS7846 and nubs */ 477724ba675SRob Herring&vaux4 { 478724ba675SRob Herring regulator-min-microvolt = <2800000>; 479724ba675SRob Herring regulator-max-microvolt = <2800000>; 480724ba675SRob Herring}; 481724ba675SRob Herring 482724ba675SRob Herring/* power audio DAC and LID sensor */ 483724ba675SRob Herring&vsim { 484724ba675SRob Herring regulator-min-microvolt = <2800000>; 485724ba675SRob Herring regulator-max-microvolt = <2800000>; 486724ba675SRob Herring regulator-always-on; 487724ba675SRob Herring}; 488724ba675SRob Herring 489724ba675SRob Herring&i2c2 { 490724ba675SRob Herring clock-frequency = <100000>; 491724ba675SRob Herring /* no clients so we should disable clock */ 492724ba675SRob Herring}; 493724ba675SRob Herring 494724ba675SRob Herring&i2c3 { 495724ba675SRob Herring clock-frequency = <100000>; 496724ba675SRob Herring 497724ba675SRob Herring bq27500@55 { 498724ba675SRob Herring compatible = "ti,bq27500"; 499724ba675SRob Herring reg = <0x55>; 500724ba675SRob Herring }; 501724ba675SRob Herring 502724ba675SRob Herring}; 503724ba675SRob Herring 504724ba675SRob Herring&usb_otg_hs { 505724ba675SRob Herring interface-type = <0>; 506724ba675SRob Herring usb-phy = <&usb2_phy>; 507724ba675SRob Herring phys = <&usb2_phy>; 508724ba675SRob Herring phy-names = "usb2-phy"; 509724ba675SRob Herring mode = <3>; 510724ba675SRob Herring power = <50>; 511724ba675SRob Herring}; 512724ba675SRob Herring 513724ba675SRob Herring/* 514724ba675SRob Herring * Many pandora boards have been produced with defective write-protect switches 515724ba675SRob Herring * on either slot, so it was decided not to use this feature. If you know 516724ba675SRob Herring * your board has good switches, feel free to uncomment wp-gpios below. 517724ba675SRob Herring */ 518724ba675SRob Herring&mmc1 { 519724ba675SRob Herring pinctrl-names = "default"; 520724ba675SRob Herring pinctrl-0 = <&mmc1_pins>; 521724ba675SRob Herring vmmc-supply = <&vmmc1>; 522724ba675SRob Herring bus-width = <4>; 523724ba675SRob Herring cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; 524724ba675SRob Herring /*wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;*/ /* GPIO_126 */ 525724ba675SRob Herring}; 526724ba675SRob Herring 527724ba675SRob Herring&mmc2 { 528724ba675SRob Herring pinctrl-names = "default"; 529724ba675SRob Herring pinctrl-0 = <&mmc2_pins>; 530724ba675SRob Herring vmmc-supply = <&vmmc2>; 531724ba675SRob Herring bus-width = <4>; 532724ba675SRob Herring cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>; 533724ba675SRob Herring /*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/ /* GPIO_127 */ 534724ba675SRob Herring}; 535724ba675SRob Herring 536724ba675SRob Herring&mmc3 { 537724ba675SRob Herring vmmc-supply = <&wlan_en>; 538724ba675SRob Herring 539724ba675SRob Herring bus-width = <4>; 540724ba675SRob Herring non-removable; 541724ba675SRob Herring ti,non-removable; 542724ba675SRob Herring cap-power-off-card; 543724ba675SRob Herring 544724ba675SRob Herring pinctrl-names = "default"; 545724ba675SRob Herring pinctrl-0 = <&mmc3_pins>; 546724ba675SRob Herring 547724ba675SRob Herring #address-cells = <1>; 548724ba675SRob Herring #size-cells = <0>; 549724ba675SRob Herring 550724ba675SRob Herring wlan: wifi@1 { 551724ba675SRob Herring compatible = "ti,wl1251"; 552724ba675SRob Herring 553724ba675SRob Herring reg = <1>; 554724ba675SRob Herring 555724ba675SRob Herring interrupt-parent = <&gpio1>; 556724ba675SRob Herring interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_21 */ 557724ba675SRob Herring 558724ba675SRob Herring ti,wl1251-has-eeprom; 559724ba675SRob Herring }; 560724ba675SRob Herring}; 561724ba675SRob Herring 562724ba675SRob Herring/* bluetooth*/ 563724ba675SRob Herring&uart1 { 564724ba675SRob Herring}; 565724ba675SRob Herring 566724ba675SRob Herring/* spare (expansion connector) */ 567724ba675SRob Herring&uart2 { 568724ba675SRob Herring}; 569724ba675SRob Herring 570724ba675SRob Herring/* console (expansion connector) */ 571724ba675SRob Herring&uart3 { 572724ba675SRob Herring pinctrl-names = "default"; 573724ba675SRob Herring pinctrl-0 = <&uart3_pins>; 574724ba675SRob Herring interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>; 575724ba675SRob Herring}; 576724ba675SRob Herring 577724ba675SRob Herring&usbhshost { 578724ba675SRob Herring port2-mode = "ehci-phy"; 579724ba675SRob Herring}; 580724ba675SRob Herring 581724ba675SRob Herring&usbhsehci { 582724ba675SRob Herring phys = <0 &hsusb2_phy>; 583724ba675SRob Herring}; 584724ba675SRob Herring 585724ba675SRob Herring&gpmc { 586724ba675SRob Herring ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */ 587724ba675SRob Herring 588724ba675SRob Herring nand@0,0 { 589724ba675SRob Herring compatible = "ti,omap2-nand"; 590724ba675SRob Herring reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 591724ba675SRob Herring interrupt-parent = <&gpmc>; 592724ba675SRob Herring interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 593724ba675SRob Herring <1 IRQ_TYPE_NONE>; /* termcount */ 594724ba675SRob Herring nand-bus-width = <16>; 595724ba675SRob Herring ti,nand-ecc-opt = "sw"; 596724ba675SRob Herring 597724ba675SRob Herring gpmc,sync-clk-ps = <0>; 598724ba675SRob Herring gpmc,cs-on-ns = <0>; 599724ba675SRob Herring gpmc,cs-rd-off-ns = <44>; 600724ba675SRob Herring gpmc,cs-wr-off-ns = <44>; 601724ba675SRob Herring gpmc,adv-on-ns = <6>; 602724ba675SRob Herring gpmc,adv-rd-off-ns = <34>; 603724ba675SRob Herring gpmc,adv-wr-off-ns = <44>; 604724ba675SRob Herring gpmc,we-off-ns = <40>; 605724ba675SRob Herring gpmc,oe-off-ns = <54>; 606724ba675SRob Herring gpmc,access-ns = <64>; 607724ba675SRob Herring gpmc,rd-cycle-ns = <82>; 608724ba675SRob Herring gpmc,wr-cycle-ns = <82>; 609724ba675SRob Herring gpmc,wr-access-ns = <40>; 610724ba675SRob Herring gpmc,wr-data-mux-bus-ns = <0>; 611724ba675SRob Herring gpmc,device-width = <2>; 612724ba675SRob Herring 613724ba675SRob Herring #address-cells = <1>; 614724ba675SRob Herring #size-cells = <1>; 615724ba675SRob Herring 616724ba675SRob Herring /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */ 617724ba675SRob Herring 618724ba675SRob Herring x-loader@0 { 619724ba675SRob Herring label = "xloader"; 620724ba675SRob Herring reg = <0 0x80000>; 621724ba675SRob Herring }; 622724ba675SRob Herring 623724ba675SRob Herring bootloaders@80000 { 624724ba675SRob Herring label = "uboot"; 625724ba675SRob Herring reg = <0x80000 0x1e0000>; 626724ba675SRob Herring }; 627724ba675SRob Herring 628724ba675SRob Herring bootloaders_env@260000 { 629724ba675SRob Herring label = "uboot-env"; 630724ba675SRob Herring reg = <0x260000 0x20000>; 631724ba675SRob Herring }; 632724ba675SRob Herring 633724ba675SRob Herring kernel@280000 { 634724ba675SRob Herring label = "boot"; 635724ba675SRob Herring reg = <0x280000 0xa00000>; 636724ba675SRob Herring }; 637724ba675SRob Herring 638724ba675SRob Herring filesystem@c80000 { 639724ba675SRob Herring label = "rootfs"; 640724ba675SRob Herring reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */ 641724ba675SRob Herring }; 642724ba675SRob Herring }; 643724ba675SRob Herring}; 644724ba675SRob Herring 645724ba675SRob Herring&mcspi1 { 646724ba675SRob Herring tsc2046@0 { 647724ba675SRob Herring reg = <0>; /* CS0 */ 648724ba675SRob Herring compatible = "ti,tsc2046"; 649724ba675SRob Herring spi-max-frequency = <1000000>; 650724ba675SRob Herring pinctrl-names = "default"; 651724ba675SRob Herring pinctrl-0 = <&penirq_pins>; 652724ba675SRob Herring interrupt-parent = <&gpio3>; 653724ba675SRob Herring interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */ 654*6c1561fbSLinus Torvalds pendown-gpio = <&gpio3 30 GPIO_ACTIVE_LOW>; 655724ba675SRob Herring vcc-supply = <&vaux4>; 656724ba675SRob Herring 657724ba675SRob Herring ti,x-min = /bits/ 16 <0>; 658724ba675SRob Herring ti,x-max = /bits/ 16 <8000>; 659724ba675SRob Herring ti,y-min = /bits/ 16 <0>; 660724ba675SRob Herring ti,y-max = /bits/ 16 <4800>; 661724ba675SRob Herring ti,x-plate-ohms = /bits/ 16 <40>; 662724ba675SRob Herring ti,pressure-max = /bits/ 16 <255>; 663724ba675SRob Herring 664724ba675SRob Herring wakeup-source; 665724ba675SRob Herring }; 666724ba675SRob Herring 667724ba675SRob Herring lcd: lcd@1 { 668724ba675SRob Herring reg = <1>; /* CS1 */ 669724ba675SRob Herring compatible = "tpo,td043mtea1"; 670724ba675SRob Herring spi-max-frequency = <100000>; 671724ba675SRob Herring spi-cpol; 672724ba675SRob Herring spi-cpha; 673724ba675SRob Herring 674724ba675SRob Herring label = "lcd"; 675724ba675SRob Herring reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; /* GPIO_157 */ 676724ba675SRob Herring vcc-supply = <&vaux1>; 677724ba675SRob Herring 678724ba675SRob Herring port { 679724ba675SRob Herring lcd_in: endpoint { 680724ba675SRob Herring remote-endpoint = <&dpi_out>; 681724ba675SRob Herring }; 682724ba675SRob Herring }; 683724ba675SRob Herring }; 684724ba675SRob Herring 685724ba675SRob Herring 686724ba675SRob Herring}; 687724ba675SRob Herring 688724ba675SRob Herring/* n/a - used as GPIOs */ 689724ba675SRob Herring&mcbsp1 { 690724ba675SRob Herring}; 691724ba675SRob Herring 692724ba675SRob Herring/* audio DAC */ 693724ba675SRob Herring&mcbsp2 { 694724ba675SRob Herring}; 695724ba675SRob Herring 696724ba675SRob Herring/* bluetooth */ 697724ba675SRob Herring&mcbsp3 { 698724ba675SRob Herring}; 699724ba675SRob Herring 700724ba675SRob Herring/* to twl4030*/ 701724ba675SRob Herring&mcbsp4 { 702724ba675SRob Herring}; 703724ba675SRob Herring 704724ba675SRob Herring&venc { 705724ba675SRob Herring status = "okay"; 706724ba675SRob Herring 707724ba675SRob Herring vdda-supply = <&vdac>; 708724ba675SRob Herring 709724ba675SRob Herring port { 710724ba675SRob Herring venc_out: endpoint { 711724ba675SRob Herring remote-endpoint = <&tv_connector_in>; 712724ba675SRob Herring ti,channels = <2>; 713724ba675SRob Herring }; 714724ba675SRob Herring }; 715724ba675SRob Herring}; 716724ba675SRob Herring 717724ba675SRob Herring&dss { 718724ba675SRob Herring pinctrl-names = "default"; 719724ba675SRob Herring pinctrl-0 = < &dss_dpi_pins >; 720724ba675SRob Herring 721724ba675SRob Herring status = "okay"; 722724ba675SRob Herring vdds_dsi-supply = <&vpll2>; 723724ba675SRob Herring 724724ba675SRob Herring port { 725724ba675SRob Herring dpi_out: endpoint { 726724ba675SRob Herring remote-endpoint = <&lcd_in>; 727724ba675SRob Herring data-lines = <24>; 728724ba675SRob Herring }; 729724ba675SRob Herring }; 730724ba675SRob Herring}; 731