xref: /linux/scripts/dtc/include-prefixes/arm/samsung/exynos5250-manta.dts (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1*16319efcSAlexandre Marquet// SPDX-License-Identifier: GPL-2.0
2*16319efcSAlexandre Marquet/*
3*16319efcSAlexandre Marquet * Google Manta (Nexus 10) board device tree source
4*16319efcSAlexandre Marquet *
5*16319efcSAlexandre Marquet * Copyright (c) 2023-2026 Alexandre Marquet
6*16319efcSAlexandre Marquet * Copyright (c) 2025-2026 Lukas Timmermann
7*16319efcSAlexandre Marquet */
8*16319efcSAlexandre Marquet
9*16319efcSAlexandre Marquet/dts-v1/;
10*16319efcSAlexandre Marquet#include "exynos5250.dtsi"
11*16319efcSAlexandre Marquet#include "exynos-pinctrl.h"
12*16319efcSAlexandre Marquet#include "exynos-mfc-reserved-memory.dtsi"
13*16319efcSAlexandre Marquet
14*16319efcSAlexandre Marquet#include <dt-bindings/clock/maxim,max77686.h>
15*16319efcSAlexandre Marquet#include <dt-bindings/gpio/gpio.h>
16*16319efcSAlexandre Marquet#include <dt-bindings/input/linux-event-codes.h>
17*16319efcSAlexandre Marquet#include <dt-bindings/leds/common.h>
18*16319efcSAlexandre Marquet
19*16319efcSAlexandre Marquet/ {
20*16319efcSAlexandre Marquet	model = "Google Nexus 10";
21*16319efcSAlexandre Marquet	compatible = "google,manta", "samsung,exynos5250", "samsung,exynos5";
22*16319efcSAlexandre Marquet
23*16319efcSAlexandre Marquet	aliases {
24*16319efcSAlexandre Marquet		mmc0 = &mmc_0; /* eMMC */
25*16319efcSAlexandre Marquet		mmc1 = &mmc_1; /* WiFi */
26*16319efcSAlexandre Marquet	};
27*16319efcSAlexandre Marquet
28*16319efcSAlexandre Marquet	/* Voltage source unknown */
29*16319efcSAlexandre Marquet	bmp180_vdda_reg: regulator-bmp180-vdda {
30*16319efcSAlexandre Marquet		compatible = "regulator-fixed";
31*16319efcSAlexandre Marquet		regulator-name = "BMP180_VDDA";
32*16319efcSAlexandre Marquet	};
33*16319efcSAlexandre Marquet
34*16319efcSAlexandre Marquet	/* Voltage source unknown */
35*16319efcSAlexandre Marquet	bmp180_vddd_reg: regulator-bmp180-vddd {
36*16319efcSAlexandre Marquet		compatible = "regulator-fixed";
37*16319efcSAlexandre Marquet		regulator-name = "BMP180_VDDD";
38*16319efcSAlexandre Marquet	};
39*16319efcSAlexandre Marquet
40*16319efcSAlexandre Marquet	chosen {
41*16319efcSAlexandre Marquet		stdout-path = "serial2:115200n8";
42*16319efcSAlexandre Marquet	};
43*16319efcSAlexandre Marquet
44*16319efcSAlexandre Marquet	flash-controller {
45*16319efcSAlexandre Marquet		compatible = "gpio-leds";
46*16319efcSAlexandre Marquet
47*16319efcSAlexandre Marquet		led-flash {
48*16319efcSAlexandre Marquet			function = LED_FUNCTION_FLASH;
49*16319efcSAlexandre Marquet			color = <LED_COLOR_ID_WHITE>;
50*16319efcSAlexandre Marquet			linux,default-trigger = "flash";
51*16319efcSAlexandre Marquet			gpios = <&gpe0 1 GPIO_ACTIVE_HIGH>;
52*16319efcSAlexandre Marquet			default-state = "off";
53*16319efcSAlexandre Marquet		};
54*16319efcSAlexandre Marquet	};
55*16319efcSAlexandre Marquet
56*16319efcSAlexandre Marquet	fixed-rate-clocks {
57*16319efcSAlexandre Marquet		xxti {
58*16319efcSAlexandre Marquet			compatible = "samsung,clock-xxti";
59*16319efcSAlexandre Marquet			clock-frequency = <24000000>;
60*16319efcSAlexandre Marquet		};
61*16319efcSAlexandre Marquet	};
62*16319efcSAlexandre Marquet
63*16319efcSAlexandre Marquet	gpio-keys {
64*16319efcSAlexandre Marquet		compatible = "gpio-keys";
65*16319efcSAlexandre Marquet
66*16319efcSAlexandre Marquet		pinctrl-0 = <&gpio_keys>;
67*16319efcSAlexandre Marquet		pinctrl-names = "default";
68*16319efcSAlexandre Marquet
69*16319efcSAlexandre Marquet		button-volume-down {
70*16319efcSAlexandre Marquet			label = "Volume Down";
71*16319efcSAlexandre Marquet			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
72*16319efcSAlexandre Marquet			linux,code = <KEY_VOLUMEDOWN>;
73*16319efcSAlexandre Marquet			debounce-interval = <5>;
74*16319efcSAlexandre Marquet		};
75*16319efcSAlexandre Marquet
76*16319efcSAlexandre Marquet		button-volume-up {
77*16319efcSAlexandre Marquet			label = "Volume Up";
78*16319efcSAlexandre Marquet			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
79*16319efcSAlexandre Marquet			linux,code = <KEY_VOLUMEUP>;
80*16319efcSAlexandre Marquet			debounce-interval = <5>;
81*16319efcSAlexandre Marquet		};
82*16319efcSAlexandre Marquet
83*16319efcSAlexandre Marquet		button-power {
84*16319efcSAlexandre Marquet			label = "Power";
85*16319efcSAlexandre Marquet			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
86*16319efcSAlexandre Marquet			linux,code = <KEY_POWER>;
87*16319efcSAlexandre Marquet			debounce-interval = <5>;
88*16319efcSAlexandre Marquet			wakeup-source;
89*16319efcSAlexandre Marquet		};
90*16319efcSAlexandre Marquet
91*16319efcSAlexandre Marquet		lid-switch {
92*16319efcSAlexandre Marquet			label = "Hall Effect Sensor";
93*16319efcSAlexandre Marquet			gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
94*16319efcSAlexandre Marquet			linux,input-type = <EV_SW>;
95*16319efcSAlexandre Marquet			linux,code = <SW_LID>;
96*16319efcSAlexandre Marquet			debounce-interval = <10>;
97*16319efcSAlexandre Marquet			wakeup-source;
98*16319efcSAlexandre Marquet		};
99*16319efcSAlexandre Marquet	};
100*16319efcSAlexandre Marquet
101*16319efcSAlexandre Marquet	multi-led {
102*16319efcSAlexandre Marquet		compatible = "leds-group-multicolor";
103*16319efcSAlexandre Marquet		color = <LED_COLOR_ID_RGB>;
104*16319efcSAlexandre Marquet		function = LED_FUNCTION_STATUS;
105*16319efcSAlexandre Marquet		leds = <&status_red>, <&status_green>, <&status_blue>, <&status_white>;
106*16319efcSAlexandre Marquet	};
107*16319efcSAlexandre Marquet
108*16319efcSAlexandre Marquet	pwrseq: mmc1-pwrseq {
109*16319efcSAlexandre Marquet		compatible = "mmc-pwrseq-simple";
110*16319efcSAlexandre Marquet
111*16319efcSAlexandre Marquet		reset-gpios = <&gpv1 0 GPIO_ACTIVE_LOW>;
112*16319efcSAlexandre Marquet		pinctrl-0 = <&wlan_pmena>;
113*16319efcSAlexandre Marquet		pinctrl-names = "default";
114*16319efcSAlexandre Marquet
115*16319efcSAlexandre Marquet		clocks = <&max77686 MAX77686_CLK_PMIC>;
116*16319efcSAlexandre Marquet		clock-names = "ext_clock";
117*16319efcSAlexandre Marquet
118*16319efcSAlexandre Marquet		post-power-on-delay-ms = <300>;
119*16319efcSAlexandre Marquet		power-off-delay-us = <50>;
120*16319efcSAlexandre Marquet	};
121*16319efcSAlexandre Marquet
122*16319efcSAlexandre Marquet	firmware@204efff {
123*16319efcSAlexandre Marquet		compatible = "samsung,secure-firmware";
124*16319efcSAlexandre Marquet		reg = <0x0204efff 0x1000>;
125*16319efcSAlexandre Marquet	};
126*16319efcSAlexandre Marquet
127*16319efcSAlexandre Marquet	memory@40000000 {
128*16319efcSAlexandre Marquet		device_type = "memory";
129*16319efcSAlexandre Marquet		reg = <0x40000000 0x20000000>,
130*16319efcSAlexandre Marquet		      <0x60000000 0x20000000>,
131*16319efcSAlexandre Marquet		      <0x80000000 0x20000000>,
132*16319efcSAlexandre Marquet		      <0xa0000000 0x1ff00000>;
133*16319efcSAlexandre Marquet	};
134*16319efcSAlexandre Marquet};
135*16319efcSAlexandre Marquet
136*16319efcSAlexandre Marquet&clock {
137*16319efcSAlexandre Marquet	assigned-clocks = <&clock CLK_FOUT_APLL>;
138*16319efcSAlexandre Marquet	assigned-clock-rates = <1000000000>;
139*16319efcSAlexandre Marquet};
140*16319efcSAlexandre Marquet
141*16319efcSAlexandre Marquet&cpu0 {
142*16319efcSAlexandre Marquet	cpu-supply = <&buck2_reg>;
143*16319efcSAlexandre Marquet};
144*16319efcSAlexandre Marquet
145*16319efcSAlexandre Marquet&cpu1 {
146*16319efcSAlexandre Marquet	cpu-supply = <&buck2_reg>;
147*16319efcSAlexandre Marquet};
148*16319efcSAlexandre Marquet
149*16319efcSAlexandre Marquet&ehci {
150*16319efcSAlexandre Marquet	status = "disabled";
151*16319efcSAlexandre Marquet};
152*16319efcSAlexandre Marquet
153*16319efcSAlexandre Marquet&i2c_1 {
154*16319efcSAlexandre Marquet	status = "okay";
155*16319efcSAlexandre Marquet
156*16319efcSAlexandre Marquet	pressure-sensor@77 {
157*16319efcSAlexandre Marquet		compatible = "bosch,bmp180";
158*16319efcSAlexandre Marquet		reg = <0x77>;
159*16319efcSAlexandre Marquet		vddd-supply = <&bmp180_vddd_reg>;
160*16319efcSAlexandre Marquet		vdda-supply = <&bmp180_vdda_reg>;
161*16319efcSAlexandre Marquet	};
162*16319efcSAlexandre Marquet
163*16319efcSAlexandre Marquet	accelerometer@68 {
164*16319efcSAlexandre Marquet		compatible = "invensense,mpu6050";
165*16319efcSAlexandre Marquet		reg = <0x68>;
166*16319efcSAlexandre Marquet
167*16319efcSAlexandre Marquet		pinctrl-0 = <&acc_int>;
168*16319efcSAlexandre Marquet		pinctrl-names = "default";
169*16319efcSAlexandre Marquet
170*16319efcSAlexandre Marquet		interrupt-parent = <&gpx1>;
171*16319efcSAlexandre Marquet		interrupts = <4 IRQ_TYPE_EDGE_RISING>;
172*16319efcSAlexandre Marquet
173*16319efcSAlexandre Marquet		mount-matrix = "0", "-1",  "0",
174*16319efcSAlexandre Marquet			      "-1",  "0",  "0",
175*16319efcSAlexandre Marquet			       "0",  "0", "-1";
176*16319efcSAlexandre Marquet
177*16319efcSAlexandre Marquet		i2c-gate {
178*16319efcSAlexandre Marquet			#address-cells = <1>;
179*16319efcSAlexandre Marquet			#size-cells = <0>;
180*16319efcSAlexandre Marquet
181*16319efcSAlexandre Marquet			magnetometer@c {
182*16319efcSAlexandre Marquet				compatible = "asahi-kasei,ak8963";
183*16319efcSAlexandre Marquet				reg = <0x0c>;
184*16319efcSAlexandre Marquet
185*16319efcSAlexandre Marquet				pinctrl-0 = <&msense_reset>;
186*16319efcSAlexandre Marquet				pinctrl-names = "default";
187*16319efcSAlexandre Marquet
188*16319efcSAlexandre Marquet				mount-matrix = "-1", "0",  "0",
189*16319efcSAlexandre Marquet					       "0",  "1",  "0",
190*16319efcSAlexandre Marquet					       "0",  "0", "-1";
191*16319efcSAlexandre Marquet			};
192*16319efcSAlexandre Marquet		};
193*16319efcSAlexandre Marquet	};
194*16319efcSAlexandre Marquet
195*16319efcSAlexandre Marquet	led-controller@42 {
196*16319efcSAlexandre Marquet		compatible = "ams,as3668";
197*16319efcSAlexandre Marquet		#address-cells = <1>;
198*16319efcSAlexandre Marquet		#size-cells = <0>;
199*16319efcSAlexandre Marquet		reg = <0x42>;
200*16319efcSAlexandre Marquet
201*16319efcSAlexandre Marquet		status_red: led@0 {
202*16319efcSAlexandre Marquet			reg = <0>;
203*16319efcSAlexandre Marquet			function = LED_FUNCTION_STATUS;
204*16319efcSAlexandre Marquet			color = <LED_COLOR_ID_RED>;
205*16319efcSAlexandre Marquet		};
206*16319efcSAlexandre Marquet
207*16319efcSAlexandre Marquet		status_green: led@1 {
208*16319efcSAlexandre Marquet			reg = <1>;
209*16319efcSAlexandre Marquet			function = LED_FUNCTION_STATUS;
210*16319efcSAlexandre Marquet			color = <LED_COLOR_ID_GREEN>;
211*16319efcSAlexandre Marquet		};
212*16319efcSAlexandre Marquet
213*16319efcSAlexandre Marquet		status_blue: led@2 {
214*16319efcSAlexandre Marquet			reg = <2>;
215*16319efcSAlexandre Marquet			function = LED_FUNCTION_STATUS;
216*16319efcSAlexandre Marquet			color = <LED_COLOR_ID_BLUE>;
217*16319efcSAlexandre Marquet		};
218*16319efcSAlexandre Marquet
219*16319efcSAlexandre Marquet		status_white: led@3 {
220*16319efcSAlexandre Marquet			reg = <3>;
221*16319efcSAlexandre Marquet			function = LED_FUNCTION_STATUS;
222*16319efcSAlexandre Marquet			color = <LED_COLOR_ID_WHITE>;
223*16319efcSAlexandre Marquet		};
224*16319efcSAlexandre Marquet	};
225*16319efcSAlexandre Marquet};
226*16319efcSAlexandre Marquet
227*16319efcSAlexandre Marquet&i2c_2 {
228*16319efcSAlexandre Marquet	status = "okay";
229*16319efcSAlexandre Marquet
230*16319efcSAlexandre Marquet	light-sensor@23 {
231*16319efcSAlexandre Marquet		compatible = "rohm,bh1721";
232*16319efcSAlexandre Marquet		reg = <0x23>;
233*16319efcSAlexandre Marquet
234*16319efcSAlexandre Marquet		pinctrl-0 = <&bh1721fvc_reset>;
235*16319efcSAlexandre Marquet		pinctrl-names = "default";
236*16319efcSAlexandre Marquet
237*16319efcSAlexandre Marquet		reset-gpios = <&gph1 2 GPIO_ACTIVE_LOW>;
238*16319efcSAlexandre Marquet	};
239*16319efcSAlexandre Marquet
240*16319efcSAlexandre Marquet	onewire@18 {
241*16319efcSAlexandre Marquet		compatible = "maxim,ds2484";
242*16319efcSAlexandre Marquet		reg = <0x18>;
243*16319efcSAlexandre Marquet
244*16319efcSAlexandre Marquet		pinctrl-0 = <&onewire_sleep>;
245*16319efcSAlexandre Marquet		pinctrl-names = "default";
246*16319efcSAlexandre Marquet	};
247*16319efcSAlexandre Marquet};
248*16319efcSAlexandre Marquet
249*16319efcSAlexandre Marquet&i2c_5 {
250*16319efcSAlexandre Marquet	samsung,i2c-sda-delay = <100>;
251*16319efcSAlexandre Marquet	status = "okay";
252*16319efcSAlexandre Marquet
253*16319efcSAlexandre Marquet	max77686: pmic@9 {
254*16319efcSAlexandre Marquet		compatible = "maxim,max77686";
255*16319efcSAlexandre Marquet		reg = <0x09>;
256*16319efcSAlexandre Marquet
257*16319efcSAlexandre Marquet		interrupt-parent = <&gpx0>;
258*16319efcSAlexandre Marquet		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
259*16319efcSAlexandre Marquet
260*16319efcSAlexandre Marquet		pinctrl-0 = <&max77686_irq>;
261*16319efcSAlexandre Marquet		pinctrl-names = "default";
262*16319efcSAlexandre Marquet
263*16319efcSAlexandre Marquet		#clock-cells = <1>;
264*16319efcSAlexandre Marquet		wakeup-source;
265*16319efcSAlexandre Marquet
266*16319efcSAlexandre Marquet		voltage-regulators {
267*16319efcSAlexandre Marquet			buck1_reg: BUCK1 {
268*16319efcSAlexandre Marquet				regulator-name = "vdd_mif";
269*16319efcSAlexandre Marquet				regulator-min-microvolt = <850000>;
270*16319efcSAlexandre Marquet				regulator-max-microvolt = <1200000>;
271*16319efcSAlexandre Marquet				regulator-always-on;
272*16319efcSAlexandre Marquet				regulator-boot-on;
273*16319efcSAlexandre Marquet			};
274*16319efcSAlexandre Marquet
275*16319efcSAlexandre Marquet			buck2_reg: BUCK2 {
276*16319efcSAlexandre Marquet				regulator-name = "vdd_arm";
277*16319efcSAlexandre Marquet				regulator-min-microvolt = <850000>;
278*16319efcSAlexandre Marquet				regulator-max-microvolt = <1200000>;
279*16319efcSAlexandre Marquet				regulator-always-on;
280*16319efcSAlexandre Marquet				regulator-boot-on;
281*16319efcSAlexandre Marquet			};
282*16319efcSAlexandre Marquet
283*16319efcSAlexandre Marquet			buck3_reg: BUCK3 {
284*16319efcSAlexandre Marquet				regulator-name = "vdd_int";
285*16319efcSAlexandre Marquet				regulator-min-microvolt = <850000>;
286*16319efcSAlexandre Marquet				regulator-max-microvolt = <1200000>;
287*16319efcSAlexandre Marquet				regulator-always-on;
288*16319efcSAlexandre Marquet				regulator-boot-on;
289*16319efcSAlexandre Marquet			};
290*16319efcSAlexandre Marquet
291*16319efcSAlexandre Marquet			buck4_reg: BUCK4 {
292*16319efcSAlexandre Marquet				regulator-name = "vdd_g3d";
293*16319efcSAlexandre Marquet				regulator-min-microvolt = <850000>;
294*16319efcSAlexandre Marquet				regulator-max-microvolt = <1200000>;
295*16319efcSAlexandre Marquet				regulator-boot-on;
296*16319efcSAlexandre Marquet			};
297*16319efcSAlexandre Marquet
298*16319efcSAlexandre Marquet			ldo3_reg: LDO3 {
299*16319efcSAlexandre Marquet				regulator-name = "VCC_1.8V_AP";
300*16319efcSAlexandre Marquet				regulator-min-microvolt = <1800000>;
301*16319efcSAlexandre Marquet				regulator-max-microvolt = <1800000>;
302*16319efcSAlexandre Marquet				regulator-always-on;
303*16319efcSAlexandre Marquet				regulator-boot-on;
304*16319efcSAlexandre Marquet			};
305*16319efcSAlexandre Marquet
306*16319efcSAlexandre Marquet			ldo8_reg: LDO8 {
307*16319efcSAlexandre Marquet				regulator-name = "VMIPI_1.0V";
308*16319efcSAlexandre Marquet				regulator-min-microvolt = <1000000>;
309*16319efcSAlexandre Marquet				regulator-max-microvolt = <1000000>;
310*16319efcSAlexandre Marquet				regulator-always-on;
311*16319efcSAlexandre Marquet				regulator-boot-on;
312*16319efcSAlexandre Marquet			};
313*16319efcSAlexandre Marquet
314*16319efcSAlexandre Marquet			ldo9_reg: LDO9 {
315*16319efcSAlexandre Marquet				regulator-name = "TOUCH_VDD_1.8V";
316*16319efcSAlexandre Marquet				regulator-min-microvolt = <1800000>;
317*16319efcSAlexandre Marquet				regulator-max-microvolt = <1800000>;
318*16319efcSAlexandre Marquet			};
319*16319efcSAlexandre Marquet
320*16319efcSAlexandre Marquet			ldo10_reg: LDO10 {
321*16319efcSAlexandre Marquet				regulator-name = "VMIPI_1.8V";
322*16319efcSAlexandre Marquet				regulator-min-microvolt = <1800000>;
323*16319efcSAlexandre Marquet				regulator-max-microvolt = <1800000>;
324*16319efcSAlexandre Marquet				regulator-always-on;
325*16319efcSAlexandre Marquet				regulator-boot-on;
326*16319efcSAlexandre Marquet			};
327*16319efcSAlexandre Marquet
328*16319efcSAlexandre Marquet			ldo12_reg: LDO12 {
329*16319efcSAlexandre Marquet				regulator-name = "VUOTG_3.0V";
330*16319efcSAlexandre Marquet				regulator-min-microvolt = <3000000>;
331*16319efcSAlexandre Marquet				regulator-max-microvolt = <3000000>;
332*16319efcSAlexandre Marquet				regulator-always-on;
333*16319efcSAlexandre Marquet				regulator-boot-on;
334*16319efcSAlexandre Marquet			};
335*16319efcSAlexandre Marquet
336*16319efcSAlexandre Marquet			ldo15_reg: LDO15 {
337*16319efcSAlexandre Marquet				regulator-name = "VHSIC_1.0V";
338*16319efcSAlexandre Marquet				regulator-min-microvolt = <1000000>;
339*16319efcSAlexandre Marquet				regulator-max-microvolt = <1000000>;
340*16319efcSAlexandre Marquet				regulator-always-on;
341*16319efcSAlexandre Marquet				regulator-boot-on;
342*16319efcSAlexandre Marquet			};
343*16319efcSAlexandre Marquet
344*16319efcSAlexandre Marquet			ldo16_reg: LDO16 {
345*16319efcSAlexandre Marquet				regulator-name = "VHSIC_1.8V";
346*16319efcSAlexandre Marquet				regulator-min-microvolt = <1800000>;
347*16319efcSAlexandre Marquet				regulator-max-microvolt = <1800000>;
348*16319efcSAlexandre Marquet				regulator-always-on;
349*16319efcSAlexandre Marquet				regulator-boot-on;
350*16319efcSAlexandre Marquet			};
351*16319efcSAlexandre Marquet
352*16319efcSAlexandre Marquet			ldo17_reg: LDO17 {
353*16319efcSAlexandre Marquet				regulator-name = "5M_CORE_1.5V";
354*16319efcSAlexandre Marquet				regulator-min-microvolt = <1500000>;
355*16319efcSAlexandre Marquet				regulator-max-microvolt = <1500000>;
356*16319efcSAlexandre Marquet			};
357*16319efcSAlexandre Marquet
358*16319efcSAlexandre Marquet			ldo18_reg: LDO18 {
359*16319efcSAlexandre Marquet				regulator-name = "CAM_IO_1.8V";
360*16319efcSAlexandre Marquet				regulator-min-microvolt = <1800000>;
361*16319efcSAlexandre Marquet				regulator-max-microvolt = <1800000>;
362*16319efcSAlexandre Marquet			};
363*16319efcSAlexandre Marquet
364*16319efcSAlexandre Marquet			ldo19_reg: LDO19 {
365*16319efcSAlexandre Marquet				regulator-name = "VT_CAM_1.8V";
366*16319efcSAlexandre Marquet				regulator-min-microvolt = <1800000>;
367*16319efcSAlexandre Marquet				regulator-max-microvolt = <1800000>;
368*16319efcSAlexandre Marquet			};
369*16319efcSAlexandre Marquet
370*16319efcSAlexandre Marquet			ldo20_reg: LDO20 {
371*16319efcSAlexandre Marquet				regulator-name = "TA_CHECK_1.35V";
372*16319efcSAlexandre Marquet				regulator-min-microvolt = <1350000>;
373*16319efcSAlexandre Marquet				regulator-max-microvolt = <1350000>;
374*16319efcSAlexandre Marquet			};
375*16319efcSAlexandre Marquet
376*16319efcSAlexandre Marquet			ldo23_reg: LDO23 {
377*16319efcSAlexandre Marquet				regulator-name = "TSP_AVDD_2.8V";
378*16319efcSAlexandre Marquet				regulator-min-microvolt = <2800000>;
379*16319efcSAlexandre Marquet				regulator-max-microvolt = <2800000>;
380*16319efcSAlexandre Marquet			};
381*16319efcSAlexandre Marquet
382*16319efcSAlexandre Marquet			ldo24_reg: LDO24 {
383*16319efcSAlexandre Marquet				regulator-name = "CAM_AF_2.8V";
384*16319efcSAlexandre Marquet				regulator-min-microvolt = <2800000>;
385*16319efcSAlexandre Marquet				regulator-max-microvolt = <2800000>;
386*16319efcSAlexandre Marquet			};
387*16319efcSAlexandre Marquet
388*16319efcSAlexandre Marquet			ldo25_reg: LDO25 {
389*16319efcSAlexandre Marquet				regulator-name = "VADC_3.3V";
390*16319efcSAlexandre Marquet				regulator-min-microvolt = <3300000>;
391*16319efcSAlexandre Marquet				regulator-max-microvolt = <3300000>;
392*16319efcSAlexandre Marquet				regulator-always-on;
393*16319efcSAlexandre Marquet				regulator-boot-on;
394*16319efcSAlexandre Marquet			};
395*16319efcSAlexandre Marquet		};
396*16319efcSAlexandre Marquet	};
397*16319efcSAlexandre Marquet};
398*16319efcSAlexandre Marquet
399*16319efcSAlexandre Marquet&mixer {
400*16319efcSAlexandre Marquet	status = "okay";
401*16319efcSAlexandre Marquet};
402*16319efcSAlexandre Marquet
403*16319efcSAlexandre Marquet/* eMMC */
404*16319efcSAlexandre Marquet&mmc_0 {
405*16319efcSAlexandre Marquet	non-removable;
406*16319efcSAlexandre Marquet	max-frequency = <200000000>;
407*16319efcSAlexandre Marquet	sd-uhs-ddr50;
408*16319efcSAlexandre Marquet	mmc-ddr-1_8v;
409*16319efcSAlexandre Marquet	cap-mmc-hw-reset;
410*16319efcSAlexandre Marquet	mmc-hs200-1_8v;
411*16319efcSAlexandre Marquet	bus-width = <8>;
412*16319efcSAlexandre Marquet	card-detect-delay = <200>;
413*16319efcSAlexandre Marquet	samsung,dw-mshc-ciu-div = <3>;
414*16319efcSAlexandre Marquet	samsung,dw-mshc-sdr-timing = <1 2>;
415*16319efcSAlexandre Marquet	samsung,dw-mshc-ddr-timing = <2 3>;
416*16319efcSAlexandre Marquet
417*16319efcSAlexandre Marquet	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
418*16319efcSAlexandre Marquet	pinctrl-names = "default";
419*16319efcSAlexandre Marquet
420*16319efcSAlexandre Marquet	status = "okay";
421*16319efcSAlexandre Marquet};
422*16319efcSAlexandre Marquet
423*16319efcSAlexandre Marquet/* WiFi */
424*16319efcSAlexandre Marquet&mmc_1 {
425*16319efcSAlexandre Marquet	non-removable;
426*16319efcSAlexandre Marquet	max-frequency = <100000000>;
427*16319efcSAlexandre Marquet	sd-uhs-sdr50;
428*16319efcSAlexandre Marquet	cap-sd-highspeed;
429*16319efcSAlexandre Marquet	keep-power-in-suspend;
430*16319efcSAlexandre Marquet	bus-width = <4>;
431*16319efcSAlexandre Marquet	card-detect-delay = <0>;
432*16319efcSAlexandre Marquet	samsung,dw-mshc-ciu-div = <3>;
433*16319efcSAlexandre Marquet	samsung,dw-mshc-sdr-timing = <2 4>;
434*16319efcSAlexandre Marquet	samsung,dw-mshc-ddr-timing = <2 3>;
435*16319efcSAlexandre Marquet
436*16319efcSAlexandre Marquet	pinctrl-names = "default";
437*16319efcSAlexandre Marquet	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus4>;
438*16319efcSAlexandre Marquet	mmc-pwrseq = <&pwrseq>;
439*16319efcSAlexandre Marquet
440*16319efcSAlexandre Marquet	status = "okay";
441*16319efcSAlexandre Marquet
442*16319efcSAlexandre Marquet	wifi@1 {
443*16319efcSAlexandre Marquet		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
444*16319efcSAlexandre Marquet		reg = <1>;
445*16319efcSAlexandre Marquet		interrupt-parent = <&gpx2>;
446*16319efcSAlexandre Marquet		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
447*16319efcSAlexandre Marquet		interrupt-names = "host-wake";
448*16319efcSAlexandre Marquet		pinctrl-0 = <&wlan_irq>;
449*16319efcSAlexandre Marquet		pinctrl-names = "default";
450*16319efcSAlexandre Marquet	};
451*16319efcSAlexandre Marquet};
452*16319efcSAlexandre Marquet
453*16319efcSAlexandre Marquet&ohci {
454*16319efcSAlexandre Marquet	status = "disabled";
455*16319efcSAlexandre Marquet};
456*16319efcSAlexandre Marquet
457*16319efcSAlexandre Marquet&pinctrl_0 {
458*16319efcSAlexandre Marquet	acc_int: acc-int-pins {
459*16319efcSAlexandre Marquet		samsung,pins = "gpx1-4";
460*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
461*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
462*16319efcSAlexandre Marquet	};
463*16319efcSAlexandre Marquet
464*16319efcSAlexandre Marquet	max77686_irq: max77686-irq-pins {
465*16319efcSAlexandre Marquet		samsung,pins = "gpx0-2";
466*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
467*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
468*16319efcSAlexandre Marquet		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
469*16319efcSAlexandre Marquet	};
470*16319efcSAlexandre Marquet
471*16319efcSAlexandre Marquet	gpio_keys: gpio-keys-pins {
472*16319efcSAlexandre Marquet		samsung,pins = "gpx2-0", "gpx2-1", "gpx2-7", "gpx1-3";
473*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
474*16319efcSAlexandre Marquet	};
475*16319efcSAlexandre Marquet
476*16319efcSAlexandre Marquet	wlan_irq: wlan-irq-pins {
477*16319efcSAlexandre Marquet		samsung,pins = "gpx2-5";
478*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
479*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
480*16319efcSAlexandre Marquet		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
481*16319efcSAlexandre Marquet	};
482*16319efcSAlexandre Marquet};
483*16319efcSAlexandre Marquet
484*16319efcSAlexandre Marquet&pinctrl_1 {
485*16319efcSAlexandre Marquet	bh1721fvc_reset: bh1721fvc-reset-pins {
486*16319efcSAlexandre Marquet		samsung,pins = "gph1-2";
487*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
488*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
489*16319efcSAlexandre Marquet	};
490*16319efcSAlexandre Marquet
491*16319efcSAlexandre Marquet	msense_reset: msense-reset-pins {
492*16319efcSAlexandre Marquet		samsung,pins = "gpg2-0";
493*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
494*16319efcSAlexandre Marquet	};
495*16319efcSAlexandre Marquet
496*16319efcSAlexandre Marquet	onewire_sleep: onewire-sleep-pins {
497*16319efcSAlexandre Marquet		samsung,pins = "gpg0-0";
498*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
499*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
500*16319efcSAlexandre Marquet		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
501*16319efcSAlexandre Marquet		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
502*16319efcSAlexandre Marquet	};
503*16319efcSAlexandre Marquet};
504*16319efcSAlexandre Marquet
505*16319efcSAlexandre Marquet&pinctrl_2 {
506*16319efcSAlexandre Marquet	wlan_pmena: wlan-pmena-pins {
507*16319efcSAlexandre Marquet		samsung,pins = "gpv1-0";
508*16319efcSAlexandre Marquet		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
509*16319efcSAlexandre Marquet		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
510*16319efcSAlexandre Marquet		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
511*16319efcSAlexandre Marquet		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
512*16319efcSAlexandre Marquet		samsung,pin-val = <0>;
513*16319efcSAlexandre Marquet	};
514*16319efcSAlexandre Marquet};
515*16319efcSAlexandre Marquet
516*16319efcSAlexandre Marquet&pmu_system_controller {
517*16319efcSAlexandre Marquet	assigned-clocks = <&pmu_system_controller 0>;
518*16319efcSAlexandre Marquet	assigned-clock-parents = <&clock CLK_FIN_PLL>;
519*16319efcSAlexandre Marquet};
520*16319efcSAlexandre Marquet
521*16319efcSAlexandre Marquet&rtc {
522*16319efcSAlexandre Marquet	clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
523*16319efcSAlexandre Marquet	clock-names = "rtc", "rtc_src";
524*16319efcSAlexandre Marquet	status = "okay";
525*16319efcSAlexandre Marquet};
526*16319efcSAlexandre Marquet
527*16319efcSAlexandre Marquet&sd1_bus4 {
528*16319efcSAlexandre Marquet	samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
529*16319efcSAlexandre Marquet	samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
530*16319efcSAlexandre Marquet};
531*16319efcSAlexandre Marquet
532*16319efcSAlexandre Marquet&sd1_cmd {
533*16319efcSAlexandre Marquet	samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
534*16319efcSAlexandre Marquet	samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
535*16319efcSAlexandre Marquet};
536*16319efcSAlexandre Marquet
537*16319efcSAlexandre Marquet/* Bluetooth */
538*16319efcSAlexandre Marquet&serial_0 {
539*16319efcSAlexandre Marquet	status = "disabled";
540*16319efcSAlexandre Marquet};
541*16319efcSAlexandre Marquet
542*16319efcSAlexandre Marquet/* GPS */
543*16319efcSAlexandre Marquet&serial_1 {
544*16319efcSAlexandre Marquet	status = "disabled";
545*16319efcSAlexandre Marquet};
546*16319efcSAlexandre Marquet
547*16319efcSAlexandre Marquet&serial_2 {
548*16319efcSAlexandre Marquet	pinctrl-0 = <&uart2_data>;
549*16319efcSAlexandre Marquet	pinctrl-1 = <&uart2_data>, <&uart2_fctl>;
550*16319efcSAlexandre Marquet	pinctrl-names = "default", "flow-control";
551*16319efcSAlexandre Marquet	status = "okay";
552*16319efcSAlexandre Marquet};
553*16319efcSAlexandre Marquet
554*16319efcSAlexandre Marquet&usbdrd {
555*16319efcSAlexandre Marquet	status = "disabled";
556*16319efcSAlexandre Marquet};
557*16319efcSAlexandre Marquet
558*16319efcSAlexandre Marquet&usbdrd_dwc3 {
559*16319efcSAlexandre Marquet	status = "disabled";
560*16319efcSAlexandre Marquet};
561*16319efcSAlexandre Marquet
562*16319efcSAlexandre Marquet&usbdrd_phy {
563*16319efcSAlexandre Marquet	status = "disabled";
564*16319efcSAlexandre Marquet};
565