xref: /linux/scripts/dtc/include-prefixes/arm64/marvell/mmp/pxa1908-samsung-coreprimevelte.dts (revision 4df9c0a2465a523e399e46a8d3b5866c769b381b)
1// SPDX-License-Identifier: GPL-2.0-only
2#include "pxa1908.dtsi"
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/input/linux-event-codes.h>
5
6/ {
7	model = "Samsung Galaxy Core Prime VE LTE";
8	compatible = "samsung,coreprimevelte", "marvell,pxa1908";
9
10	aliases {
11		mmc0 = &sdh2; /* eMMC */
12		mmc1 = &sdh0; /* SD card */
13		serial0 = &uart0;
14	};
15
16	chosen {
17		#address-cells = <2>;
18		#size-cells = <2>;
19		ranges;
20
21		stdout-path = "serial0:115200n8";
22
23		fb0: framebuffer@17177000 {
24			compatible = "simple-framebuffer";
25			reg = <0 0x17177000 0 (480 * 800 * 4)>;
26			width = <480>;
27			height = <800>;
28			stride = <(480 * 4)>;
29			format = "a8r8g8b8";
30		};
31	};
32
33	/* Bootloader fills this in */
34	memory@0 {
35		device_type = "memory";
36		reg = <0 0 0 0>;
37	};
38
39	reserved-memory {
40		#address-cells = <2>;
41		#size-cells = <2>;
42		ranges;
43
44		framebuffer@17000000 {
45			reg = <0 0x17000000 0 0x1800000>;
46			no-map;
47		};
48
49		gpu@9000000 {
50			reg = <0 0x9000000 0 0x1000000>;
51		};
52
53		/* Communications processor, aka modem */
54		cp@5000000 {
55			reg = <0 0x5000000 0 0x3000000>;
56		};
57
58		cm3@a000000 {
59			reg = <0 0xa000000 0 0x80000>;
60		};
61
62		seclog@8000000 {
63			reg = <0 0x8000000 0 0x100000>;
64		};
65
66		ramoops@8100000 {
67			compatible = "ramoops";
68			reg = <0 0x8100000 0 0x40000>;
69			record-size = <0x8000>;
70			console-size = <0x20000>;
71			max-reason = <5>;
72		};
73	};
74
75	i2c-muic {
76		compatible = "i2c-gpio";
77		sda-gpios = <&gpio 30 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
78		scl-gpios = <&gpio 29 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
79		i2c-gpio,delay-us = <3>;
80		i2c-gpio,timeout-ms = <100>;
81		#address-cells = <1>;
82		#size-cells = <0>;
83		pinctrl-names = "default";
84		pinctrl-0 = <&i2c_muic_pins>;
85
86		muic: extcon@14 {
87			compatible = "siliconmitus,sm5504-muic";
88			reg = <0x14>;
89			interrupt-parent = <&gpio>;
90			interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
91		};
92	};
93
94	gpio-keys {
95		compatible = "gpio-keys";
96		pinctrl-names = "default";
97		pinctrl-0 = <&gpio_keys_pins>;
98		autorepeat;
99
100		key-home {
101			label = "Home";
102			linux,code = <KEY_HOME>;
103			gpios = <&gpio 50 GPIO_ACTIVE_LOW>;
104		};
105
106		key-volup {
107			label = "Volume Up";
108			linux,code = <KEY_VOLUMEUP>;
109			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
110		};
111
112		key-voldown {
113			label = "Volume Down";
114			linux,code = <KEY_VOLUMEDOWN>;
115			gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
116		};
117	};
118};
119
120&smmu {
121	status = "okay";
122};
123
124&pmx {
125	pinctrl-single,gpio-range = <&range 55 55 0>,
126				    <&range 110 32 0>,
127				    <&range 52 1 0>;
128
129	pinctrl-names = "default";
130	pinctrl-0 = <&board_pins_0 &board_pins_1 &board_pins_2>;
131
132	board_pins_0: board-pins-0 {
133		pinctrl-single,pins = <
134			0x160 0
135			0x164 0
136			0x168 0
137			0x16c 0
138		>;
139		pinctrl-single,drive-strength = <0x1000 0x1800>;
140		pinctrl-single,bias-pullup = <0x8000 0x8000 0 0xc000>;
141		pinctrl-single,bias-pulldown = <0x8000 0x8000 0 0xa000>;
142		pinctrl-single,input-schmitt = <0 0x30>;
143		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
144		pinctrl-single,low-power-mode = <0x288 0x388>;
145	};
146
147	board_pins_1: board-pins-1 {
148		pinctrl-single,pins = <
149			0x44 1
150			0x48 1
151			0x20 1
152			0x18 1
153			0x14 1
154			0x10 1
155			0xc 1
156			0x8 1
157			0x68 1
158			0x58 0
159			0x54 0
160			0x7c 0
161			0x6c 0
162			0x70 0
163			0x4c 1
164			0x50 1
165			0xac 0
166			0x90 0
167			0x8c 0
168			0x88 0
169			0x84 0
170			0xc8 0
171			0x128 0
172			0x190 0
173			0x194 0
174			0x1a0 0
175			0x114 0
176			0x118 0
177			0x1d8 0
178			0x1e4 0
179			0xe8 0
180			0x100 0
181			0x204 0
182			0x210 0
183			0x218 0
184		>;
185		pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>;
186		pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xc000>;
187		pinctrl-single,low-power-mode = <0x288 0x388>;
188	};
189
190	board_pins_2: board-pins-2 {
191		pinctrl-single,pins = <
192			0x260 0
193			0x264 0
194			0x268 0
195			0x26c 0
196			0x270 0
197			0x274 0
198			0x78 0
199			0x74 0
200			0xb0 1
201		>;
202		pinctrl-single,drive-strength = <0x1000 0x1800>;
203		pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
204		pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
205		pinctrl-single,input-schmitt = <0 0x30>;
206		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
207		pinctrl-single,low-power-mode = <0 0x388>;
208	};
209
210	uart0_pins: uart0-pins {
211		pinctrl-single,pins = <
212			0x198 6
213			0x19c 6
214		>;
215		pinctrl-single,drive-strength = <0x1000 0x1800>;
216		pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
217		pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
218		pinctrl-single,input-schmitt = <0 0x30>;
219		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
220		pinctrl-single,low-power-mode = <0 0x388>;
221	};
222
223	gpio_keys_pins: gpio-keys-pins {
224		pinctrl-single,pins = <
225			0x11c 0
226			0x120 0
227			0x1a4 0
228		>;
229		pinctrl-single,drive-strength = <0x1000 0x1800>;
230		pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>;
231		pinctrl-single,bias-pulldown = <0x8000 0xa0000 0x8000 0xa000>;
232		pinctrl-single,input-schmitt = <0 0x30>;
233		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
234		pinctrl-single,low-power-mode = <0 0x388>;
235	};
236
237	i2c_muic_pins: i2c-muic-pins {
238		pinctrl-single,pins = <
239			0x154 0
240			0x150 0
241		>;
242		pinctrl-single,drive-strength = <0x1000 0x1800>;
243		pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
244		pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
245		pinctrl-single,input-schmitt = <0 0x30>;
246		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
247		pinctrl-single,low-power-mode = <0x288 0x388>;
248	};
249
250	sdh0_pins_0: sdh0-pins-0 {
251		pinctrl-single,pins = <
252			0x108 0
253		>;
254		pinctrl-single,drive-strength = <0x1000 0x1800>;
255		pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>;
256		pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xa000>;
257		pinctrl-single,input-schmitt = <0 0x30>;
258		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
259		pinctrl-single,low-power-mode = <0 0x388>;
260	};
261
262	sdh0_pins_1: sdh0-pins-1 {
263		pinctrl-single,pins = <
264			0x94 0
265			0x98 0
266			0x9c 0
267			0xa0 0
268			0xa4 0
269		>;
270		pinctrl-single,drive-strength = <0x800 0x1800>;
271		pinctrl-single,bias-pullup = <0xc000 0xc000 0 0xc000>;
272		pinctrl-single,bias-pulldown = <0x8000 0xa000 0x8000 0xa000>;
273		pinctrl-single,input-schmitt = <0 0x30>;
274		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
275		pinctrl-single,low-power-mode = <0 0x388>;
276	};
277
278	sdh0_pins_2: sdh0-pins-2 {
279		pinctrl-single,pins = <
280			0xa8 0
281		>;
282		pinctrl-single,drive-strength = <0x1000 0x1800>;
283		pinctrl-single,bias-pullup = <0 0xc000 0 0xc000>;
284		pinctrl-single,bias-pulldown = <0 0xa000 0 0xa000>;
285		pinctrl-single,input-schmitt = <0 0x30>;
286		pinctrl-single,input-schmitt-enable = <0x40 0 0x40 0x40>;
287		pinctrl-single,low-power-mode = <0x208 0x388>;
288	};
289};
290
291&uart0 {
292	pinctrl-names = "default";
293	pinctrl-0 = <&uart0_pins>;
294};
295
296&twsi0 {
297	status = "okay";
298};
299
300&twsi1 {
301	status = "okay";
302};
303
304&twsi2 {
305	status = "okay";
306};
307
308&twsi3 {
309	status = "okay";
310};
311
312&usb {
313	extcon = <&muic>, <&muic>;
314};
315
316&sdh2 {
317	/* Disabled for now because initialization fails with -ETIMEDOUT. */
318	status = "disabled";
319	bus-width = <8>;
320	non-removable;
321	mmc-ddr-1_8v;
322};
323
324&sdh0 {
325	pinctrl-names = "default";
326	pinctrl-0 = <&sdh0_pins_0 &sdh0_pins_1 &sdh0_pins_2>;
327	cd-gpios = <&gpio 11 0>;
328	cd-inverted;
329	bus-width = <4>;
330	wp-inverted;
331};
332