xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/omap3-n950-n9.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * omap3-n950-n9.dtsi - Device Tree file for Nokia N950 & N9 (common stuff)
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Written by: Aaro Koskinen <aaro.koskinen@iki.fi>
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include "omap36xx.dtsi"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	cpus {
12*4882a593Smuzhiyun		cpu@0 {
13*4882a593Smuzhiyun			cpu0-supply = <&vcc>;
14*4882a593Smuzhiyun		};
15*4882a593Smuzhiyun	};
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	memory@80000000 {
18*4882a593Smuzhiyun		device_type = "memory";
19*4882a593Smuzhiyun		reg = <0x80000000 0x40000000>; /* 1 GB */
20*4882a593Smuzhiyun	};
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	vemmc: fixedregulator0 {
23*4882a593Smuzhiyun		compatible = "regulator-fixed";
24*4882a593Smuzhiyun		regulator-name = "VEMMC";
25*4882a593Smuzhiyun		regulator-min-microvolt = <2900000>;
26*4882a593Smuzhiyun		regulator-max-microvolt = <2900000>;
27*4882a593Smuzhiyun		gpio = <&gpio5 29 GPIO_ACTIVE_HIGH>; /* gpio line 157 */
28*4882a593Smuzhiyun		startup-delay-us = <150>;
29*4882a593Smuzhiyun		enable-active-high;
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	vwlan_fixed: fixedregulator2 {
33*4882a593Smuzhiyun		compatible = "regulator-fixed";
34*4882a593Smuzhiyun		regulator-name = "VWLAN";
35*4882a593Smuzhiyun		gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>; /* gpio 35 */
36*4882a593Smuzhiyun		enable-active-high;
37*4882a593Smuzhiyun	};
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	leds {
40*4882a593Smuzhiyun		compatible = "gpio-leds";
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun		heartbeat {
43*4882a593Smuzhiyun			label = "debug::sleep";
44*4882a593Smuzhiyun			gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;  /* gpio92 */
45*4882a593Smuzhiyun			linux,default-trigger = "default-on";
46*4882a593Smuzhiyun			pinctrl-names = "default";
47*4882a593Smuzhiyun			pinctrl-0 = <&debug_leds>;
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	/* controlled (enabled/disabled) directly by wl1271 */
52*4882a593Smuzhiyun	vctcxo: vctcxo {
53*4882a593Smuzhiyun		compatible = "fixed-clock";
54*4882a593Smuzhiyun		#clock-cells = <0>;
55*4882a593Smuzhiyun		clock-frequency = <38400000>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun&omap3_pmx_core {
60*4882a593Smuzhiyun	accelerator_pins: pinmux_accelerator_pins {
61*4882a593Smuzhiyun		pinctrl-single,pins = <
62*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT | MUX_MODE4)	/* mcspi2_somi.gpio_180 -> LIS302 INT1 */
63*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT | MUX_MODE4)	/* mcspi2_cs0.gpio_181 -> LIS302 INT2 */
64*4882a593Smuzhiyun		>;
65*4882a593Smuzhiyun	};
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun	debug_leds: pinmux_debug_led_pins {
68*4882a593Smuzhiyun		pinctrl-single,pins = <
69*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE4)       /* dss_data22.gpio_92 */
70*4882a593Smuzhiyun		>;
71*4882a593Smuzhiyun	};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	mmc2_pins: pinmux_mmc2_pins {
74*4882a593Smuzhiyun		pinctrl-single,pins = <
75*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */
76*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */
77*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0 */
78*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */
79*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */
80*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */
81*4882a593Smuzhiyun		>;
82*4882a593Smuzhiyun	};
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun	wlan_pins: pinmux_wlan_pins {
85*4882a593Smuzhiyun		pinctrl-single,pins = <
86*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE4) /* gpio 35 - wlan enable */
87*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x208a, PIN_INPUT | MUX_MODE4) /* gpio 42 - wlan irq */
88*4882a593Smuzhiyun		>;
89*4882a593Smuzhiyun	};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	ssi_pins: pinmux_ssi_pins {
92*4882a593Smuzhiyun		pinctrl-single,pins = <
93*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE1)            /* ssi1_dat_tx */
94*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE1)            /* ssi1_flag_tx */
95*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE1)      /* ssi1_rdy_tx */
96*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE4)	/* ssi1_wake_tx (cawake) */
97*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT | MUX_MODE1)             /* ssi1_dat_rx */
98*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE1)             /* ssi1_flag_rx */
99*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | MUX_MODE1)            /* ssi1_rdy_rx */
100*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | MUX_MODE1)            /* ssi1_wake */
101*4882a593Smuzhiyun		>;
102*4882a593Smuzhiyun	};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	ssi_pins_idle: pinmux_ssi_pins_idle {
105*4882a593Smuzhiyun		pinctrl-single,pins = <
106*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE7)            /* ssi1_dat_tx */
107*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE7)            /* ssi1_flag_tx */
108*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLDOWN | MUX_MODE7)    /* ssi1_rdy_tx */
109*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE4)	/* ssi1_wake_tx (cawake) */
110*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT | MUX_MODE7)             /* ssi1_dat_rx */
111*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE7)             /* ssi1_flag_rx */
112*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | MUX_MODE4)            /* ssi1_rdy_rx */
113*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | MUX_MODE7)            /* ssi1_wake */
114*4882a593Smuzhiyun		>;
115*4882a593Smuzhiyun	};
116*4882a593Smuzhiyun
117*4882a593Smuzhiyun	modem_pins1: pinmux_modem_core1_pins {
118*4882a593Smuzhiyun		pinctrl-single,pins = <
119*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x207a, PIN_INPUT | MUX_MODE4)	/* gpio_34 (ape_rst_rq) */
120*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE4)            /* gpio_88 (cmt_rst_rq) */
121*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE4)            /* gpio_93 (cmt_apeslpx) */
122*4882a593Smuzhiyun		>;
123*4882a593Smuzhiyun	};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun	uart2_pins: pinmux_uart2_pins {
126*4882a593Smuzhiyun		pinctrl-single,pins = <
127*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0)		/* uart2_cts */
128*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)		/* uart2_rts */
129*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)		/* uart2_tx */
130*4882a593Smuzhiyun			OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)		/* uart2_rx */
131*4882a593Smuzhiyun		>;
132*4882a593Smuzhiyun	};
133*4882a593Smuzhiyun};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun&omap3_pmx_core2 {
136*4882a593Smuzhiyun	modem_pins2: pinmux_modem_core2_pins {
137*4882a593Smuzhiyun		pinctrl-single,pins = <
138*4882a593Smuzhiyun			OMAP3630_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4)         /* gpio_23 (cmt_en) */
139*4882a593Smuzhiyun		>;
140*4882a593Smuzhiyun	};
141*4882a593Smuzhiyun};
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun&i2c1 {
144*4882a593Smuzhiyun	clock-frequency = <2900000>;
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun	twl: twl@48 {
147*4882a593Smuzhiyun		reg = <0x48>;
148*4882a593Smuzhiyun		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
149*4882a593Smuzhiyun		interrupt-parent = <&intc>;
150*4882a593Smuzhiyun	};
151*4882a593Smuzhiyun};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun/include/ "twl4030.dtsi"
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun&twl {
156*4882a593Smuzhiyun	compatible = "ti,twl5031";
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun	twl_power: power {
159*4882a593Smuzhiyun		compatible = "ti,twl4030-power";
160*4882a593Smuzhiyun		ti,use_poweroff;
161*4882a593Smuzhiyun	};
162*4882a593Smuzhiyun};
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun&twl_gpio {
165*4882a593Smuzhiyun	ti,pullups	= <0x000001>; /* BIT(0) */
166*4882a593Smuzhiyun	ti,pulldowns	= <0x008106>; /* BIT(1) | BIT(2) | BIT(8) | BIT(15) */
167*4882a593Smuzhiyun};
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun&vdac {
170*4882a593Smuzhiyun	regulator-name = "vdac";
171*4882a593Smuzhiyun	regulator-min-microvolt = <1800000>;
172*4882a593Smuzhiyun	regulator-max-microvolt = <1800000>;
173*4882a593Smuzhiyun};
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun&vpll1 {
176*4882a593Smuzhiyun	regulator-name = "vpll1";
177*4882a593Smuzhiyun	regulator-min-microvolt = <1800000>;
178*4882a593Smuzhiyun	regulator-max-microvolt = <1800000>;
179*4882a593Smuzhiyun};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun&vpll2 {
182*4882a593Smuzhiyun	regulator-name = "vpll2";
183*4882a593Smuzhiyun	regulator-min-microvolt = <1800000>;
184*4882a593Smuzhiyun	regulator-max-microvolt = <1800000>;
185*4882a593Smuzhiyun};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun&vaux1 {
188*4882a593Smuzhiyun	regulator-name = "vaux1";
189*4882a593Smuzhiyun	regulator-min-microvolt = <2800000>;
190*4882a593Smuzhiyun	regulator-max-microvolt = <2800000>;
191*4882a593Smuzhiyun};
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun/* CSI-2 receiver */
194*4882a593Smuzhiyun&vaux2 {
195*4882a593Smuzhiyun	regulator-name = "vaux2";
196*4882a593Smuzhiyun	regulator-min-microvolt = <1800000>;
197*4882a593Smuzhiyun	regulator-max-microvolt = <1800000>;
198*4882a593Smuzhiyun};
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun/* Cameras */
201*4882a593Smuzhiyun&vaux3 {
202*4882a593Smuzhiyun	regulator-name = "vaux3";
203*4882a593Smuzhiyun	regulator-min-microvolt = <2800000>;
204*4882a593Smuzhiyun	regulator-max-microvolt = <2800000>;
205*4882a593Smuzhiyun};
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun&vaux4 {
208*4882a593Smuzhiyun	regulator-name = "vaux4";
209*4882a593Smuzhiyun	regulator-min-microvolt = <2800000>;
210*4882a593Smuzhiyun	regulator-max-microvolt = <2800000>;
211*4882a593Smuzhiyun};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun&vmmc1 {
214*4882a593Smuzhiyun	regulator-name = "vmmc1";
215*4882a593Smuzhiyun	regulator-min-microvolt = <1850000>;
216*4882a593Smuzhiyun	regulator-max-microvolt = <3150000>;
217*4882a593Smuzhiyun};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun&vmmc2 {
220*4882a593Smuzhiyun	regulator-name = "vmmc2";
221*4882a593Smuzhiyun	regulator-min-microvolt = <3000000>;
222*4882a593Smuzhiyun	regulator-max-microvolt = <3000000>;
223*4882a593Smuzhiyun};
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun&vintana1 {
226*4882a593Smuzhiyun	regulator-name = "vintana1";
227*4882a593Smuzhiyun	regulator-min-microvolt = <1500000>;
228*4882a593Smuzhiyun	regulator-max-microvolt = <1500000>;
229*4882a593Smuzhiyun};
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun&vintana2 {
232*4882a593Smuzhiyun	regulator-name = "vintana2";
233*4882a593Smuzhiyun	regulator-min-microvolt = <2750000>;
234*4882a593Smuzhiyun	regulator-max-microvolt = <2750000>;
235*4882a593Smuzhiyun};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun&vintdig {
238*4882a593Smuzhiyun	regulator-name = "vintdig";
239*4882a593Smuzhiyun	regulator-min-microvolt = <1500000>;
240*4882a593Smuzhiyun	regulator-max-microvolt = <1500000>;
241*4882a593Smuzhiyun};
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun&vsim {
244*4882a593Smuzhiyun	regulator-name = "vsim";
245*4882a593Smuzhiyun	regulator-min-microvolt = <1800000>;
246*4882a593Smuzhiyun	regulator-max-microvolt = <1800000>;
247*4882a593Smuzhiyun};
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun&vio {
250*4882a593Smuzhiyun	regulator-name = "vio";
251*4882a593Smuzhiyun	regulator-min-microvolt = <1800000>;
252*4882a593Smuzhiyun	regulator-max-microvolt = <1800000>;
253*4882a593Smuzhiyun};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun&i2c2 {
256*4882a593Smuzhiyun	clock-frequency = <400000>;
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun	as3645a@30 {
259*4882a593Smuzhiyun		#address-cells = <1>;
260*4882a593Smuzhiyun		#size-cells = <0>;
261*4882a593Smuzhiyun		reg = <0x30>;
262*4882a593Smuzhiyun		compatible = "ams,as3645a";
263*4882a593Smuzhiyun		as3645a_flash: flash@0 {
264*4882a593Smuzhiyun			reg = <0x0>;
265*4882a593Smuzhiyun			flash-timeout-us = <150000>;
266*4882a593Smuzhiyun			flash-max-microamp = <320000>;
267*4882a593Smuzhiyun			led-max-microamp = <60000>;
268*4882a593Smuzhiyun			ams,input-max-microamp = <1750000>;
269*4882a593Smuzhiyun		};
270*4882a593Smuzhiyun		as3645a_indicator: indicator@1 {
271*4882a593Smuzhiyun			reg = <0x1>;
272*4882a593Smuzhiyun			led-max-microamp = <10000>;
273*4882a593Smuzhiyun		};
274*4882a593Smuzhiyun	};
275*4882a593Smuzhiyun};
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun&i2c3 {
278*4882a593Smuzhiyun	clock-frequency = <400000>;
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun	lis302: lis302@1d {
281*4882a593Smuzhiyun		compatible = "st,lis3lv02d";
282*4882a593Smuzhiyun		reg = <0x1d>;
283*4882a593Smuzhiyun
284*4882a593Smuzhiyun		Vdd-supply = <&vaux1>;
285*4882a593Smuzhiyun		Vdd_IO-supply = <&vio>;
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun		pinctrl-names = "default";
288*4882a593Smuzhiyun		pinctrl-0 = <&accelerator_pins>;
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun                interrupts-extended = <&gpio6 20 IRQ_TYPE_EDGE_FALLING>, <&gpio6 21 IRQ_TYPE_EDGE_FALLING>; /* 180, 181 */
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun		/* click flags */
293*4882a593Smuzhiyun		st,click-single-x;
294*4882a593Smuzhiyun		st,click-single-y;
295*4882a593Smuzhiyun		st,click-single-z;
296*4882a593Smuzhiyun
297*4882a593Smuzhiyun		/* Limits are 0.5g * value */
298*4882a593Smuzhiyun		st,click-threshold-x = <8>;
299*4882a593Smuzhiyun		st,click-threshold-y = <8>;
300*4882a593Smuzhiyun		st,click-threshold-z = <10>;
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun		/* Click must be longer than time limit */
303*4882a593Smuzhiyun		st,click-time-limit = <9>;
304*4882a593Smuzhiyun
305*4882a593Smuzhiyun		/* Kind of debounce filter */
306*4882a593Smuzhiyun		st,click-latency = <50>;
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun		st,wakeup-x-hi;
309*4882a593Smuzhiyun		st,wakeup-y-hi;
310*4882a593Smuzhiyun		st,wakeup-threshold = <(800/18)>; /* millig-value / 18 to get HW values */
311*4882a593Smuzhiyun
312*4882a593Smuzhiyun		st,wakeup2-z-hi;
313*4882a593Smuzhiyun		st,wakeup2-threshold = <(1000/18)>; /* millig-value / 18 to get HW values */
314*4882a593Smuzhiyun
315*4882a593Smuzhiyun		st,highpass-cutoff-hz = <2>;
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun		/* Interrupt line 1 for thresholds */
318*4882a593Smuzhiyun		st,irq1-ff-wu-1;
319*4882a593Smuzhiyun		st,irq1-ff-wu-2;
320*4882a593Smuzhiyun		/* Interrupt line 2 for click detection */
321*4882a593Smuzhiyun		st,irq2-click;
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun		st,wu-duration-1 = <8>;
324*4882a593Smuzhiyun		st,wu-duration-2 = <8>;
325*4882a593Smuzhiyun	};
326*4882a593Smuzhiyun};
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun&mmc1 {
329*4882a593Smuzhiyun	status = "disabled";
330*4882a593Smuzhiyun};
331*4882a593Smuzhiyun
332*4882a593Smuzhiyun&mmc2 {
333*4882a593Smuzhiyun	pinctrl-names = "default";
334*4882a593Smuzhiyun	pinctrl-0 = <&mmc2_pins>;
335*4882a593Smuzhiyun	vmmc-supply = <&vemmc>;
336*4882a593Smuzhiyun	bus-width = <4>;
337*4882a593Smuzhiyun	ti,non-removable;
338*4882a593Smuzhiyun};
339*4882a593Smuzhiyun
340*4882a593Smuzhiyun&mmc3 {
341*4882a593Smuzhiyun	status = "disabled";
342*4882a593Smuzhiyun};
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun/* RNG not directly accessible on N950/N9. */
345*4882a593Smuzhiyun&rng_target {
346*4882a593Smuzhiyun	status = "disabled";
347*4882a593Smuzhiyun};
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun&usb_otg_hs {
350*4882a593Smuzhiyun	interface-type = <0>;
351*4882a593Smuzhiyun	usb-phy = <&usb2_phy>;
352*4882a593Smuzhiyun	phys = <&usb2_phy>;
353*4882a593Smuzhiyun	phy-names = "usb2-phy";
354*4882a593Smuzhiyun	mode = <3>;
355*4882a593Smuzhiyun	power = <50>;
356*4882a593Smuzhiyun};
357*4882a593Smuzhiyun
358*4882a593Smuzhiyun&gpmc {
359*4882a593Smuzhiyun	ranges = <0 0 0x04000000 0x1000000>;	/* CS0: 16MB for OneNAND */
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun	onenand@0,0 {
362*4882a593Smuzhiyun		#address-cells = <1>;
363*4882a593Smuzhiyun		#size-cells = <1>;
364*4882a593Smuzhiyun		compatible = "ti,omap2-onenand";
365*4882a593Smuzhiyun		reg = <0 0 0x20000>;	/* CS0, offset 0, IO size 128K */
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun		/*
368*4882a593Smuzhiyun		 * These timings are based on CONFIG_OMAP_GPMC_DEBUG=y reported
369*4882a593Smuzhiyun		 * bootloader set values when booted with v4.19 using both N950
370*4882a593Smuzhiyun		 * and N9 devices (OneNAND Manufacturer: Samsung):
371*4882a593Smuzhiyun		 *
372*4882a593Smuzhiyun		 *   gpmc cs0 before gpmc_cs_program_settings:
373*4882a593Smuzhiyun		 *   cs0 GPMC_CS_CONFIG1: 0xfd001202
374*4882a593Smuzhiyun		 *   cs0 GPMC_CS_CONFIG2: 0x00181800
375*4882a593Smuzhiyun		 *   cs0 GPMC_CS_CONFIG3: 0x00030300
376*4882a593Smuzhiyun		 *   cs0 GPMC_CS_CONFIG4: 0x18001804
377*4882a593Smuzhiyun		 *   cs0 GPMC_CS_CONFIG5: 0x03171d1d
378*4882a593Smuzhiyun		 *   cs0 GPMC_CS_CONFIG6: 0x97080000
379*4882a593Smuzhiyun		 */
380*4882a593Smuzhiyun		gpmc,sync-read;
381*4882a593Smuzhiyun		gpmc,sync-write;
382*4882a593Smuzhiyun		gpmc,burst-length = <16>;
383*4882a593Smuzhiyun		gpmc,burst-read;
384*4882a593Smuzhiyun		gpmc,burst-wrap;
385*4882a593Smuzhiyun		gpmc,burst-write;
386*4882a593Smuzhiyun		gpmc,device-width = <2>;
387*4882a593Smuzhiyun		gpmc,mux-add-data = <2>;
388*4882a593Smuzhiyun		gpmc,cs-on-ns = <0>;
389*4882a593Smuzhiyun		gpmc,cs-rd-off-ns = <122>;
390*4882a593Smuzhiyun		gpmc,cs-wr-off-ns = <122>;
391*4882a593Smuzhiyun		gpmc,adv-on-ns = <0>;
392*4882a593Smuzhiyun		gpmc,adv-rd-off-ns = <15>;
393*4882a593Smuzhiyun		gpmc,adv-wr-off-ns = <15>;
394*4882a593Smuzhiyun		gpmc,oe-on-ns = <20>;
395*4882a593Smuzhiyun		gpmc,oe-off-ns = <122>;
396*4882a593Smuzhiyun		gpmc,we-on-ns = <0>;
397*4882a593Smuzhiyun		gpmc,we-off-ns = <122>;
398*4882a593Smuzhiyun		gpmc,rd-cycle-ns = <148>;
399*4882a593Smuzhiyun		gpmc,wr-cycle-ns = <148>;
400*4882a593Smuzhiyun		gpmc,access-ns = <117>;
401*4882a593Smuzhiyun		gpmc,page-burst-access-ns = <15>;
402*4882a593Smuzhiyun		gpmc,bus-turnaround-ns = <0>;
403*4882a593Smuzhiyun		gpmc,cycle2cycle-delay-ns = <0>;
404*4882a593Smuzhiyun		gpmc,wait-monitoring-ns = <0>;
405*4882a593Smuzhiyun		gpmc,clk-activation-ns = <10>;
406*4882a593Smuzhiyun		gpmc,wr-data-mux-bus-ns = <40>;
407*4882a593Smuzhiyun		gpmc,wr-access-ns = <117>;
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun		gpmc,sync-clk-ps = <15000>; /* TBC; Where this value came? */
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun		/*
412*4882a593Smuzhiyun		 * MTD partition table corresponding to Nokia's MeeGo 1.2
413*4882a593Smuzhiyun		 * Harmattan release.
414*4882a593Smuzhiyun		 */
415*4882a593Smuzhiyun		partition@0 {
416*4882a593Smuzhiyun			label = "bootloader";
417*4882a593Smuzhiyun			reg = <0x00000000 0x00100000>;
418*4882a593Smuzhiyun		};
419*4882a593Smuzhiyun		partition@1 {
420*4882a593Smuzhiyun			label = "config";
421*4882a593Smuzhiyun			reg = <0x00100000 0x002c0000>;
422*4882a593Smuzhiyun		};
423*4882a593Smuzhiyun		partition@2 {
424*4882a593Smuzhiyun			label = "kernel";
425*4882a593Smuzhiyun			reg = <0x003c0000 0x01000000>;
426*4882a593Smuzhiyun		};
427*4882a593Smuzhiyun		partition@3 {
428*4882a593Smuzhiyun			label = "log";
429*4882a593Smuzhiyun			reg = <0x013c0000 0x00200000>;
430*4882a593Smuzhiyun		};
431*4882a593Smuzhiyun		partition@4 {
432*4882a593Smuzhiyun			label = "var";
433*4882a593Smuzhiyun			reg = <0x015c0000 0x1ca40000>;
434*4882a593Smuzhiyun		};
435*4882a593Smuzhiyun		partition@5 {
436*4882a593Smuzhiyun			label = "moslo";
437*4882a593Smuzhiyun			reg = <0x1e000000 0x02000000>;
438*4882a593Smuzhiyun		};
439*4882a593Smuzhiyun		partition@6 {
440*4882a593Smuzhiyun			label = "omap2-onenand";
441*4882a593Smuzhiyun			reg = <0x00000000 0x20000000>;
442*4882a593Smuzhiyun		};
443*4882a593Smuzhiyun	};
444*4882a593Smuzhiyun};
445*4882a593Smuzhiyun
446*4882a593Smuzhiyun&ssi_port1 {
447*4882a593Smuzhiyun	pinctrl-names = "default", "idle";
448*4882a593Smuzhiyun	pinctrl-0 = <&ssi_pins>;
449*4882a593Smuzhiyun	pinctrl-1 = <&ssi_pins_idle>;
450*4882a593Smuzhiyun
451*4882a593Smuzhiyun	ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
452*4882a593Smuzhiyun
453*4882a593Smuzhiyun	modem: hsi-client {
454*4882a593Smuzhiyun		pinctrl-names = "default";
455*4882a593Smuzhiyun		pinctrl-0 = <&modem_pins1 &modem_pins2>;
456*4882a593Smuzhiyun
457*4882a593Smuzhiyun		hsi-channel-ids = <0>, <1>, <2>, <3>;
458*4882a593Smuzhiyun		hsi-channel-names = "mcsaab-control",
459*4882a593Smuzhiyun				    "speech-control",
460*4882a593Smuzhiyun				    "speech-data",
461*4882a593Smuzhiyun				    "mcsaab-data";
462*4882a593Smuzhiyun		hsi-speed-kbps = <96000>;
463*4882a593Smuzhiyun		hsi-mode = "frame";
464*4882a593Smuzhiyun		hsi-flow = "synchronized";
465*4882a593Smuzhiyun		hsi-arb-mode = "round-robin";
466*4882a593Smuzhiyun
467*4882a593Smuzhiyun		interrupts-extended = <&gpio2 2 IRQ_TYPE_EDGE_RISING>; /* gpio 34 */
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun		gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>, /* gpio 93 */
470*4882a593Smuzhiyun			<&gpio3 24 GPIO_ACTIVE_HIGH>, /* gpio 88 */
471*4882a593Smuzhiyun			<&gpio1 23 GPIO_ACTIVE_HIGH>; /* gpio 23 */
472*4882a593Smuzhiyun		gpio-names = "cmt_apeslpx",
473*4882a593Smuzhiyun			     "cmt_rst_rq",
474*4882a593Smuzhiyun			     "cmt_en";
475*4882a593Smuzhiyun	};
476*4882a593Smuzhiyun};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun&ssi_port2 {
479*4882a593Smuzhiyun	status = "disabled";
480*4882a593Smuzhiyun};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun&uart2 {
483*4882a593Smuzhiyun	pinctrl-names = "default";
484*4882a593Smuzhiyun	pinctrl-0 = <&uart2_pins>;
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun	bluetooth {
487*4882a593Smuzhiyun		compatible = "ti,wl1271-bluetooth-nokia", "nokia,h4p-bluetooth";
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun		reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; /* 26 */
490*4882a593Smuzhiyun		host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* 101 */
491*4882a593Smuzhiyun		bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* 37 */
492*4882a593Smuzhiyun
493*4882a593Smuzhiyun		clocks = <&vctcxo>;
494*4882a593Smuzhiyun		clock-names = "sysclk";
495*4882a593Smuzhiyun	};
496*4882a593Smuzhiyun};
497*4882a593Smuzhiyun
498*4882a593Smuzhiyun&aes1_target {
499*4882a593Smuzhiyun	status = "disabled";
500*4882a593Smuzhiyun};
501*4882a593Smuzhiyun
502*4882a593Smuzhiyun&aes2_target {
503*4882a593Smuzhiyun	status = "disabled";
504*4882a593Smuzhiyun};
505