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