cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

omap3-pandora-common.dtsi (18332B)


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