1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
3724ba675SRob Herring// Copyright 2018 Google, Inc.
4724ba675SRob Herring
5724ba675SRob Herring/dts-v1/;
6724ba675SRob Herring#include "nuvoton-npcm750.dtsi"
7724ba675SRob Herring#include "dt-bindings/gpio/gpio.h"
8724ba675SRob Herring#include "nuvoton-npcm750-pincfg-evb.dtsi"
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	model = "Nuvoton npcm750 Development Board (Device Tree)";
12724ba675SRob Herring	compatible = "nuvoton,npcm750-evb", "nuvoton,npcm750";
13724ba675SRob Herring
14724ba675SRob Herring	aliases {
15724ba675SRob Herring		ethernet2 = &gmac0;
16724ba675SRob Herring		ethernet3 = &gmac1;
17724ba675SRob Herring		serial0 = &serial0;
18724ba675SRob Herring		serial1 = &serial1;
19724ba675SRob Herring		serial2 = &serial2;
20724ba675SRob Herring		serial3 = &serial3;
21724ba675SRob Herring		i2c0 = &i2c0;
22724ba675SRob Herring		i2c1 = &i2c1;
23724ba675SRob Herring		i2c2 = &i2c2;
24724ba675SRob Herring		i2c3 = &i2c3;
25724ba675SRob Herring		i2c4 = &i2c4;
26724ba675SRob Herring		i2c5 = &i2c5;
27724ba675SRob Herring		i2c6 = &i2c6;
28724ba675SRob Herring		i2c7 = &i2c7;
29724ba675SRob Herring		i2c8 = &i2c8;
30724ba675SRob Herring		i2c9 = &i2c9;
31724ba675SRob Herring		i2c10 = &i2c10;
32724ba675SRob Herring		i2c11 = &i2c11;
33724ba675SRob Herring		i2c12 = &i2c12;
34724ba675SRob Herring		i2c13 = &i2c13;
35724ba675SRob Herring		i2c14 = &i2c14;
36724ba675SRob Herring		i2c15 = &i2c15;
37724ba675SRob Herring		spi0 = &spi0;
38724ba675SRob Herring		spi1 = &spi1;
39724ba675SRob Herring		fiu0 = &fiu0;
40724ba675SRob Herring		fiu1 = &fiu3;
41724ba675SRob Herring		fiu2 = &fiux;
42724ba675SRob Herring	};
43724ba675SRob Herring
44724ba675SRob Herring	chosen {
45724ba675SRob Herring		stdout-path = &serial3;
465175b786SJoel Stanley		bootargs = "console=ttyS0,115200";
47724ba675SRob Herring	};
48724ba675SRob Herring
49724ba675SRob Herring	memory {
50724ba675SRob Herring		device_type = "memory";
51724ba675SRob Herring		reg = <0x0 0x20000000>;
52724ba675SRob Herring	};
53724ba675SRob Herring};
54724ba675SRob Herring
55724ba675SRob Herring&gmac0 {
56724ba675SRob Herring	phy-mode = "rgmii-id";
57724ba675SRob Herring	status = "okay";
58724ba675SRob Herring};
59724ba675SRob Herring
60724ba675SRob Herring&gmac1 {
61724ba675SRob Herring	phy-mode = "rgmii-id";
62724ba675SRob Herring	status = "okay";
63724ba675SRob Herring};
64724ba675SRob Herring
65724ba675SRob Herring&ehci1 {
66724ba675SRob Herring	status = "okay";
67724ba675SRob Herring};
68724ba675SRob Herring
69724ba675SRob Herring&fiu0 {
70724ba675SRob Herring	status = "okay";
71724ba675SRob Herring	flash@0 {
72724ba675SRob Herring		compatible = "jedec,spi-nor";
73724ba675SRob Herring		#address-cells = <1>;
74724ba675SRob Herring		#size-cells = <1>;
75724ba675SRob Herring		spi-rx-bus-width = <2>;
76724ba675SRob Herring		reg = <0>;
77724ba675SRob Herring		spi-max-frequency = <5000000>;
78724ba675SRob Herring		partitions {
79724ba675SRob Herring			compatible = "fixed-partitions";
80724ba675SRob Herring			#address-cells = <1>;
81724ba675SRob Herring			#size-cells = <1>;
82724ba675SRob Herring			bbuboot1@0 {
83724ba675SRob Herring				label = "bb-uboot-1";
84724ba675SRob Herring				reg = <0x0000000 0x80000>;
85724ba675SRob Herring				read-only;
86724ba675SRob Herring				};
87724ba675SRob Herring			bbuboot2@80000 {
88724ba675SRob Herring				label = "bb-uboot-2";
89724ba675SRob Herring				reg = <0x0080000 0x80000>;
90724ba675SRob Herring				read-only;
91724ba675SRob Herring				};
92724ba675SRob Herring			envparam@100000 {
93724ba675SRob Herring				label = "env-param";
94724ba675SRob Herring				reg = <0x0100000 0x40000>;
95724ba675SRob Herring				read-only;
96724ba675SRob Herring				};
97724ba675SRob Herring			spare@140000 {
98724ba675SRob Herring				label = "spare";
99724ba675SRob Herring				reg = <0x0140000 0xC0000>;
100724ba675SRob Herring				};
101724ba675SRob Herring			kernel@200000 {
102724ba675SRob Herring				label = "kernel";
103724ba675SRob Herring				reg = <0x0200000 0x400000>;
104724ba675SRob Herring				};
105724ba675SRob Herring			rootfs@600000 {
106724ba675SRob Herring				label = "rootfs";
107724ba675SRob Herring				reg = <0x0600000 0x700000>;
108724ba675SRob Herring				};
109724ba675SRob Herring			spare1@d00000 {
110724ba675SRob Herring				label = "spare1";
111724ba675SRob Herring				reg = <0x0D00000 0x200000>;
112724ba675SRob Herring				};
113724ba675SRob Herring			spare2@f00000 {
114724ba675SRob Herring				label = "spare2";
115724ba675SRob Herring				reg = <0x0F00000 0x200000>;
116724ba675SRob Herring				};
117724ba675SRob Herring			spare3@1100000 {
118724ba675SRob Herring				label = "spare3";
119724ba675SRob Herring				reg = <0x1100000 0x200000>;
120724ba675SRob Herring				};
121724ba675SRob Herring			spare4@1300000 {
122724ba675SRob Herring				label = "spare4";
123724ba675SRob Herring				reg = <0x1300000 0x0>;
124724ba675SRob Herring			};
125724ba675SRob Herring		};
126724ba675SRob Herring	};
127724ba675SRob Herring};
128724ba675SRob Herring
129724ba675SRob Herring&fiu3 {
130724ba675SRob Herring	pinctrl-0 = <&spi3_pins>, <&spi3quad_pins>;
131724ba675SRob Herring	status = "okay";
132724ba675SRob Herring	flash@0 {
133724ba675SRob Herring		compatible = "jedec,spi-nor";
134724ba675SRob Herring		#address-cells = <1>;
135724ba675SRob Herring		#size-cells = <1>;
136724ba675SRob Herring		spi-rx-bus-width = <2>;
137724ba675SRob Herring		reg = <0>;
138724ba675SRob Herring		spi-max-frequency = <5000000>;
139724ba675SRob Herring		partitions {
140724ba675SRob Herring			compatible = "fixed-partitions";
141724ba675SRob Herring			#address-cells = <1>;
142724ba675SRob Herring			#size-cells = <1>;
143724ba675SRob Herring			system1@0 {
144724ba675SRob Herring				label = "spi3-system1";
145724ba675SRob Herring				reg = <0x0 0x0>;
146724ba675SRob Herring			};
147724ba675SRob Herring		};
148724ba675SRob Herring	};
149724ba675SRob Herring};
150724ba675SRob Herring
151724ba675SRob Herring&fiux {
152724ba675SRob Herring	spix-mode;
153724ba675SRob Herring};
154724ba675SRob Herring
155724ba675SRob Herring&watchdog1 {
156724ba675SRob Herring	status = "okay";
157724ba675SRob Herring};
158724ba675SRob Herring
159724ba675SRob Herring&rng {
160724ba675SRob Herring	status = "okay";
161724ba675SRob Herring};
162724ba675SRob Herring
163724ba675SRob Herring&serial0 {
164724ba675SRob Herring	status = "okay";
165724ba675SRob Herring};
166724ba675SRob Herring
167724ba675SRob Herring&serial1 {
168724ba675SRob Herring	status = "okay";
169724ba675SRob Herring};
170724ba675SRob Herring
171724ba675SRob Herring&serial2 {
172724ba675SRob Herring	status = "okay";
173724ba675SRob Herring};
174724ba675SRob Herring
175724ba675SRob Herring&serial3 {
176724ba675SRob Herring	status = "okay";
177724ba675SRob Herring};
178724ba675SRob Herring
179724ba675SRob Herring&adc {
180724ba675SRob Herring	status = "okay";
181724ba675SRob Herring};
182724ba675SRob Herring
183724ba675SRob Herring&lpc_kcs {
184724ba675SRob Herring	kcs1: kcs1@0 {
185724ba675SRob Herring		status = "okay";
186724ba675SRob Herring	};
187724ba675SRob Herring
188724ba675SRob Herring	kcs2: kcs2@0 {
189724ba675SRob Herring		status = "okay";
190724ba675SRob Herring	};
191724ba675SRob Herring
192724ba675SRob Herring	kcs3: kcs3@0 {
193724ba675SRob Herring		status = "okay";
194724ba675SRob Herring	};
195724ba675SRob Herring};
196724ba675SRob Herring
197724ba675SRob Herring/* lm75 on SVB */
198724ba675SRob Herring&i2c0 {
199724ba675SRob Herring	clock-frequency = <100000>;
200724ba675SRob Herring	status = "okay";
201724ba675SRob Herring	lm75@48 {
202724ba675SRob Herring		compatible = "lm75";
203724ba675SRob Herring		reg = <0x48>;
204724ba675SRob Herring		status = "okay";
205724ba675SRob Herring	};
206724ba675SRob Herring};
207724ba675SRob Herring
208724ba675SRob Herring/* lm75 on EB */
209724ba675SRob Herring&i2c1 {
210724ba675SRob Herring	clock-frequency = <100000>;
211724ba675SRob Herring	status = "okay";
212724ba675SRob Herring	lm75@48 {
213724ba675SRob Herring		compatible = "lm75";
214724ba675SRob Herring		reg = <0x48>;
215724ba675SRob Herring		status = "okay";
216724ba675SRob Herring	};
217724ba675SRob Herring};
218724ba675SRob Herring
219724ba675SRob Herring/* tmp100 on EB */
220724ba675SRob Herring&i2c2 {
221724ba675SRob Herring	clock-frequency = <100000>;
222724ba675SRob Herring	status = "okay";
223724ba675SRob Herring	tmp100@48 {
224724ba675SRob Herring		compatible = "tmp100";
225724ba675SRob Herring		reg = <0x48>;
226724ba675SRob Herring		status = "okay";
227724ba675SRob Herring	};
228724ba675SRob Herring};
229724ba675SRob Herring
230724ba675SRob Herring&i2c3 {
231724ba675SRob Herring	clock-frequency = <100000>;
232724ba675SRob Herring	status = "okay";
233724ba675SRob Herring};
234724ba675SRob Herring
235724ba675SRob Herring&i2c5 {
236724ba675SRob Herring	clock-frequency = <100000>;
237724ba675SRob Herring	status = "okay";
238724ba675SRob Herring};
239724ba675SRob Herring
240724ba675SRob Herring/* tmp100 on SVB */
241724ba675SRob Herring&i2c6 {
242724ba675SRob Herring	clock-frequency = <100000>;
243724ba675SRob Herring	status = "okay";
244724ba675SRob Herring	tmp100@48 {
245724ba675SRob Herring		compatible = "tmp100";
246724ba675SRob Herring		reg = <0x48>;
247724ba675SRob Herring		status = "okay";
248724ba675SRob Herring	};
249724ba675SRob Herring};
250724ba675SRob Herring
251724ba675SRob Herring&i2c7 {
252724ba675SRob Herring	clock-frequency = <100000>;
253724ba675SRob Herring	status = "okay";
254724ba675SRob Herring};
255724ba675SRob Herring
256724ba675SRob Herring&i2c8 {
257724ba675SRob Herring	clock-frequency = <100000>;
258724ba675SRob Herring	status = "okay";
259724ba675SRob Herring};
260724ba675SRob Herring
261724ba675SRob Herring&i2c9 {
262724ba675SRob Herring	clock-frequency = <100000>;
263724ba675SRob Herring	status = "okay";
264724ba675SRob Herring};
265724ba675SRob Herring
266724ba675SRob Herring&i2c10 {
267724ba675SRob Herring	clock-frequency = <100000>;
268724ba675SRob Herring	status = "okay";
269724ba675SRob Herring};
270724ba675SRob Herring
271724ba675SRob Herring&i2c11 {
272724ba675SRob Herring	clock-frequency = <100000>;
273724ba675SRob Herring	status = "okay";
274724ba675SRob Herring};
275724ba675SRob Herring
276724ba675SRob Herring&i2c14 {
277724ba675SRob Herring	clock-frequency = <100000>;
278724ba675SRob Herring	status = "okay";
279724ba675SRob Herring};
280724ba675SRob Herring
281724ba675SRob Herring&pwm_fan {
282724ba675SRob Herring	status = "okay";
283724ba675SRob Herring	fan@0 {
284724ba675SRob Herring		reg = <0x00>;
285724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x00 0x01>;
286724ba675SRob Herring		cooling-levels = <127 255>;
287724ba675SRob Herring	};
288724ba675SRob Herring	fan@1 {
289724ba675SRob Herring		reg = <0x01>;
290724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x02 0x03>;
291724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
292724ba675SRob Herring	};
293724ba675SRob Herring	fan@2 {
294724ba675SRob Herring		reg = <0x02>;
295724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x04 0x05>;
296724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
297724ba675SRob Herring	};
298724ba675SRob Herring	fan@3 {
299724ba675SRob Herring		reg = <0x03>;
300724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x06 0x07>;
301724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
302724ba675SRob Herring	};
303724ba675SRob Herring	fan@4 {
304724ba675SRob Herring		reg = <0x04>;
305724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x08 0x09>;
306724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
307724ba675SRob Herring	};
308724ba675SRob Herring	fan@5 {
309724ba675SRob Herring		reg = <0x05>;
310724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x0A 0x0B>;
311724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
312724ba675SRob Herring	};
313724ba675SRob Herring	fan@6 {
314724ba675SRob Herring		reg = <0x06>;
315724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x0C 0x0D>;
316724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
317724ba675SRob Herring	};
318724ba675SRob Herring	fan@7 {
319724ba675SRob Herring		reg = <0x07>;
320724ba675SRob Herring		fan-tach-ch = /bits/ 8 <0x0E 0x0F>;
321724ba675SRob Herring		cooling-levels = /bits/ 8 <127 255>;
322724ba675SRob Herring	};
323724ba675SRob Herring};
324724ba675SRob Herring
325724ba675SRob Herring&spi0 {
326724ba675SRob Herring	cs-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
327724ba675SRob Herring	status = "okay";
328724ba675SRob Herring	flash@0 {
329724ba675SRob Herring		compatible = "winbond,w25q128",
330724ba675SRob Herring		"jedec,spi-nor";
331724ba675SRob Herring		reg = <0x0>;
332724ba675SRob Herring		#address-cells = <1>;
333724ba675SRob Herring		#size-cells = <1>;
334724ba675SRob Herring		spi-max-frequency = <5000000>;
335724ba675SRob Herring		partition@0 {
336724ba675SRob Herring			label = "spi0_spare1";
337724ba675SRob Herring			reg = <0x0000000 0x800000>;
338724ba675SRob Herring		};
339724ba675SRob Herring		partition@1 {
340724ba675SRob Herring			label = "spi0_spare2";
341724ba675SRob Herring			reg = <0x800000 0x0>;
342724ba675SRob Herring		};
343724ba675SRob Herring	};
344724ba675SRob Herring};
345724ba675SRob Herring
346724ba675SRob Herring&spi1 {
347724ba675SRob Herring	cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
348724ba675SRob Herring	status = "okay";
349724ba675SRob Herring	flash@0 {
350724ba675SRob Herring		compatible = "winbond,w25q128fw",
351724ba675SRob Herring		"jedec,spi-nor";
352724ba675SRob Herring		reg = <0x0>;
353724ba675SRob Herring		#address-cells = <1>;
354724ba675SRob Herring		#size-cells = <1>;
355724ba675SRob Herring		spi-max-frequency = <5000000>;
356724ba675SRob Herring		partition@0 {
357724ba675SRob Herring			label = "spi1_spare1";
358724ba675SRob Herring			reg = <0x0000000 0x800000>;
359724ba675SRob Herring		};
360724ba675SRob Herring		partition@1 {
361724ba675SRob Herring			label = "spi1_spare2";
362724ba675SRob Herring			reg = <0x800000 0x0>;
363724ba675SRob Herring		};
364724ba675SRob Herring	};
365724ba675SRob Herring};
366724ba675SRob Herring
367724ba675SRob Herring&pinctrl {
368724ba675SRob Herring	pinctrl-names = "default";
369724ba675SRob Herring	pinctrl-0 = <	&iox1_pins
370724ba675SRob Herring			&pin8_input
371724ba675SRob Herring			&pin9_output_high
372724ba675SRob Herring			&pin10_input
373724ba675SRob Herring			&pin11_output_high
374724ba675SRob Herring			&pin16_input
375724ba675SRob Herring			&pin24_output_high
376724ba675SRob Herring			&pin25_output_low
377724ba675SRob Herring			&pin32_output_high
378724ba675SRob Herring			&jtag2_pins
379724ba675SRob Herring			&pin61_output_high
380724ba675SRob Herring			&pin62_output_high
381724ba675SRob Herring			&pin63_output_high
382724ba675SRob Herring			&lpc_pins
383724ba675SRob Herring			&pin160_input
384724ba675SRob Herring			&pin162_input
385724ba675SRob Herring			&pin168_input
386724ba675SRob Herring			&pin169_input
387724ba675SRob Herring			&pin170_input
388724ba675SRob Herring			&pin187_output_high
389724ba675SRob Herring			&pin190_input
390724ba675SRob Herring			&pin191_output_high
391724ba675SRob Herring			&pin192_output_high
392724ba675SRob Herring			&pin197_output_low
393724ba675SRob Herring			&ddc_pins
394724ba675SRob Herring			&pin218_input
395724ba675SRob Herring			&pin219_output_low
396724ba675SRob Herring			&pin220_output_low
397724ba675SRob Herring			&pin221_output_high
398724ba675SRob Herring			&pin222_input
399724ba675SRob Herring			&pin223_output_low
400724ba675SRob Herring			&spix_pins
401724ba675SRob Herring			&pin228_output_low
402724ba675SRob Herring			&pin231_output_high
403724ba675SRob Herring			&pin255_input>;
404724ba675SRob Herring};
405724ba675SRob Herring
406