xref: /linux/scripts/dtc/include-prefixes/arm64/exynos/exynos7870-j7xelte.dts (revision e65f4718a577fcc84d40431f022985898b6dbf2e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung Galaxy J7 (2016) (j7xelte) device tree source
4 *
5 * Copyright (c) 2025 Rayan Marzouk <rayanmarzouk743@gmail.com>
6 */
7
8/dts-v1/;
9#include "exynos7870.dtsi"
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13
14/ {
15	model = "Samsung Galaxy J7 (2016)";
16	compatible = "samsung,j7xelte", "samsung,exynos7870";
17	chassis-type = "handset";
18
19	aliases {
20		mmc0 = &mmc0;
21		mmc1 = &mmc1;
22		mmc2 = &mmc2;
23		serial0 = &serial0;
24		serial1 = &serial1;
25		serial2 = &serial2;
26	};
27
28	chosen {
29		#address-cells = <2>;
30		#size-cells = <1>;
31		ranges;
32
33		stdout-path = &serial2;
34
35		framebuffer@67000000 {
36			compatible = "simple-framebuffer";
37			reg = <0x0 0x67000000 (720 * 1280 * 4)>;
38			width = <720>;
39			height = <1280>;
40			stride = <(720 * 4)>;
41			format = "a8r8g8b8";
42		};
43	};
44
45	gpio-keys {
46		compatible = "gpio-keys";
47		label = "GPIO Keys";
48
49		pinctrl-names = "default";
50		pinctrl-0 = <&key_home &key_power &key_voldown &key_volup>;
51
52		key-home {
53			label = "Home Key";
54			gpios = <&gpa1 7 GPIO_ACTIVE_LOW>;
55			linux,code = <KEY_HOMEPAGE>;
56		};
57
58		key-power {
59			label = "Power Key";
60			gpios = <&gpa0 0 GPIO_ACTIVE_LOW>;
61			linux,code = <KEY_POWER>;
62		};
63
64		key-voldown {
65			label = "Volume Down Key";
66			gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
67			linux,code = <KEY_VOLUMEDOWN>;
68		};
69
70		key-volup {
71			label = "Volume Up Key";
72			gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
73			linux,code = <KEY_VOLUMEUP>;
74		};
75	};
76
77	memory@40000000 {
78		device_type = "memory";
79		reg = <0x0 0x40000000 0x3e400000>,
80		      <0x0 0x80000000 0x40000000>;
81	};
82
83	pwrseq_mmc1: pwrseq-mmc1 {
84		compatible = "mmc-pwrseq-simple";
85		reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
86	};
87
88	reserved-memory {
89		#address-cells = <2>;
90		#size-cells = <1>;
91		ranges;
92
93		ramoops@46e00000 {
94			compatible = "ramoops";
95			reg = <0x0 0x46e00000 0x8000>;
96			console-size = <0x4000>;
97			pmsg-size = <0x4000>;
98		};
99
100		cont_splash_mem: framebuffer@67000000 {
101			reg = <0x0 0x67000000 0x00384000>;
102			no-map;
103		};
104	};
105
106	vdd_fixed_mmc2: regulator-fixed-mmc2 {
107		compatible = "regulator-fixed";
108		regulator-name = "vdd_fixed_mmc2";
109		regulator-max-microvolt = <2800000>;
110		regulator-min-microvolt = <2800000>;
111		gpio = <&gpc0 0 GPIO_ACTIVE_HIGH>;
112		enable-active-high;
113	};
114
115	vibrator {
116		compatible = "regulator-haptic";
117		haptic-supply = <&vdd_ldo32>;
118		min-microvolt = <3300000>;
119		max-microvolt = <3300000>;
120	};
121};
122
123&gpu {
124	status = "okay";
125};
126
127&hsi2c0 {
128	#address-cells = <1>;
129	#size-cells = <0>;
130
131	status = "okay";
132
133	pmic@66 {
134		compatible = "samsung,s2mpu05-pmic";
135		reg = <0x66>;
136		interrupt-parent = <&gpa0>;
137		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
138
139		pinctrl-names = "default";
140		pinctrl-0 = <&pmic_irq>;
141
142		regulators {
143			vdd_buck1: buck1 {
144				regulator-name = "vdd_buck1";
145				regulator-min-microvolt = <500000>;
146				regulator-max-microvolt = <1300000>;
147				regulator-always-on;
148				regulator-boot-on;
149			};
150
151			vdd_buck2: buck2 {
152				regulator-name = "vdd_buck2";
153				regulator-min-microvolt = <500000>;
154				regulator-max-microvolt = <1300000>;
155				regulator-always-on;
156				regulator-boot-on;
157			};
158
159			vdd_buck3: buck3 {
160				regulator-name = "vdd_buck3";
161				regulator-min-microvolt = <500000>;
162				regulator-max-microvolt = <1300000>;
163				regulator-always-on;
164				regulator-boot-on;
165			};
166
167			vdd_buck4: buck4 {
168				regulator-name = "vdd_buck4";
169				regulator-min-microvolt = <1200000>;
170				regulator-max-microvolt = <1500000>;
171				regulator-always-on;
172				regulator-boot-on;
173			};
174
175			vdd_buck5: buck5 {
176				regulator-name = "vdd_buck5";
177				regulator-min-microvolt = <1800000>;
178				regulator-max-microvolt = <2100000>;
179				regulator-always-on;
180				regulator-boot-on;
181			};
182
183			vdd_ldo1: ldo1 {
184				regulator-name = "vdd_ldo1";
185				regulator-min-microvolt = <650000>;
186				regulator-max-microvolt = <1350000>;
187				regulator-always-on;
188				regulator-boot-on;
189			};
190
191			vdd_ldo2: ldo2 {
192				regulator-name = "vdd_ldo2";
193				regulator-min-microvolt = <1800000>;
194				regulator-max-microvolt = <2800000>;
195			};
196
197			vdd_ldo3: ldo3 {
198				regulator-name = "vdd_ldo3";
199				regulator-min-microvolt = <800000>;
200				regulator-max-microvolt = <2375000>;
201				regulator-always-on;
202				regulator-boot-on;
203			};
204
205			vdd_ldo4: ldo4 {
206				regulator-name = "vdd_ldo4";
207				regulator-min-microvolt = <800000>;
208				regulator-max-microvolt = <1350000>;
209				regulator-always-on;
210				regulator-boot-on;
211			};
212
213			vdd_ldo5: ldo5 {
214				regulator-name = "vdd_ldo5";
215				regulator-min-microvolt = <800000>;
216				regulator-max-microvolt = <1350000>;
217				regulator-always-on;
218				regulator-boot-on;
219			};
220
221			vdd_ldo6: ldo6 {
222				regulator-name = "vdd_ldo6";
223				regulator-min-microvolt = <800000>;
224				regulator-max-microvolt = <1350000>;
225				regulator-always-on;
226				regulator-boot-on;
227			};
228
229			vdd_ldo7: ldo7 {
230				regulator-name = "vdd_ldo7";
231				regulator-min-microvolt = <800000>;
232				regulator-max-microvolt = <2375000>;
233				regulator-always-on;
234				regulator-boot-on;
235			};
236
237			vdd_ldo8: ldo8 {
238				regulator-name = "vdd_ldo8";
239				regulator-min-microvolt = <3300000>;
240				regulator-max-microvolt = <3300000>;
241			};
242
243			vdd_ldo9: ldo9 {
244				regulator-name = "vdd_ldo9";
245				regulator-min-microvolt = <650000>;
246				regulator-max-microvolt = <1350000>;
247				regulator-always-on;
248				regulator-boot-on;
249			};
250
251			vdd_ldo10: ldo10 {
252				regulator-name = "vdd_ldo10";
253				regulator-min-microvolt = <650000>;
254				regulator-max-microvolt = <1350000>;
255				regulator-always-on;
256				regulator-boot-on;
257			};
258
259			vdd_ldo25: ldo25 {
260				regulator-name = "vdd_ldo25";
261				regulator-min-microvolt = <800000>;
262				regulator-max-microvolt = <2375000>;
263				regulator-always-on;
264				regulator-boot-on;
265			};
266
267			vdd_ldo26: ldo26 {
268				regulator-name = "vdd_ldo26";
269				regulator-min-microvolt = <1800000>;
270				regulator-max-microvolt = <3375000>;
271			};
272
273			vdd_ldo27: ldo27 {
274				regulator-name = "vdd_ldo27";
275				regulator-min-microvolt = <800000>;
276				regulator-max-microvolt = <2375000>;
277			};
278
279			vdd_ldo29: ldo29 {
280				regulator-name = "vdd_ldo29";
281				regulator-min-microvolt = <3000000>;
282				regulator-max-microvolt = <3000000>;
283				regulator-always-on;
284				regulator-boot-on;
285			};
286
287			vdd_ldo30: ldo30 {
288				regulator-name = "vdd_ldo30";
289				regulator-min-microvolt = <1800000>;
290				regulator-max-microvolt = <1800000>;
291				regulator-always-on;
292				regulator-boot-on;
293			};
294
295			vdd_ldo31: ldo31 {
296				regulator-name = "vdd_ldo31";
297				regulator-min-microvolt = <2800000>;
298				regulator-max-microvolt = <2800000>;
299				regulator-always-on;
300				regulator-boot-on;
301			};
302
303			vdd_ldo32: ldo32 {
304				regulator-name = "vdd_ldo32";
305				regulator-min-microvolt = <3300000>;
306				regulator-max-microvolt = <3300000>;
307			};
308
309			vdd_ldo33: ldo33 {
310				regulator-name = "vdd_ldo33";
311				regulator-min-microvolt = <3300000>;
312				regulator-max-microvolt = <3300000>;
313				regulator-always-on;
314				regulator-boot-on;
315			};
316
317			vdd_ldo34: ldo34 {
318				regulator-name = "vdd_ldo34";
319				regulator-min-microvolt = <3300000>;
320				regulator-max-microvolt = <3300000>;
321				regulator-always-on;
322				regulator-boot-on;
323			};
324
325			vdd_ldo35: ldo35 {
326				regulator-name = "vdd_ldo35";
327				regulator-min-microvolt = <2800000>;
328				regulator-max-microvolt = <2800000>;
329				regulator-always-on;
330				regulator-boot-on;
331			};
332		};
333	};
334};
335
336&i2c1 {
337	samsung,i2c-sda-delay = <100>;
338	samsung,i2c-max-bus-freq = <400000>;
339
340	status = "okay";
341
342	touchscreen@48 {
343		compatible = "melfas,mip4_ts";
344		reg = <0x48>;
345
346		interrupt-parent = <&gpc3>;
347		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
348
349		pinctrl-names = "default";
350		pinctrl-0 = <&touch_irq>;
351	};
352};
353
354&mmc0 {
355	pinctrl-names = "default";
356	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>;
357
358	vmmc-supply = <&vdd_ldo26>;
359	vqmmc-supply = <&vdd_ldo27>;
360
361	fifo-depth = <64>;
362	samsung,dw-mshc-ciu-div = <3>;
363	samsung,dw-mshc-sdr-timing = <0 4>;
364	samsung,dw-mshc-ddr-timing = <2 4>;
365	non-removable;
366
367	status = "okay";
368};
369
370&mmc1 {
371	#address-cells = <1>;
372	#size-cells = <0>;
373
374	pinctrl-names = "default";
375	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>;
376
377	mmc-pwrseq = <&pwrseq_mmc1>;
378
379	bus-width = <4>;
380	fifo-depth = <64>;
381	samsung,dw-mshc-ciu-div = <3>;
382	samsung,dw-mshc-sdr-timing = <0 3>;
383	samsung,dw-mshc-ddr-timing = <1 2>;
384	non-removable;
385	cap-sd-highspeed;
386	cap-sdio-irq;
387
388	status = "okay";
389
390	wifi@1 {
391		compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac";
392		reg = <0x1>;
393
394		interrupt-names = "host-wake";
395		interrupt-parent = <&gpa2>;
396		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
397
398		reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>;
399	};
400};
401
402&mmc2 {
403	pinctrl-names = "default";
404	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_irq>;
405
406	vmmc-supply = <&vdd_fixed_mmc2>;
407	vqmmc-supply = <&vdd_ldo2>;
408
409	bus-width = <4>;
410	card-detect-delay = <200>;
411	fifo-depth = <64>;
412	samsung,dw-mshc-ciu-div = <3>;
413	samsung,dw-mshc-sdr-timing = <0 3>;
414	samsung,dw-mshc-ddr-timing = <1 2>;
415	sd-uhs-sdr50;
416	sd-uhs-sdr104;
417	broken-cd;
418	disable-wp;
419
420	status = "okay";
421};
422
423&oscclk {
424	clock-frequency = <26000000>;
425};
426
427&pinctrl_alive {
428	dwmmc2_irq: dwmmc2-irq-pins {
429		samsung,pins = "gpa0-1";
430		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
431		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
432		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
433	};
434
435	fuel_irq: fuel-irq-pins {
436		samsung,pins = "gpa0-3";
437		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
438		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
439		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
440	};
441
442	key_home: key-home-pins {
443		samsung,pins = "gpa1-7";
444		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
445		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
446		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
447	};
448
449	key_power: key-power-pins {
450		samsung,pins = "gpa0-0";
451		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
452		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
453		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
454	};
455
456	key_voldown: key-voldown-pins {
457		samsung,pins = "gpa2-1";
458		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
459		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
460		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
461	};
462
463	key_volup: key-volup-pins {
464		samsung,pins = "gpa2-0";
465		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
466		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
467		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
468	};
469
470	pmic_irq: pmic-irq-pins {
471		samsung,pins = "gpa0-2";
472		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
473		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
474	};
475};
476
477&pinctrl_touch {
478	touch_irq: touch-irq-pins {
479		samsung,pins = "gpc3-2";
480		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
481		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
482		samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
483	};
484};
485
486&serial2 {
487	status = "okay";
488};
489
490&usbdrd {
491	vdd33-supply = <&vdd_ldo8>;
492
493	status = "okay";
494};
495