1// SPDX-License-Identifier: GPL-2.0-only
2
3/dts-v1/;
4
5#include "msm8916-pm8916.dtsi"
6#include <dt-bindings/gpio/gpio.h>
7
8/ {
9	model = "Samsung Galaxy J5 (2015)";
10	compatible = "samsung,j5", "qcom,msm8916";
11	chassis-type = "handset";
12
13	aliases {
14		serial0 = &blsp1_uart2;
15	};
16
17	chosen {
18		stdout-path = "serial0";
19	};
20
21	reserved-memory {
22		/* Additional memory used by Samsung firmware modifications */
23		tz-apps@85500000 {
24			reg = <0x0 0x85500000 0x0 0xb00000>;
25			no-map;
26		};
27	};
28
29	gpio-keys {
30		compatible = "gpio-keys";
31
32		pinctrl-names = "default";
33		pinctrl-0 = <&gpio_keys_default>;
34
35		label = "GPIO Buttons";
36
37		volume-up {
38			label = "Volume Up";
39			gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
40			linux,code = <KEY_VOLUMEUP>;
41		};
42
43		home-key {
44			label = "Home Key";
45			gpios = <&msmgpio 109 GPIO_ACTIVE_LOW>;
46			linux,code = <KEY_HOMEPAGE>;
47		};
48	};
49};
50
51&blsp1_uart2 {
52	status = "okay";
53};
54
55&pm8916_resin {
56	status = "okay";
57	linux,code = <KEY_VOLUMEDOWN>;
58};
59
60/* FIXME: Replace with SM5703 MUIC when driver is available */
61&pm8916_usbin {
62	status = "okay";
63};
64
65&pronto {
66	status = "okay";
67};
68
69&sdhc_1 {
70	status = "okay";
71
72	pinctrl-names = "default", "sleep";
73	pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
74	pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
75};
76
77&sdhc_2 {
78	status = "okay";
79
80	pinctrl-names = "default", "sleep";
81	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
82	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
83
84	cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
85};
86
87&usb {
88	status = "okay";
89	dr_mode = "peripheral";
90	extcon = <&pm8916_usbin>;
91};
92
93&usb_hs_phy {
94	extcon = <&pm8916_usbin>;
95	qcom,init-seq = /bits/ 8 <0x1 0x19 0x2 0x0b>;
96};
97
98&smd_rpm_regulators {
99	vdd_l1_l2_l3-supply = <&pm8916_s3>;
100	vdd_l4_l5_l6-supply = <&pm8916_s4>;
101	vdd_l7-supply = <&pm8916_s4>;
102
103	s3 {
104		regulator-min-microvolt = <1200000>;
105		regulator-max-microvolt = <1300000>;
106	};
107
108	s4 {
109		regulator-min-microvolt = <1800000>;
110		regulator-max-microvolt = <2100000>;
111	};
112
113	l1 {
114		regulator-min-microvolt = <1225000>;
115		regulator-max-microvolt = <1225000>;
116	};
117
118	l2 {
119		regulator-min-microvolt = <1200000>;
120		regulator-max-microvolt = <1200000>;
121	};
122
123	l4 {
124		regulator-min-microvolt = <2050000>;
125		regulator-max-microvolt = <2050000>;
126	};
127
128	l5 {
129		regulator-min-microvolt = <1800000>;
130		regulator-max-microvolt = <1800000>;
131	};
132
133	l6 {
134		regulator-min-microvolt = <1800000>;
135		regulator-max-microvolt = <1800000>;
136	};
137
138	l7 {
139		regulator-min-microvolt = <1800000>;
140		regulator-max-microvolt = <1800000>;
141	};
142
143	l8 {
144		regulator-min-microvolt = <2850000>;
145		regulator-max-microvolt = <2900000>;
146	};
147
148	l9 {
149		regulator-min-microvolt = <3300000>;
150		regulator-max-microvolt = <3300000>;
151	};
152
153	l10 {
154		regulator-min-microvolt = <2700000>;
155		regulator-max-microvolt = <2800000>;
156	};
157
158	l11 {
159		regulator-min-microvolt = <1800000>;
160		regulator-max-microvolt = <2950000>;
161		regulator-allow-set-load;
162		regulator-system-load = <200000>;
163	};
164
165	l12 {
166		regulator-min-microvolt = <1800000>;
167		regulator-max-microvolt = <2950000>;
168	};
169
170	l13 {
171		regulator-min-microvolt = <3075000>;
172		regulator-max-microvolt = <3075000>;
173	};
174
175	l14 {
176		regulator-min-microvolt = <1800000>;
177		regulator-max-microvolt = <3300000>;
178	};
179
180	l15 {
181		regulator-min-microvolt = <1800000>;
182		regulator-max-microvolt = <3300000>;
183	};
184
185	l16 {
186		regulator-min-microvolt = <1800000>;
187		regulator-max-microvolt = <3300000>;
188	};
189
190	l17 {
191		regulator-min-microvolt = <3000000>;
192		regulator-max-microvolt = <3000000>;
193	};
194
195	l18 {
196		regulator-min-microvolt = <2700000>;
197		regulator-max-microvolt = <2700000>;
198	};
199};
200
201&msmgpio {
202	gpio_keys_default: gpio-keys-default {
203		pins = "gpio107", "gpio109";
204		function = "gpio";
205
206		drive-strength = <2>;
207		bias-pull-up;
208	};
209};
210