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-n900.dts (30426B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * Copyright (C) 2013 Pavel Machek <pavel@ucw.cz>
      4 * Copyright (C) 2013-2014 Aaro Koskinen <aaro.koskinen@iki.fi>
      5 */
      6
      7/dts-v1/;
      8
      9#include "omap34xx.dtsi"
     10#include <dt-bindings/input/input.h>
     11#include <dt-bindings/leds/common.h>
     12
     13/*
     14 * Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall
     15 * for omap AES HW crypto support. When linux kernel try to access memory of AES
     16 * blocks then kernel receive "Unhandled fault: external abort on non-linefetch"
     17 * and crash. Until somebody fix omap-aes.c and omap_hwmod_3xxx_data.c code (no
     18 * crash anymore) omap AES support will be disabled for all Nokia N900 devices.
     19 * There is "unofficial" version of bootloader which enables AES in L3 firewall
     20 * but it is not widely used and to prevent kernel crash rather AES is disabled.
     21 * There is also no runtime detection code if AES is disabled in L3 firewall...
     22 */
     23&aes1_target {
     24	status = "disabled";
     25};
     26
     27&aes2_target {
     28	status = "disabled";
     29};
     30
     31/ {
     32	model = "Nokia N900";
     33	compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3";
     34
     35	aliases {
     36		i2c0;
     37		i2c1 = &i2c1;
     38		i2c2 = &i2c2;
     39		i2c3 = &i2c3;
     40		display0 = &lcd;
     41		display1 = &tv;
     42	};
     43
     44	cpus {
     45		cpu@0 {
     46			cpu0-supply = <&vcc>;
     47		};
     48	};
     49
     50	leds {
     51		compatible = "gpio-leds";
     52		heartbeat {
     53			label = "debug::sleep";
     54			gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;  /* 162 */
     55			linux,default-trigger = "default-on";
     56			pinctrl-names = "default";
     57			pinctrl-0 = <&debug_leds>;
     58		};
     59	};
     60
     61	memory@80000000 {
     62		device_type = "memory";
     63		reg = <0x80000000 0x10000000>; /* 256 MB */
     64	};
     65
     66	gpio_keys {
     67		compatible = "gpio-keys";
     68
     69		camera_lens_cover {
     70			label = "Camera Lens Cover";
     71			gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */
     72			linux,input-type = <EV_SW>;
     73			linux,code = <SW_CAMERA_LENS_COVER>;
     74			linux,can-disable;
     75		};
     76
     77		camera_focus {
     78			label = "Camera Focus";
     79			gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */
     80			linux,code = <KEY_CAMERA_FOCUS>;
     81			linux,can-disable;
     82		};
     83
     84		camera_capture {
     85			label = "Camera Capture";
     86			gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */
     87			linux,code = <KEY_CAMERA>;
     88			linux,can-disable;
     89		};
     90
     91		lock_button {
     92			label = "Lock Button";
     93			gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */
     94			linux,code = <KEY_SCREENLOCK>;
     95			linux,can-disable;
     96		};
     97
     98		keypad_slide {
     99			label = "Keypad Slide";
    100			gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */
    101			linux,input-type = <EV_SW>;
    102			linux,code = <SW_KEYPAD_SLIDE>;
    103			linux,can-disable;
    104		};
    105
    106		proximity_sensor {
    107			label = "Proximity Sensor";
    108			gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */
    109			linux,input-type = <EV_SW>;
    110			linux,code = <SW_FRONT_PROXIMITY>;
    111			linux,can-disable;
    112		};
    113
    114		machine_cover {
    115			label = "Machine Cover";
    116			gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
    117			linux,input-type = <EV_SW>;
    118			linux,code = <SW_MACHINE_COVER>;
    119			linux,can-disable;
    120		};
    121	};
    122
    123	isp1707: isp1707 {
    124		compatible = "nxp,isp1707";
    125		nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>;
    126		usb-phy = <&usb2_phy>;
    127	};
    128
    129	tv: connector {
    130		compatible = "composite-video-connector";
    131		label = "tv";
    132
    133		port {
    134			tv_connector_in: endpoint {
    135				remote-endpoint = <&venc_out>;
    136			};
    137		};
    138	};
    139
    140	sound: n900-audio {
    141		compatible = "nokia,n900-audio";
    142
    143		nokia,cpu-dai = <&mcbsp2>;
    144		nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>;
    145		nokia,headphone-amplifier = <&tpa6130a2>;
    146
    147		tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */
    148		jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */
    149		eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
    150		speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
    151	};
    152
    153	battery: n900-battery {
    154		compatible = "nokia,n900-battery";
    155		io-channels = <&twl_madc 0>, <&twl_madc 4>, <&twl_madc 12>;
    156		io-channel-names = "temp", "bsi", "vbat";
    157	};
    158
    159	pwm9: dmtimer-pwm {
    160		compatible = "ti,omap-dmtimer-pwm";
    161		#pwm-cells = <3>;
    162		ti,timers = <&timer9>;
    163		ti,clock-source = <0x00>; /* timer_sys_ck */
    164	};
    165
    166	ir: n900-ir {
    167		compatible = "nokia,n900-ir";
    168		pwms = <&pwm9 0 26316 0>; /* 38000 Hz */
    169	};
    170
    171	rom_rng: rng {
    172		compatible = "nokia,n900-rom-rng";
    173		clocks = <&rng_ick>;
    174		clock-names = "ick";
    175	};
    176
    177	/* controlled (enabled/disabled) directly by bcm2048 and wl1251 */
    178	vctcxo: vctcxo {
    179		compatible = "fixed-clock";
    180		#clock-cells = <0>;
    181		clock-frequency = <38400000>;
    182	};
    183};
    184
    185&isp {
    186	vdds_csib-supply = <&vaux2>;
    187
    188	pinctrl-names = "default";
    189	pinctrl-0 = <&camera_pins>;
    190
    191	ports {
    192		port@1 {
    193			reg = <1>;
    194
    195			csi_isp: endpoint {
    196				remote-endpoint = <&csi_cam1>;
    197				bus-type = <3>; /* CCP2 */
    198				clock-lanes = <1>;
    199				data-lanes = <0>;
    200				lane-polarity = <0 0>;
    201				/* Select strobe = <1> for back camera, <0> for front camera */
    202				strobe = <1>;
    203			};
    204		};
    205	};
    206};
    207
    208&omap3_pmx_core {
    209	pinctrl-names = "default";
    210
    211	uart2_pins: pinmux_uart2_pins {
    212		pinctrl-single,pins = <
    213			OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0)		/* uart2_cts */
    214			OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)		/* uart2_rts */
    215			OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)		/* uart2_tx */
    216			OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)		/* uart2_rx */
    217		>;
    218	};
    219
    220	uart3_pins: pinmux_uart3_pins {
    221		pinctrl-single,pins = <
    222			OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0)		/* uart3_rx */
    223			OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)		/* uart3_tx */
    224		>;
    225	};
    226
    227	ethernet_pins: pinmux_ethernet_pins {
    228		pinctrl-single,pins = <
    229			OMAP3_CORE1_IOPAD(0x20b4, PIN_INPUT_PULLDOWN | MUX_MODE4)	/* gpmc_ncs3.gpio_54 */
    230			OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE4)		/* dss_data16.gpio_86 */
    231			OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE4)		/* uart3_rts_sd.gpio_164 */
    232		>;
    233	};
    234
    235	gpmc_pins: pinmux_gpmc_pins {
    236		pinctrl-single,pins = <
    237
    238			/* address lines */
    239                        OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a1.gpmc_a1 */
    240                        OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a2.gpmc_a2 */
    241                        OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0)       /* gpmc_a3.gpmc_a3 */
    242
    243			/* data lines, gpmc_d0..d7 not muxable according to TRM */
    244                        OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0)        /* gpmc_d8.gpmc_d8 */
    245                        OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0)        /* gpmc_d9.gpmc_d9 */
    246                        OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0)        /* gpmc_d10.gpmc_d10 */
    247                        OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0)        /* gpmc_d11.gpmc_d11 */
    248                        OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0)        /* gpmc_d12.gpmc_d12 */
    249                        OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0)        /* gpmc_d13.gpmc_d13 */
    250                        OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0)        /* gpmc_d14.gpmc_d14 */
    251                        OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0)        /* gpmc_d15.gpmc_d15 */
    252
    253			/*
    254			 * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable
    255			 * according to TRM. OneNAND seems to require PIN_INPUT on clock.
    256			 */
    257                        OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0)       /* gpmc_ncs1.gpmc_ncs1 */
    258                        OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0)        /* gpmc_clk.gpmc_clk */
    259		>;
    260	};
    261
    262	i2c1_pins: pinmux_i2c1_pins {
    263		pinctrl-single,pins = <
    264			OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0)		/* i2c1_scl */
    265			OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0)		/* i2c1_sda */
    266		>;
    267	};
    268
    269	i2c2_pins: pinmux_i2c2_pins {
    270		pinctrl-single,pins = <
    271			OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0)		/* i2c2_scl */
    272			OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0)		/* i2c2_sda */
    273		>;
    274	};
    275
    276	i2c3_pins: pinmux_i2c3_pins {
    277		pinctrl-single,pins = <
    278			OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0)		/* i2c3_scl */
    279			OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0)		/* i2c3_sda */
    280		>;
    281	};
    282
    283	debug_leds: pinmux_debug_led_pins {
    284		pinctrl-single,pins = <
    285			OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4)	/* mcbsp1_clkx.gpio_162 */
    286		>;
    287	};
    288
    289	mcspi4_pins: pinmux_mcspi4_pins {
    290		pinctrl-single,pins = <
    291			OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
    292			OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
    293			OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
    294			OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
    295		>;
    296	};
    297
    298	mmc1_pins: pinmux_mmc1_pins {
    299		pinctrl-single,pins = <
    300			OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_clk */
    301			OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_cmd */
    302			OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) 	/* sdmmc1_dat0 */
    303			OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_dat1 */
    304			OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_dat2 */
    305			OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc1_dat3 */
    306		>;
    307	};
    308
    309	mmc2_pins: pinmux_mmc2_pins {
    310		pinctrl-single,pins = <
    311			OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_clk */
    312			OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_cmd */
    313			OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) 	/* sdmmc2_dat0 */
    314			OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat1 */
    315			OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat2 */
    316			OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat3 */
    317			OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat4 */
    318			OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat5 */
    319			OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat6 */
    320			OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE0)	/* sdmmc2_dat7 */
    321		>;
    322	};
    323
    324	acx565akm_pins: pinmux_acx565akm_pins {
    325		pinctrl-single,pins = <
    326			OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE4)		/* RX51_LCD_RESET_GPIO */
    327		>;
    328	};
    329
    330	dss_sdi_pins: pinmux_dss_sdi_pins {
    331		pinctrl-single,pins = <
    332			OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE1)   /* dss_data10.sdi_dat1n */
    333			OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE1)   /* dss_data11.sdi_dat1p */
    334			OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE1)   /* dss_data12.sdi_dat2n */
    335			OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE1)   /* dss_data13.sdi_dat2p */
    336
    337			OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE1)   /* dss_data22.sdi_clkp */
    338			OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE1)   /* dss_data23.sdi_clkn */
    339		>;
    340	};
    341
    342	wl1251_pins: pinmux_wl1251 {
    343		pinctrl-single,pins = <
    344			OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE4)		/* gpio 87 => wl1251 enable */
    345			OMAP3_CORE1_IOPAD(0x208a, PIN_INPUT | MUX_MODE4)		/* gpio 42 => wl1251 irq */
    346		>;
    347	};
    348
    349	ssi_pins: pinmux_ssi {
    350		pinctrl-single,pins = <
    351			OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE1)	/* ssi1_rdy_tx */
    352			OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE1)		/* ssi1_flag_tx */
    353			OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE4)		/* ssi1_wake_tx (cawake) */
    354			OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE1)		/* ssi1_dat_tx */
    355			OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT | MUX_MODE1)		/* ssi1_dat_rx */
    356			OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE1)		/* ssi1_flag_rx */
    357			OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | MUX_MODE1)		/* ssi1_rdy_rx */
    358			OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | MUX_MODE1)		/* ssi1_wake */
    359		>;
    360	};
    361
    362	modem_pins: pinmux_modem {
    363		pinctrl-single,pins = <
    364			OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE4)		/* gpio 70 => cmt_apeslpx */
    365			OMAP3_CORE1_IOPAD(0x20e0, PIN_INPUT | MUX_MODE4)		/* gpio 72 => ape_rst_rq */
    366			OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE4)		/* gpio 73 => cmt_rst_rq */
    367			OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE4)		/* gpio 74 => cmt_en */
    368			OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE4)		/* gpio 75 => cmt_rst */
    369			OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)		/* gpio 157 => cmt_bsi */
    370		>;
    371	};
    372
    373	camera_pins: pinmux_camera {
    374		pinctrl-single,pins = <
    375			OMAP3_CORE1_IOPAD(0x210c, PIN_OUTPUT | MUX_MODE7)       /* cam_hs */
    376			OMAP3_CORE1_IOPAD(0x210e, PIN_OUTPUT | MUX_MODE7)       /* cam_vs */
    377			OMAP3_CORE1_IOPAD(0x2110, PIN_OUTPUT | MUX_MODE0)       /* cam_xclka */
    378			OMAP3_CORE1_IOPAD(0x211e, PIN_OUTPUT | MUX_MODE7)       /* cam_d4 */
    379			OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE0)        /* cam_d6 */
    380			OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE0)        /* cam_d7 */
    381			OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE0)        /* cam_d8 */
    382			OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE0)        /* cam_d9 */
    383			OMAP3_CORE1_IOPAD(0x212a, PIN_OUTPUT | MUX_MODE7)       /* cam_d10 */
    384			OMAP3_CORE1_IOPAD(0x212e, PIN_OUTPUT | MUX_MODE7)       /* cam_xclkb */
    385			OMAP3_CORE1_IOPAD(0x2132, PIN_OUTPUT | MUX_MODE0)       /* cam_strobe */
    386		>;
    387	};
    388};
    389
    390&i2c1 {
    391	pinctrl-names = "default";
    392	pinctrl-0 = <&i2c1_pins>;
    393
    394	clock-frequency = <2200000>;
    395
    396	twl: twl@48 {
    397		reg = <0x48>;
    398		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
    399		interrupt-parent = <&intc>;
    400	};
    401};
    402
    403#include "twl4030.dtsi"
    404#include "twl4030_omap3.dtsi"
    405
    406&vaux1 {
    407	regulator-name = "V28";
    408	regulator-min-microvolt = <2800000>;
    409	regulator-max-microvolt = <2800000>;
    410	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    411	regulator-always-on; /* due to battery cover sensor */
    412};
    413
    414&vaux2 {
    415	regulator-name = "VCSI";
    416	regulator-min-microvolt = <1800000>;
    417	regulator-max-microvolt = <1800000>;
    418	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    419};
    420
    421&vaux3 {
    422	regulator-name = "VMMC2_30";
    423	regulator-min-microvolt = <2800000>;
    424	regulator-max-microvolt = <3000000>;
    425	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    426};
    427
    428&vaux4 {
    429	regulator-name = "VCAM_ANA_28";
    430	regulator-min-microvolt = <2800000>;
    431	regulator-max-microvolt = <2800000>;
    432	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    433};
    434
    435&vmmc1 {
    436	regulator-name = "VMMC1";
    437	regulator-min-microvolt = <1850000>;
    438	regulator-max-microvolt = <3150000>;
    439	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    440};
    441
    442&vmmc2 {
    443	regulator-name = "V28_A";
    444	regulator-min-microvolt = <2800000>;
    445	regulator-max-microvolt = <3000000>;
    446	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    447	regulator-always-on; /* due VIO leak to AIC34 VDDs */
    448};
    449
    450&vpll1 {
    451	regulator-name = "VPLL";
    452	regulator-min-microvolt = <1800000>;
    453	regulator-max-microvolt = <1800000>;
    454	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    455	regulator-always-on;
    456};
    457
    458&vpll2 {
    459	regulator-name = "VSDI_CSI";
    460	regulator-min-microvolt = <1800000>;
    461	regulator-max-microvolt = <1800000>;
    462	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    463	regulator-always-on;
    464};
    465
    466&vsim {
    467	regulator-name = "VMMC2_IO_18";
    468	regulator-min-microvolt = <1800000>;
    469	regulator-max-microvolt = <1800000>;
    470	regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
    471};
    472
    473&vio {
    474	regulator-name = "VIO";
    475	regulator-min-microvolt = <1800000>;
    476	regulator-max-microvolt = <1800000>;
    477};
    478
    479&vintana1 {
    480	regulator-name = "VINTANA1";
    481	/* fixed to 1500000 */
    482	regulator-always-on;
    483};
    484
    485&vintana2 {
    486	regulator-name = "VINTANA2";
    487	regulator-min-microvolt = <2750000>;
    488	regulator-max-microvolt = <2750000>;
    489	regulator-always-on;
    490};
    491
    492&vintdig {
    493	regulator-name = "VINTDIG";
    494	/* fixed to 1500000 */
    495	regulator-always-on;
    496};
    497
    498/* First two dma channels are reserved on secure omap3 */
    499&sdma {
    500	dma-channel-mask = <0xfffffffc>;
    501};
    502
    503&twl {
    504	twl_audio: audio {
    505		compatible = "ti,twl4030-audio";
    506		ti,enable-vibra = <1>;
    507	};
    508
    509	twl_power: power {
    510		compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off";
    511		ti,use_poweroff;
    512	};
    513};
    514
    515&twl_keypad {
    516	linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q)
    517			 MATRIX_KEY(0x00, 0x01, KEY_O)
    518			 MATRIX_KEY(0x00, 0x02, KEY_P)
    519			 MATRIX_KEY(0x00, 0x03, KEY_COMMA)
    520			 MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE)
    521			 MATRIX_KEY(0x00, 0x06, KEY_A)
    522			 MATRIX_KEY(0x00, 0x07, KEY_S)
    523
    524			 MATRIX_KEY(0x01, 0x00, KEY_W)
    525			 MATRIX_KEY(0x01, 0x01, KEY_D)
    526			 MATRIX_KEY(0x01, 0x02, KEY_F)
    527			 MATRIX_KEY(0x01, 0x03, KEY_G)
    528			 MATRIX_KEY(0x01, 0x04, KEY_H)
    529			 MATRIX_KEY(0x01, 0x05, KEY_J)
    530			 MATRIX_KEY(0x01, 0x06, KEY_K)
    531			 MATRIX_KEY(0x01, 0x07, KEY_L)
    532
    533			 MATRIX_KEY(0x02, 0x00, KEY_E)
    534			 MATRIX_KEY(0x02, 0x01, KEY_DOT)
    535			 MATRIX_KEY(0x02, 0x02, KEY_UP)
    536			 MATRIX_KEY(0x02, 0x03, KEY_ENTER)
    537			 MATRIX_KEY(0x02, 0x05, KEY_Z)
    538			 MATRIX_KEY(0x02, 0x06, KEY_X)
    539			 MATRIX_KEY(0x02, 0x07, KEY_C)
    540			 MATRIX_KEY(0x02, 0x08, KEY_F9)
    541
    542			 MATRIX_KEY(0x03, 0x00, KEY_R)
    543			 MATRIX_KEY(0x03, 0x01, KEY_V)
    544			 MATRIX_KEY(0x03, 0x02, KEY_B)
    545			 MATRIX_KEY(0x03, 0x03, KEY_N)
    546			 MATRIX_KEY(0x03, 0x04, KEY_M)
    547			 MATRIX_KEY(0x03, 0x05, KEY_SPACE)
    548			 MATRIX_KEY(0x03, 0x06, KEY_SPACE)
    549			 MATRIX_KEY(0x03, 0x07, KEY_LEFT)
    550
    551			 MATRIX_KEY(0x04, 0x00, KEY_T)
    552			 MATRIX_KEY(0x04, 0x01, KEY_DOWN)
    553			 MATRIX_KEY(0x04, 0x02, KEY_RIGHT)
    554			 MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL)
    555			 MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT)
    556			 MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT)
    557			 MATRIX_KEY(0x04, 0x08, KEY_F10)
    558
    559			 MATRIX_KEY(0x05, 0x00, KEY_Y)
    560			 MATRIX_KEY(0x05, 0x08, KEY_F11)
    561
    562			 MATRIX_KEY(0x06, 0x00, KEY_U)
    563
    564			 MATRIX_KEY(0x07, 0x00, KEY_I)
    565			 MATRIX_KEY(0x07, 0x01, KEY_F7)
    566			 MATRIX_KEY(0x07, 0x02, KEY_F8)
    567			 >;
    568};
    569
    570&twl_gpio {
    571	ti,pullups	= <0x0>;
    572	ti,pulldowns	= <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
    573};
    574
    575&i2c2 {
    576	pinctrl-names = "default";
    577	pinctrl-0 = <&i2c2_pins>;
    578
    579	clock-frequency = <100000>;
    580
    581	tlv320aic3x: tlv320aic3x@18 {
    582		compatible = "ti,tlv320aic3x";
    583		reg = <0x18>;
    584		reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
    585		ai3x-gpio-func = <
    586			0 /* AIC3X_GPIO1_FUNC_DISABLED */
    587			5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
    588		>;
    589
    590		AVDD-supply = <&vmmc2>;
    591		DRVDD-supply = <&vmmc2>;
    592		IOVDD-supply = <&vio>;
    593		DVDD-supply = <&vio>;
    594
    595		ai3x-micbias-vg = <1>;
    596	};
    597
    598	tlv320aic3x_aux: tlv320aic3x@19 {
    599		compatible = "ti,tlv320aic3x";
    600		reg = <0x19>;
    601		reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
    602
    603		AVDD-supply = <&vmmc2>;
    604		DRVDD-supply = <&vmmc2>;
    605		IOVDD-supply = <&vio>;
    606		DVDD-supply = <&vio>;
    607
    608		ai3x-micbias-vg = <2>;
    609	};
    610
    611	tsl2563: tsl2563@29 {
    612		compatible = "amstaos,tsl2563";
    613		reg = <0x29>;
    614
    615		amstaos,cover-comp-gain = <16>;
    616	};
    617
    618	adp1653: led-controller@30 {
    619		compatible = "adi,adp1653";
    620		reg = <0x30>;
    621		enable-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; /* 88 */
    622
    623		flash {
    624			flash-timeout-us = <500000>;
    625			flash-max-microamp = <320000>;
    626			led-max-microamp = <50000>;
    627		};
    628		indicator {
    629			led-max-microamp = <17500>;
    630		};
    631	};
    632
    633	lp5523: lp5523@32 {
    634		#address-cells = <1>;
    635		#size-cells = <0>;
    636		compatible = "national,lp5523";
    637		reg = <0x32>;
    638		clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
    639		enable-gpios = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */
    640
    641		led@0 {
    642			reg = <0>;
    643			chan-name = "lp5523:kb1";
    644			led-cur = /bits/ 8 <50>;
    645			max-cur = /bits/ 8 <100>;
    646			color = <LED_COLOR_ID_WHITE>;
    647			function = LED_FUNCTION_KBD_BACKLIGHT;
    648		};
    649
    650		led@1 {
    651			reg = <1>;
    652			chan-name = "lp5523:kb2";
    653			led-cur = /bits/ 8 <50>;
    654			max-cur = /bits/ 8 <100>;
    655			color = <LED_COLOR_ID_WHITE>;
    656			function = LED_FUNCTION_KBD_BACKLIGHT;
    657		};
    658
    659		led@2 {
    660			reg = <2>;
    661			chan-name = "lp5523:kb3";
    662			led-cur = /bits/ 8 <50>;
    663			max-cur = /bits/ 8 <100>;
    664			color = <LED_COLOR_ID_WHITE>;
    665			function = LED_FUNCTION_KBD_BACKLIGHT;
    666		};
    667
    668		led@3 {
    669			reg = <3>;
    670			chan-name = "lp5523:kb4";
    671			led-cur = /bits/ 8 <50>;
    672			max-cur = /bits/ 8 <100>;
    673			color = <LED_COLOR_ID_WHITE>;
    674			function = LED_FUNCTION_KBD_BACKLIGHT;
    675		};
    676
    677		led@4 {
    678			reg = <4>;
    679			chan-name = "lp5523:b";
    680			led-cur = /bits/ 8 <50>;
    681			max-cur = /bits/ 8 <100>;
    682			color = <LED_COLOR_ID_BLUE>;
    683			function = LED_FUNCTION_STATUS;
    684		};
    685
    686		led@5 {
    687			reg = <5>;
    688			chan-name = "lp5523:g";
    689			led-cur = /bits/ 8 <50>;
    690			max-cur = /bits/ 8 <100>;
    691			color = <LED_COLOR_ID_GREEN>;
    692			function = LED_FUNCTION_STATUS;
    693		};
    694
    695		led@6 {
    696			reg = <6>;
    697			chan-name = "lp5523:r";
    698			led-cur = /bits/ 8 <50>;
    699			max-cur = /bits/ 8 <100>;
    700			color = <LED_COLOR_ID_RED>;
    701			function = LED_FUNCTION_STATUS;
    702		};
    703
    704		led@7 {
    705			reg = <7>;
    706			chan-name = "lp5523:kb5";
    707			led-cur = /bits/ 8 <50>;
    708			max-cur = /bits/ 8 <100>;
    709			color = <LED_COLOR_ID_WHITE>;
    710			function = LED_FUNCTION_KBD_BACKLIGHT;
    711		};
    712
    713		led@8 {
    714			reg = <8>;
    715			chan-name = "lp5523:kb6";
    716			led-cur = /bits/ 8 <50>;
    717			max-cur = /bits/ 8 <100>;
    718			color = <LED_COLOR_ID_WHITE>;
    719			function = LED_FUNCTION_KBD_BACKLIGHT;
    720		};
    721	};
    722
    723	bq27200: bq27200@55 {
    724		compatible = "ti,bq27200";
    725		reg = <0x55>;
    726		power-supplies = <&bq24150a>;
    727	};
    728
    729	/* Stereo headphone amplifier */
    730	tpa6130a2: tpa6130a2@60 {
    731		compatible = "ti,tpa6130a2";
    732		reg = <0x60>;
    733
    734		Vdd-supply = <&vmmc2>;
    735
    736		power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */
    737	};
    738
    739	si4713: si4713@63 {
    740		compatible = "silabs,si4713";
    741                reg = <0x63>;
    742
    743                interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
    744                reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
    745                vio-supply = <&vio>;
    746                vdd-supply = <&vaux1>;
    747	};
    748
    749	bq24150a: bq24150a@6b {
    750		compatible = "ti,bq24150a";
    751		reg = <0x6b>;
    752
    753		ti,current-limit = <100>;
    754		ti,weak-battery-voltage = <3400>;
    755		ti,battery-regulation-voltage = <4200>;
    756		ti,charge-current = <650>;
    757		ti,termination-current = <100>;
    758		ti,resistor-sense = <68>;
    759
    760		ti,usb-charger-detection = <&isp1707>;
    761	};
    762};
    763
    764&i2c3 {
    765	pinctrl-names = "default";
    766	pinctrl-0 = <&i2c3_pins>;
    767
    768	clock-frequency = <400000>;
    769
    770	lis302dl: lis3lv02d@1d {
    771		compatible = "st,lis3lv02d";
    772		reg = <0x1d>;
    773
    774		Vdd-supply = <&vaux1>;
    775		Vdd_IO-supply = <&vio>;
    776
    777		interrupt-parent = <&gpio6>;
    778		interrupts = <21 20>; /* 181 and 180 */
    779
    780		/* click flags */
    781		st,click-single-x;
    782		st,click-single-y;
    783		st,click-single-z;
    784
    785		/* Limits are 0.5g * value */
    786		st,click-threshold-x = <8>;
    787		st,click-threshold-y = <8>;
    788		st,click-threshold-z = <10>;
    789
    790		/* Click must be longer than time limit */
    791		st,click-time-limit = <9>;
    792
    793		/* Kind of debounce filter */
    794		st,click-latency = <50>;
    795
    796		/* Interrupt line 2 for click detection */
    797		st,irq2-click;
    798
    799		st,wakeup-x-hi;
    800		st,wakeup-y-hi;
    801		st,wakeup-threshold = <(800/18)>; /* millig-value / 18 to get HW values */
    802
    803		st,wakeup2-z-hi;
    804		st,wakeup2-threshold = <(900/18)>; /* millig-value / 18 to get HW values */
    805
    806		st,hipass1-disable;
    807		st,hipass2-disable;
    808
    809		st,axis-x = <1>;    /* LIS3_DEV_X */
    810		st,axis-y = <(-2)>; /* LIS3_INV_DEV_Y */
    811		st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
    812
    813		st,min-limit-x = <(-32)>;
    814		st,min-limit-y = <3>;
    815		st,min-limit-z = <3>;
    816
    817		st,max-limit-x = <(-3)>;
    818		st,max-limit-y = <32>;
    819		st,max-limit-z = <32>;
    820	};
    821
    822	cam1: camera@3e {
    823		compatible = "toshiba,et8ek8";
    824		reg = <0x3e>;
    825
    826		vana-supply = <&vaux4>;
    827
    828		clocks = <&isp 0>;
    829		clock-names = "extclk";
    830		clock-frequency = <9600000>;
    831
    832		reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
    833
    834		lens-focus = <&ad5820>;
    835
    836		port {
    837			csi_cam1: endpoint {
    838				bus-type = <3>; /* CCP2 */
    839				strobe = <1>;
    840				clock-inv = <0>;
    841				crc = <1>;
    842
    843				remote-endpoint = <&csi_isp>;
    844			};
    845		};
    846	};
    847
    848	/* D/A converter for auto-focus */
    849	ad5820: dac@c {
    850		compatible = "adi,ad5820";
    851		reg = <0x0c>;
    852
    853		VANA-supply = <&vaux4>;
    854
    855		#io-channel-cells = <0>;
    856	};
    857};
    858
    859&mmc1 {
    860	pinctrl-names = "default";
    861	pinctrl-0 = <&mmc1_pins>;
    862	vmmc-supply = <&vmmc1>;
    863	bus-width = <4>;
    864};
    865
    866/* most boards use vaux3, only some old versions use vmmc2 instead */
    867&mmc2 {
    868	pinctrl-names = "default";
    869	pinctrl-0 = <&mmc2_pins>;
    870	vmmc-supply = <&vaux3>;
    871	vqmmc-supply = <&vsim>;
    872	bus-width = <8>;
    873	non-removable;
    874	no-sdio;
    875	no-sd;
    876};
    877
    878&mmc3 {
    879	status = "disabled";
    880};
    881
    882&gpmc {
    883	ranges = <0 0 0x01000000 0x01000000>,	/* 16 MB for OneNAND */
    884		 <1 0 0x02000000 0x01000000>;	/* 16 MB for smc91c96 */
    885	pinctrl-names = "default";
    886	pinctrl-0 = <&gpmc_pins>;
    887
    888	/* sys_ndmareq1 could be used by the driver, not as gpio65 though */
    889	onenand@0,0 {
    890		#address-cells = <1>;
    891		#size-cells = <1>;
    892		compatible = "ti,omap2-onenand";
    893		reg = <0 0 0x20000>;	/* CS0, offset 0, IO size 128K */
    894
    895		/*
    896		 * These timings are based on CONFIG_OMAP_GPMC_DEBUG=y reported
    897		 * bootloader set values when booted with v5.1
    898		 * (OneNAND Manufacturer: Samsung):
    899		 *
    900		 *   cs0 GPMC_CS_CONFIG1: 0xfb001202
    901		 *   cs0 GPMC_CS_CONFIG2: 0x00111100
    902		 *   cs0 GPMC_CS_CONFIG3: 0x00020200
    903		 *   cs0 GPMC_CS_CONFIG4: 0x11001102
    904		 *   cs0 GPMC_CS_CONFIG5: 0x03101616
    905		 *   cs0 GPMC_CS_CONFIG6: 0x90060000
    906		 */
    907		gpmc,sync-read;
    908		gpmc,sync-write;
    909		gpmc,burst-length = <16>;
    910		gpmc,burst-read;
    911		gpmc,burst-wrap;
    912		gpmc,burst-write;
    913		gpmc,device-width = <2>;
    914		gpmc,mux-add-data = <2>;
    915		gpmc,cs-on-ns = <0>;
    916		gpmc,cs-rd-off-ns = <102>;
    917		gpmc,cs-wr-off-ns = <102>;
    918		gpmc,adv-on-ns = <0>;
    919		gpmc,adv-rd-off-ns = <12>;
    920		gpmc,adv-wr-off-ns = <12>;
    921		gpmc,oe-on-ns = <12>;
    922		gpmc,oe-off-ns = <102>;
    923		gpmc,we-on-ns = <0>;
    924		gpmc,we-off-ns = <102>;
    925		gpmc,rd-cycle-ns = <132>;
    926		gpmc,wr-cycle-ns = <132>;
    927		gpmc,access-ns = <96>;
    928		gpmc,page-burst-access-ns = <18>;
    929		gpmc,bus-turnaround-ns = <0>;
    930		gpmc,cycle2cycle-delay-ns = <0>;
    931		gpmc,wait-monitoring-ns = <0>;
    932		gpmc,clk-activation-ns = <6>;
    933		gpmc,wr-data-mux-bus-ns = <36>;
    934		gpmc,wr-access-ns = <96>;
    935		gpmc,sync-clk-ps = <15000>;
    936
    937		/*
    938		 * MTD partition table corresponding to Nokia's
    939		 * Maemo 5 (Fremantle) release.
    940		 */
    941		partition@0 {
    942			label = "bootloader";
    943			reg = <0x00000000 0x00020000>;
    944			read-only;
    945		};
    946		partition@1 {
    947			label = "config";
    948			reg = <0x00020000 0x00060000>;
    949		};
    950		partition@2 {
    951			label = "log";
    952			reg = <0x00080000 0x00040000>;
    953		};
    954		partition@3 {
    955			label = "kernel";
    956			reg = <0x000c0000 0x00200000>;
    957		};
    958		partition@4 {
    959			label = "initfs";
    960			reg = <0x002c0000 0x00200000>;
    961		};
    962		partition@5 {
    963			label = "rootfs";
    964			reg = <0x004c0000 0x0fb40000>;
    965		};
    966	};
    967
    968	/* Ethernet is on some early development boards and qemu */
    969	ethernet@gpmc {
    970		compatible = "smsc,lan91c94";
    971		interrupt-parent = <&gpio2>;
    972		interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;	/* gpio54 */
    973		reg = <1 0 0xf>;		/* 16 byte IO range */
    974		bank-width = <2>;
    975		pinctrl-names = "default";
    976		pinctrl-0 = <&ethernet_pins>;
    977		power-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;	/* gpio86 */
    978		reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;	/* gpio164 */
    979		gpmc,device-width = <2>;
    980		gpmc,sync-clk-ps = <0>;
    981		gpmc,cs-on-ns = <0>;
    982		gpmc,cs-rd-off-ns = <48>;
    983		gpmc,cs-wr-off-ns = <24>;
    984		gpmc,adv-on-ns = <0>;
    985		gpmc,adv-rd-off-ns = <0>;
    986		gpmc,adv-wr-off-ns = <0>;
    987		gpmc,we-on-ns = <12>;
    988		gpmc,we-off-ns = <18>;
    989		gpmc,oe-on-ns = <12>;
    990		gpmc,oe-off-ns = <48>;
    991		gpmc,page-burst-access-ns = <0>;
    992		gpmc,access-ns = <42>;
    993		gpmc,rd-cycle-ns = <180>;
    994		gpmc,wr-cycle-ns = <180>;
    995		gpmc,bus-turnaround-ns = <0>;
    996		gpmc,cycle2cycle-delay-ns = <0>;
    997		gpmc,wait-monitoring-ns = <0>;
    998		gpmc,clk-activation-ns = <0>;
    999		gpmc,wr-access-ns = <0>;
   1000		gpmc,wr-data-mux-bus-ns = <12>;
   1001	};
   1002};
   1003
   1004&mcspi1 {
   1005	/*
   1006	 * For some reason, touchscreen is necessary for screen to work at
   1007	 * all on real hw. It works well without it on emulator.
   1008	 *
   1009	 * Also... order in the device tree actually matters here.
   1010	 */
   1011	tsc2005@0 {
   1012		compatible = "ti,tsc2005";
   1013		spi-max-frequency = <6000000>;
   1014		reg = <0>;
   1015
   1016		vio-supply = <&vio>;
   1017
   1018		reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
   1019		interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */
   1020
   1021		touchscreen-fuzz-x = <4>;
   1022		touchscreen-fuzz-y = <7>;
   1023		touchscreen-fuzz-pressure = <2>;
   1024		touchscreen-size-x = <4096>;
   1025		touchscreen-size-y = <4096>;
   1026		touchscreen-max-pressure = <2048>;
   1027
   1028		ti,x-plate-ohms = <280>;
   1029		ti,esd-recovery-timeout-ms = <8000>;
   1030	};
   1031
   1032	lcd: acx565akm@2 {
   1033		compatible = "sony,acx565akm";
   1034		spi-max-frequency = <6000000>;
   1035		reg = <2>;
   1036
   1037		pinctrl-names = "default";
   1038		pinctrl-0 = <&acx565akm_pins>;
   1039
   1040		label = "lcd";
   1041		reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */
   1042
   1043		port {
   1044			lcd_in: endpoint {
   1045				remote-endpoint = <&sdi_out>;
   1046			};
   1047		};
   1048	};
   1049};
   1050
   1051&mcspi4 {
   1052	pinctrl-names = "default";
   1053	pinctrl-0 = <&mcspi4_pins>;
   1054
   1055	wl1251@0 {
   1056		pinctrl-names = "default";
   1057		pinctrl-0 = <&wl1251_pins>;
   1058
   1059		vio-supply = <&vio>;
   1060
   1061		compatible = "ti,wl1251";
   1062		reg = <0>;
   1063		spi-max-frequency = <48000000>;
   1064
   1065		spi-cpol;
   1066		spi-cpha;
   1067
   1068		ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
   1069
   1070		interrupt-parent = <&gpio2>;
   1071		interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
   1072
   1073		clocks = <&vctcxo>;
   1074	};
   1075};
   1076
   1077/* RNG not directly accessible on n900, see omap3-rom-rng instead */
   1078&rng_target {
   1079	status = "disabled";
   1080};
   1081
   1082&usb_otg_hs {
   1083	interface-type = <0>;
   1084	usb-phy = <&usb2_phy>;
   1085	phys = <&usb2_phy>;
   1086	phy-names = "usb2-phy";
   1087	mode = <2>;
   1088	power = <50>;
   1089};
   1090
   1091&uart1 {
   1092	status = "disabled";
   1093};
   1094
   1095&uart2 {
   1096	pinctrl-names = "default";
   1097	pinctrl-0 = <&uart2_pins>;
   1098
   1099	bcm2048: bluetooth {
   1100		compatible = "brcm,bcm2048-nokia", "nokia,h4p-bluetooth";
   1101		reset-gpios = <&gpio3 27 GPIO_ACTIVE_LOW>; /* 91 */
   1102		host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* 101 */
   1103		bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* 37 */
   1104		clocks = <&vctcxo>;
   1105		clock-names = "sysclk";
   1106	};
   1107};
   1108
   1109&uart3 {
   1110	interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
   1111	pinctrl-names = "default";
   1112	pinctrl-0 = <&uart3_pins>;
   1113};
   1114
   1115&dss {
   1116	status = "okay";
   1117
   1118	pinctrl-names = "default";
   1119	pinctrl-0 = <&dss_sdi_pins>;
   1120
   1121	vdds_sdi-supply = <&vaux1>;
   1122
   1123	ports {
   1124		#address-cells = <1>;
   1125		#size-cells = <0>;
   1126
   1127		port@1 {
   1128			reg = <1>;
   1129
   1130			sdi_out: endpoint {
   1131				remote-endpoint = <&lcd_in>;
   1132				datapairs = <2>;
   1133			};
   1134		};
   1135	};
   1136};
   1137
   1138&venc {
   1139	status = "okay";
   1140
   1141	vdda-supply = <&vdac>;
   1142
   1143	port {
   1144		venc_out: endpoint {
   1145			remote-endpoint = <&tv_connector_in>;
   1146			ti,channels = <1>;
   1147		};
   1148	};
   1149};
   1150
   1151&mcbsp2 {
   1152	status = "okay";
   1153};
   1154
   1155&ssi_port1 {
   1156	pinctrl-names = "default";
   1157	pinctrl-0 = <&ssi_pins>;
   1158
   1159	ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
   1160
   1161	modem: hsi-client {
   1162		compatible = "nokia,n900-modem";
   1163
   1164		pinctrl-names = "default";
   1165		pinctrl-0 = <&modem_pins>;
   1166
   1167		hsi-channel-ids = <0>, <1>, <2>, <3>;
   1168		hsi-channel-names = "mcsaab-control",
   1169				    "speech-control",
   1170				    "speech-data",
   1171				    "mcsaab-data";
   1172		hsi-speed-kbps = <55000>;
   1173		hsi-mode = "frame";
   1174		hsi-flow = "synchronized";
   1175		hsi-arb-mode = "round-robin";
   1176
   1177		interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */
   1178
   1179		gpios = <&gpio3  6 GPIO_ACTIVE_HIGH>, /* 70 */
   1180			<&gpio3  9 GPIO_ACTIVE_HIGH>, /* 73 */
   1181			<&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */
   1182			<&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */
   1183			<&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */
   1184		gpio-names = "cmt_apeslpx",
   1185			     "cmt_rst_rq",
   1186			     "cmt_en",
   1187			     "cmt_rst",
   1188			     "cmt_bsi";
   1189	};
   1190};
   1191
   1192&ssi_port2 {
   1193	status = "disabled";
   1194};