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