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