105f7e3d1SMasahiro Yamada// SPDX-License-Identifier: GPL-2.0+ OR MIT
205f7e3d1SMasahiro Yamada//
305f7e3d1SMasahiro Yamada// Device Tree Source for UniPhier LD11 SoC
405f7e3d1SMasahiro Yamada//
505f7e3d1SMasahiro Yamada// Copyright (C) 2016 Socionext Inc.
605f7e3d1SMasahiro Yamada//   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7270e0c3eSMasahiro Yamada
8b6e5ec20SMasahiro Yamada#include <dt-bindings/gpio/gpio.h>
98311ca57SMasahiro Yamada#include <dt-bindings/gpio/uniphier-gpio.h>
10b6e5ec20SMasahiro Yamada
11270e0c3eSMasahiro Yamada/ {
12270e0c3eSMasahiro Yamada	compatible = "socionext,uniphier-ld11";
13270e0c3eSMasahiro Yamada	#address-cells = <2>;
14270e0c3eSMasahiro Yamada	#size-cells = <2>;
15270e0c3eSMasahiro Yamada	interrupt-parent = <&gic>;
16270e0c3eSMasahiro Yamada
17270e0c3eSMasahiro Yamada	cpus {
18270e0c3eSMasahiro Yamada		#address-cells = <2>;
19270e0c3eSMasahiro Yamada		#size-cells = <0>;
20270e0c3eSMasahiro Yamada
21270e0c3eSMasahiro Yamada		cpu-map {
22270e0c3eSMasahiro Yamada			cluster0 {
23270e0c3eSMasahiro Yamada				core0 {
24270e0c3eSMasahiro Yamada					cpu = <&cpu0>;
25270e0c3eSMasahiro Yamada				};
26270e0c3eSMasahiro Yamada				core1 {
27270e0c3eSMasahiro Yamada					cpu = <&cpu1>;
28270e0c3eSMasahiro Yamada				};
29270e0c3eSMasahiro Yamada			};
30270e0c3eSMasahiro Yamada		};
31270e0c3eSMasahiro Yamada
32270e0c3eSMasahiro Yamada		cpu0: cpu@0 {
33270e0c3eSMasahiro Yamada			device_type = "cpu";
3431af04cdSRob Herring			compatible = "arm,cortex-a53";
35270e0c3eSMasahiro Yamada			reg = <0 0x000>;
36bdb81836SMasahiro Yamada			clocks = <&sys_clk 33>;
372f81137fSMasahiro Yamada			enable-method = "psci";
38bdb81836SMasahiro Yamada			operating-points-v2 = <&cluster0_opp>;
39270e0c3eSMasahiro Yamada		};
40270e0c3eSMasahiro Yamada
41270e0c3eSMasahiro Yamada		cpu1: cpu@1 {
42270e0c3eSMasahiro Yamada			device_type = "cpu";
4331af04cdSRob Herring			compatible = "arm,cortex-a53";
44270e0c3eSMasahiro Yamada			reg = <0 0x001>;
45bdb81836SMasahiro Yamada			clocks = <&sys_clk 33>;
462f81137fSMasahiro Yamada			enable-method = "psci";
47bdb81836SMasahiro Yamada			operating-points-v2 = <&cluster0_opp>;
48bdb81836SMasahiro Yamada		};
49bdb81836SMasahiro Yamada	};
50bdb81836SMasahiro Yamada
519cd7d03fSMasahiro Yamada	cluster0_opp: opp-table {
52bdb81836SMasahiro Yamada		compatible = "operating-points-v2";
53bdb81836SMasahiro Yamada		opp-shared;
54bdb81836SMasahiro Yamada
553fc9a121SViresh Kumar		opp-245000000 {
56bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <245000000>;
57bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
58bdb81836SMasahiro Yamada		};
593fc9a121SViresh Kumar		opp-250000000 {
60bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <250000000>;
61bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
62bdb81836SMasahiro Yamada		};
633fc9a121SViresh Kumar		opp-490000000 {
64bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <490000000>;
65bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
66bdb81836SMasahiro Yamada		};
673fc9a121SViresh Kumar		opp-500000000 {
68bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <500000000>;
69bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
70bdb81836SMasahiro Yamada		};
713fc9a121SViresh Kumar		opp-653334000 {
72bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <653334000>;
73bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
74bdb81836SMasahiro Yamada		};
753fc9a121SViresh Kumar		opp-666667000 {
76bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <666667000>;
77bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
78bdb81836SMasahiro Yamada		};
793fc9a121SViresh Kumar		opp-980000000 {
80bdb81836SMasahiro Yamada			opp-hz = /bits/ 64 <980000000>;
81bdb81836SMasahiro Yamada			clock-latency-ns = <300>;
82270e0c3eSMasahiro Yamada		};
83270e0c3eSMasahiro Yamada	};
84270e0c3eSMasahiro Yamada
852f81137fSMasahiro Yamada	psci {
862f81137fSMasahiro Yamada		compatible = "arm,psci-1.0";
872f81137fSMasahiro Yamada		method = "smc";
882f81137fSMasahiro Yamada	};
892f81137fSMasahiro Yamada
90270e0c3eSMasahiro Yamada	clocks {
91270e0c3eSMasahiro Yamada		refclk: ref {
92270e0c3eSMasahiro Yamada			compatible = "fixed-clock";
93270e0c3eSMasahiro Yamada			#clock-cells = <0>;
94270e0c3eSMasahiro Yamada			clock-frequency = <25000000>;
95270e0c3eSMasahiro Yamada		};
96270e0c3eSMasahiro Yamada	};
97270e0c3eSMasahiro Yamada
98b6e5ec20SMasahiro Yamada	emmc_pwrseq: emmc-pwrseq {
99b6e5ec20SMasahiro Yamada		compatible = "mmc-pwrseq-emmc";
1008311ca57SMasahiro Yamada		reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
101b6e5ec20SMasahiro Yamada	};
102b6e5ec20SMasahiro Yamada
103270e0c3eSMasahiro Yamada	timer {
104270e0c3eSMasahiro Yamada		compatible = "arm,armv8-timer";
105270e0c3eSMasahiro Yamada		interrupts = <1 13 4>,
106270e0c3eSMasahiro Yamada			     <1 14 4>,
107270e0c3eSMasahiro Yamada			     <1 11 4>,
108270e0c3eSMasahiro Yamada			     <1 10 4>;
109270e0c3eSMasahiro Yamada	};
110270e0c3eSMasahiro Yamada
111aa385712SMasahiro Yamada	reserved-memory {
112aa385712SMasahiro Yamada		#address-cells = <2>;
113aa385712SMasahiro Yamada		#size-cells = <2>;
114aa385712SMasahiro Yamada		ranges;
115aa385712SMasahiro Yamada
116aa385712SMasahiro Yamada		secure-memory@81000000 {
117aa385712SMasahiro Yamada			reg = <0x0 0x81000000 0x0 0x01000000>;
118aa385712SMasahiro Yamada			no-map;
119aa385712SMasahiro Yamada		};
120aa385712SMasahiro Yamada	};
121aa385712SMasahiro Yamada
122b5027603SMasahiro Yamada	soc@0 {
123270e0c3eSMasahiro Yamada		compatible = "simple-bus";
124270e0c3eSMasahiro Yamada		#address-cells = <1>;
125270e0c3eSMasahiro Yamada		#size-cells = <1>;
126270e0c3eSMasahiro Yamada		ranges = <0 0 0 0xffffffff>;
127270e0c3eSMasahiro Yamada
128925c5c32SKunihiko Hayashi		spi0: spi@54006000 {
129925c5c32SKunihiko Hayashi			compatible = "socionext,uniphier-scssi";
130925c5c32SKunihiko Hayashi			status = "disabled";
131925c5c32SKunihiko Hayashi			reg = <0x54006000 0x100>;
132925c5c32SKunihiko Hayashi			interrupts = <0 39 4>;
133925c5c32SKunihiko Hayashi			pinctrl-names = "default";
134925c5c32SKunihiko Hayashi			pinctrl-0 = <&pinctrl_spi0>;
135925c5c32SKunihiko Hayashi			clocks = <&peri_clk 11>;
136925c5c32SKunihiko Hayashi			resets = <&peri_rst 11>;
137925c5c32SKunihiko Hayashi		};
138925c5c32SKunihiko Hayashi
139925c5c32SKunihiko Hayashi		spi1: spi@54006100 {
140925c5c32SKunihiko Hayashi			compatible = "socionext,uniphier-scssi";
141925c5c32SKunihiko Hayashi			status = "disabled";
142925c5c32SKunihiko Hayashi			reg = <0x54006100 0x100>;
143925c5c32SKunihiko Hayashi			interrupts = <0 216 4>;
144925c5c32SKunihiko Hayashi			pinctrl-names = "default";
145925c5c32SKunihiko Hayashi			pinctrl-0 = <&pinctrl_spi1>;
146925c5c32SKunihiko Hayashi			clocks = <&peri_clk 11>;
147925c5c32SKunihiko Hayashi			resets = <&peri_rst 11>;
148925c5c32SKunihiko Hayashi		};
149925c5c32SKunihiko Hayashi
150270e0c3eSMasahiro Yamada		serial0: serial@54006800 {
151270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-uart";
152270e0c3eSMasahiro Yamada			status = "disabled";
153270e0c3eSMasahiro Yamada			reg = <0x54006800 0x40>;
154270e0c3eSMasahiro Yamada			interrupts = <0 33 4>;
155270e0c3eSMasahiro Yamada			pinctrl-names = "default";
156270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_uart0>;
157270e0c3eSMasahiro Yamada			clocks = <&peri_clk 0>;
15876c48e1eSMasahiro Yamada			resets = <&peri_rst 0>;
159270e0c3eSMasahiro Yamada		};
160270e0c3eSMasahiro Yamada
161270e0c3eSMasahiro Yamada		serial1: serial@54006900 {
162270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-uart";
163270e0c3eSMasahiro Yamada			status = "disabled";
164270e0c3eSMasahiro Yamada			reg = <0x54006900 0x40>;
165270e0c3eSMasahiro Yamada			interrupts = <0 35 4>;
166270e0c3eSMasahiro Yamada			pinctrl-names = "default";
167270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_uart1>;
168270e0c3eSMasahiro Yamada			clocks = <&peri_clk 1>;
16976c48e1eSMasahiro Yamada			resets = <&peri_rst 1>;
170270e0c3eSMasahiro Yamada		};
171270e0c3eSMasahiro Yamada
172270e0c3eSMasahiro Yamada		serial2: serial@54006a00 {
173270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-uart";
174270e0c3eSMasahiro Yamada			status = "disabled";
175270e0c3eSMasahiro Yamada			reg = <0x54006a00 0x40>;
176270e0c3eSMasahiro Yamada			interrupts = <0 37 4>;
177270e0c3eSMasahiro Yamada			pinctrl-names = "default";
178270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_uart2>;
179270e0c3eSMasahiro Yamada			clocks = <&peri_clk 2>;
18076c48e1eSMasahiro Yamada			resets = <&peri_rst 2>;
181270e0c3eSMasahiro Yamada		};
182270e0c3eSMasahiro Yamada
183270e0c3eSMasahiro Yamada		serial3: serial@54006b00 {
184270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-uart";
185270e0c3eSMasahiro Yamada			status = "disabled";
186270e0c3eSMasahiro Yamada			reg = <0x54006b00 0x40>;
187270e0c3eSMasahiro Yamada			interrupts = <0 177 4>;
188270e0c3eSMasahiro Yamada			pinctrl-names = "default";
189270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_uart3>;
190270e0c3eSMasahiro Yamada			clocks = <&peri_clk 3>;
19176c48e1eSMasahiro Yamada			resets = <&peri_rst 3>;
192270e0c3eSMasahiro Yamada		};
193270e0c3eSMasahiro Yamada
194277b51e7SMasahiro Yamada		gpio: gpio@55000000 {
195277b51e7SMasahiro Yamada			compatible = "socionext,uniphier-gpio";
196277b51e7SMasahiro Yamada			reg = <0x55000000 0x200>;
197277b51e7SMasahiro Yamada			interrupt-parent = <&aidet>;
198277b51e7SMasahiro Yamada			interrupt-controller;
199277b51e7SMasahiro Yamada			#interrupt-cells = <2>;
200277b51e7SMasahiro Yamada			gpio-controller;
201277b51e7SMasahiro Yamada			#gpio-cells = <2>;
202277b51e7SMasahiro Yamada			gpio-ranges = <&pinctrl 0 0 0>,
203277b51e7SMasahiro Yamada				      <&pinctrl 43 0 0>,
204277b51e7SMasahiro Yamada				      <&pinctrl 51 0 0>,
205277b51e7SMasahiro Yamada				      <&pinctrl 96 0 0>,
206277b51e7SMasahiro Yamada				      <&pinctrl 160 0 0>,
207277b51e7SMasahiro Yamada				      <&pinctrl 184 0 0>;
208277b51e7SMasahiro Yamada			gpio-ranges-group-names = "gpio_range0",
209277b51e7SMasahiro Yamada						  "gpio_range1",
210277b51e7SMasahiro Yamada						  "gpio_range2",
211277b51e7SMasahiro Yamada						  "gpio_range3",
212277b51e7SMasahiro Yamada						  "gpio_range4",
213277b51e7SMasahiro Yamada						  "gpio_range5";
214277b51e7SMasahiro Yamada			ngpios = <200>;
215277b51e7SMasahiro Yamada			socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
216277b51e7SMasahiro Yamada						     <21 217 3>;
217270e0c3eSMasahiro Yamada		};
218270e0c3eSMasahiro Yamada
219fb21a0acSKatsuhiro Suzuki		audio@56000000 {
220fb21a0acSKatsuhiro Suzuki			compatible = "socionext,uniphier-ld11-aio";
221fb21a0acSKatsuhiro Suzuki			reg = <0x56000000 0x80000>;
222fb21a0acSKatsuhiro Suzuki			interrupts = <0 144 4>;
223fb21a0acSKatsuhiro Suzuki			pinctrl-names = "default";
224fb21a0acSKatsuhiro Suzuki			pinctrl-0 = <&pinctrl_aout1>,
225fb21a0acSKatsuhiro Suzuki				    <&pinctrl_aoutiec1>;
226fb21a0acSKatsuhiro Suzuki			clock-names = "aio";
227fb21a0acSKatsuhiro Suzuki			clocks = <&sys_clk 40>;
228fb21a0acSKatsuhiro Suzuki			reset-names = "aio";
229fb21a0acSKatsuhiro Suzuki			resets = <&sys_rst 40>;
230fb21a0acSKatsuhiro Suzuki			#sound-dai-cells = <1>;
2316c35921dSKatsuhiro Suzuki			socionext,syscon = <&soc_glue>;
232fb21a0acSKatsuhiro Suzuki
233fb21a0acSKatsuhiro Suzuki			i2s_port0: port@0 {
234fb21a0acSKatsuhiro Suzuki				i2s_hdmi: endpoint {
235fb21a0acSKatsuhiro Suzuki				};
236fb21a0acSKatsuhiro Suzuki			};
237fb21a0acSKatsuhiro Suzuki
238fb21a0acSKatsuhiro Suzuki			i2s_port1: port@1 {
239fb21a0acSKatsuhiro Suzuki				i2s_pcmin2: endpoint {
240fb21a0acSKatsuhiro Suzuki				};
241fb21a0acSKatsuhiro Suzuki			};
242fb21a0acSKatsuhiro Suzuki
243fb21a0acSKatsuhiro Suzuki			i2s_port2: port@2 {
244fb21a0acSKatsuhiro Suzuki				i2s_line: endpoint {
245fb21a0acSKatsuhiro Suzuki					dai-format = "i2s";
246fb21a0acSKatsuhiro Suzuki					remote-endpoint = <&evea_line>;
247fb21a0acSKatsuhiro Suzuki				};
248fb21a0acSKatsuhiro Suzuki			};
249fb21a0acSKatsuhiro Suzuki
250fb21a0acSKatsuhiro Suzuki			i2s_port3: port@3 {
251fb21a0acSKatsuhiro Suzuki				i2s_hpcmout1: endpoint {
252fb21a0acSKatsuhiro Suzuki				};
253fb21a0acSKatsuhiro Suzuki			};
254fb21a0acSKatsuhiro Suzuki
255fb21a0acSKatsuhiro Suzuki			i2s_port4: port@4 {
256fb21a0acSKatsuhiro Suzuki				i2s_hp: endpoint {
257fb21a0acSKatsuhiro Suzuki					dai-format = "i2s";
258fb21a0acSKatsuhiro Suzuki					remote-endpoint = <&evea_hp>;
259fb21a0acSKatsuhiro Suzuki				};
260fb21a0acSKatsuhiro Suzuki			};
261fb21a0acSKatsuhiro Suzuki
262fb21a0acSKatsuhiro Suzuki			spdif_port0: port@5 {
263fb21a0acSKatsuhiro Suzuki				spdif_hiecout1: endpoint {
264fb21a0acSKatsuhiro Suzuki				};
265fb21a0acSKatsuhiro Suzuki			};
266fb21a0acSKatsuhiro Suzuki
267fb21a0acSKatsuhiro Suzuki			src_port0: port@6 {
268fb21a0acSKatsuhiro Suzuki				i2s_epcmout2: endpoint {
269fb21a0acSKatsuhiro Suzuki				};
270fb21a0acSKatsuhiro Suzuki			};
271fb21a0acSKatsuhiro Suzuki
272fb21a0acSKatsuhiro Suzuki			src_port1: port@7 {
273fb21a0acSKatsuhiro Suzuki				i2s_epcmout3: endpoint {
274fb21a0acSKatsuhiro Suzuki				};
275fb21a0acSKatsuhiro Suzuki			};
276fb21a0acSKatsuhiro Suzuki
277fb21a0acSKatsuhiro Suzuki			comp_spdif_port0: port@8 {
278fb21a0acSKatsuhiro Suzuki				comp_spdif_hiecout1: endpoint {
279fb21a0acSKatsuhiro Suzuki				};
280fb21a0acSKatsuhiro Suzuki			};
281fb21a0acSKatsuhiro Suzuki		};
282fb21a0acSKatsuhiro Suzuki
283fb21a0acSKatsuhiro Suzuki		codec@57900000 {
284fb21a0acSKatsuhiro Suzuki			compatible = "socionext,uniphier-evea";
285fb21a0acSKatsuhiro Suzuki			reg = <0x57900000 0x1000>;
286fb21a0acSKatsuhiro Suzuki			clock-names = "evea", "exiv";
287fb21a0acSKatsuhiro Suzuki			clocks = <&sys_clk 41>, <&sys_clk 42>;
288fb21a0acSKatsuhiro Suzuki			reset-names = "evea", "exiv", "adamv";
289fb21a0acSKatsuhiro Suzuki			resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
290fb21a0acSKatsuhiro Suzuki			#sound-dai-cells = <1>;
291fb21a0acSKatsuhiro Suzuki
292fb21a0acSKatsuhiro Suzuki			port@0 {
293fb21a0acSKatsuhiro Suzuki				evea_line: endpoint {
294fb21a0acSKatsuhiro Suzuki					remote-endpoint = <&i2s_line>;
295fb21a0acSKatsuhiro Suzuki				};
296fb21a0acSKatsuhiro Suzuki			};
297fb21a0acSKatsuhiro Suzuki
298fb21a0acSKatsuhiro Suzuki			port@1 {
299fb21a0acSKatsuhiro Suzuki				evea_hp: endpoint {
300fb21a0acSKatsuhiro Suzuki					remote-endpoint = <&i2s_hp>;
301fb21a0acSKatsuhiro Suzuki				};
302fb21a0acSKatsuhiro Suzuki			};
303fb21a0acSKatsuhiro Suzuki		};
304fb21a0acSKatsuhiro Suzuki
305178b3568SKatsuhiro Suzuki		adamv@57920000 {
306178b3568SKatsuhiro Suzuki			compatible = "socionext,uniphier-ld11-adamv",
307178b3568SKatsuhiro Suzuki				     "simple-mfd", "syscon";
308178b3568SKatsuhiro Suzuki			reg = <0x57920000 0x1000>;
309178b3568SKatsuhiro Suzuki
310178b3568SKatsuhiro Suzuki			adamv_rst: reset {
311178b3568SKatsuhiro Suzuki				compatible = "socionext,uniphier-ld11-adamv-reset";
312178b3568SKatsuhiro Suzuki				#reset-cells = <1>;
313178b3568SKatsuhiro Suzuki			};
314178b3568SKatsuhiro Suzuki		};
315178b3568SKatsuhiro Suzuki
316270e0c3eSMasahiro Yamada		i2c0: i2c@58780000 {
317270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
318270e0c3eSMasahiro Yamada			status = "disabled";
319270e0c3eSMasahiro Yamada			reg = <0x58780000 0x80>;
320270e0c3eSMasahiro Yamada			#address-cells = <1>;
321270e0c3eSMasahiro Yamada			#size-cells = <0>;
322270e0c3eSMasahiro Yamada			interrupts = <0 41 4>;
323270e0c3eSMasahiro Yamada			pinctrl-names = "default";
324270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c0>;
325270e0c3eSMasahiro Yamada			clocks = <&peri_clk 4>;
32676c48e1eSMasahiro Yamada			resets = <&peri_rst 4>;
327270e0c3eSMasahiro Yamada			clock-frequency = <100000>;
328270e0c3eSMasahiro Yamada		};
329270e0c3eSMasahiro Yamada
330270e0c3eSMasahiro Yamada		i2c1: i2c@58781000 {
331270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
332270e0c3eSMasahiro Yamada			status = "disabled";
333270e0c3eSMasahiro Yamada			reg = <0x58781000 0x80>;
334270e0c3eSMasahiro Yamada			#address-cells = <1>;
335270e0c3eSMasahiro Yamada			#size-cells = <0>;
336270e0c3eSMasahiro Yamada			interrupts = <0 42 4>;
337270e0c3eSMasahiro Yamada			pinctrl-names = "default";
338270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c1>;
339270e0c3eSMasahiro Yamada			clocks = <&peri_clk 5>;
34076c48e1eSMasahiro Yamada			resets = <&peri_rst 5>;
341270e0c3eSMasahiro Yamada			clock-frequency = <100000>;
342270e0c3eSMasahiro Yamada		};
343270e0c3eSMasahiro Yamada
344270e0c3eSMasahiro Yamada		i2c2: i2c@58782000 {
345270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
346270e0c3eSMasahiro Yamada			reg = <0x58782000 0x80>;
347270e0c3eSMasahiro Yamada			#address-cells = <1>;
348270e0c3eSMasahiro Yamada			#size-cells = <0>;
349270e0c3eSMasahiro Yamada			interrupts = <0 43 4>;
350270e0c3eSMasahiro Yamada			clocks = <&peri_clk 6>;
35176c48e1eSMasahiro Yamada			resets = <&peri_rst 6>;
352270e0c3eSMasahiro Yamada			clock-frequency = <400000>;
353270e0c3eSMasahiro Yamada		};
354270e0c3eSMasahiro Yamada
355270e0c3eSMasahiro Yamada		i2c3: i2c@58783000 {
356270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
357270e0c3eSMasahiro Yamada			status = "disabled";
358270e0c3eSMasahiro Yamada			reg = <0x58783000 0x80>;
359270e0c3eSMasahiro Yamada			#address-cells = <1>;
360270e0c3eSMasahiro Yamada			#size-cells = <0>;
361270e0c3eSMasahiro Yamada			interrupts = <0 44 4>;
362270e0c3eSMasahiro Yamada			pinctrl-names = "default";
363270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c3>;
364270e0c3eSMasahiro Yamada			clocks = <&peri_clk 7>;
36576c48e1eSMasahiro Yamada			resets = <&peri_rst 7>;
366270e0c3eSMasahiro Yamada			clock-frequency = <100000>;
367270e0c3eSMasahiro Yamada		};
368270e0c3eSMasahiro Yamada
369270e0c3eSMasahiro Yamada		i2c4: i2c@58784000 {
370270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
371270e0c3eSMasahiro Yamada			status = "disabled";
372270e0c3eSMasahiro Yamada			reg = <0x58784000 0x80>;
373270e0c3eSMasahiro Yamada			#address-cells = <1>;
374270e0c3eSMasahiro Yamada			#size-cells = <0>;
375270e0c3eSMasahiro Yamada			interrupts = <0 45 4>;
376270e0c3eSMasahiro Yamada			pinctrl-names = "default";
377270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c4>;
378270e0c3eSMasahiro Yamada			clocks = <&peri_clk 8>;
37976c48e1eSMasahiro Yamada			resets = <&peri_rst 8>;
380270e0c3eSMasahiro Yamada			clock-frequency = <100000>;
381270e0c3eSMasahiro Yamada		};
382270e0c3eSMasahiro Yamada
383270e0c3eSMasahiro Yamada		i2c5: i2c@58785000 {
384270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
385270e0c3eSMasahiro Yamada			reg = <0x58785000 0x80>;
386270e0c3eSMasahiro Yamada			#address-cells = <1>;
387270e0c3eSMasahiro Yamada			#size-cells = <0>;
388270e0c3eSMasahiro Yamada			interrupts = <0 25 4>;
389270e0c3eSMasahiro Yamada			clocks = <&peri_clk 9>;
39076c48e1eSMasahiro Yamada			resets = <&peri_rst 9>;
391270e0c3eSMasahiro Yamada			clock-frequency = <400000>;
392270e0c3eSMasahiro Yamada		};
393270e0c3eSMasahiro Yamada
394270e0c3eSMasahiro Yamada		system_bus: system-bus@58c00000 {
395270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-system-bus";
396270e0c3eSMasahiro Yamada			status = "disabled";
397270e0c3eSMasahiro Yamada			reg = <0x58c00000 0x400>;
398270e0c3eSMasahiro Yamada			#address-cells = <2>;
399270e0c3eSMasahiro Yamada			#size-cells = <1>;
400270e0c3eSMasahiro Yamada			pinctrl-names = "default";
401270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_system_bus>;
402270e0c3eSMasahiro Yamada		};
403270e0c3eSMasahiro Yamada
404b10ee7e3SMasahiro Yamada		smpctrl@59801000 {
405270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-smpctrl";
406270e0c3eSMasahiro Yamada			reg = <0x59801000 0x400>;
407270e0c3eSMasahiro Yamada		};
408270e0c3eSMasahiro Yamada
4098f32b812SMasahiro Yamada		sdctrl@59810000 {
4108f32b812SMasahiro Yamada			compatible = "socionext,uniphier-ld11-sdctrl",
4118f32b812SMasahiro Yamada				     "simple-mfd", "syscon";
4128f32b812SMasahiro Yamada			reg = <0x59810000 0x400>;
4138f32b812SMasahiro Yamada
4148f32b812SMasahiro Yamada			sd_rst: reset {
4158f32b812SMasahiro Yamada				compatible = "socionext,uniphier-ld11-sd-reset";
4168f32b812SMasahiro Yamada				#reset-cells = <1>;
4178f32b812SMasahiro Yamada			};
4188f32b812SMasahiro Yamada		};
4198f32b812SMasahiro Yamada
420270e0c3eSMasahiro Yamada		perictrl@59820000 {
421fb28cef0SMasahiro Yamada			compatible = "socionext,uniphier-ld11-perictrl",
422270e0c3eSMasahiro Yamada				     "simple-mfd", "syscon";
423270e0c3eSMasahiro Yamada			reg = <0x59820000 0x200>;
424270e0c3eSMasahiro Yamada
425270e0c3eSMasahiro Yamada			peri_clk: clock {
426270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-peri-clock";
427270e0c3eSMasahiro Yamada				#clock-cells = <1>;
428270e0c3eSMasahiro Yamada			};
429270e0c3eSMasahiro Yamada
430270e0c3eSMasahiro Yamada			peri_rst: reset {
431270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-peri-reset";
432270e0c3eSMasahiro Yamada				#reset-cells = <1>;
433270e0c3eSMasahiro Yamada			};
434270e0c3eSMasahiro Yamada		};
435270e0c3eSMasahiro Yamada
436bb3f4672SMasahiro Yamada		emmc: mmc@5a000000 {
4373a93cc26SMasahiro Yamada			compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
4383a93cc26SMasahiro Yamada			reg = <0x5a000000 0x400>;
4393a93cc26SMasahiro Yamada			interrupts = <0 78 4>;
4409c0a9700SMasahiro Yamada			pinctrl-names = "default";
4419c0a9700SMasahiro Yamada			pinctrl-0 = <&pinctrl_emmc>;
4423a93cc26SMasahiro Yamada			clocks = <&sys_clk 4>;
44376c48e1eSMasahiro Yamada			resets = <&sys_rst 4>;
4443a93cc26SMasahiro Yamada			bus-width = <8>;
4453a93cc26SMasahiro Yamada			mmc-ddr-1_8v;
4463a93cc26SMasahiro Yamada			mmc-hs200-1_8v;
447b6e5ec20SMasahiro Yamada			mmc-pwrseq = <&emmc_pwrseq>;
448f4e5200fSMasahiro Yamada			cdns,phy-input-delay-legacy = <9>;
449ba6f7011SMasahiro Yamada			cdns,phy-input-delay-mmc-highspeed = <2>;
450ba6f7011SMasahiro Yamada			cdns,phy-input-delay-mmc-ddr = <3>;
451e345ededSMasahiro Yamada			cdns,phy-dll-delay-sdclk = <21>;
452e345ededSMasahiro Yamada			cdns,phy-dll-delay-sdclk-hsmmc = <21>;
4533a93cc26SMasahiro Yamada		};
4543a93cc26SMasahiro Yamada
455270e0c3eSMasahiro Yamada		usb0: usb@5a800100 {
456270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-ehci", "generic-ehci";
457270e0c3eSMasahiro Yamada			status = "disabled";
458270e0c3eSMasahiro Yamada			reg = <0x5a800100 0x100>;
459270e0c3eSMasahiro Yamada			interrupts = <0 243 4>;
460270e0c3eSMasahiro Yamada			pinctrl-names = "default";
461270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_usb0>;
462deaa5519SMasahiro Yamada			clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
463deaa5519SMasahiro Yamada				 <&mio_clk 12>;
4647a201e31SMasahiro Yamada			resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
4657a201e31SMasahiro Yamada				 <&mio_rst 12>;
466546cba06SKunihiko Hayashi			phy-names = "usb";
467546cba06SKunihiko Hayashi			phys = <&usb_phy0>;
46831f1961dSKunihiko Hayashi			has-transaction-translator;
469270e0c3eSMasahiro Yamada		};
470270e0c3eSMasahiro Yamada
471270e0c3eSMasahiro Yamada		usb1: usb@5a810100 {
472270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-ehci", "generic-ehci";
473270e0c3eSMasahiro Yamada			status = "disabled";
474270e0c3eSMasahiro Yamada			reg = <0x5a810100 0x100>;
475270e0c3eSMasahiro Yamada			interrupts = <0 244 4>;
476270e0c3eSMasahiro Yamada			pinctrl-names = "default";
477270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_usb1>;
478deaa5519SMasahiro Yamada			clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
479deaa5519SMasahiro Yamada				 <&mio_clk 13>;
4807a201e31SMasahiro Yamada			resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
4817a201e31SMasahiro Yamada				 <&mio_rst 13>;
482546cba06SKunihiko Hayashi			phy-names = "usb";
483546cba06SKunihiko Hayashi			phys = <&usb_phy1>;
48431f1961dSKunihiko Hayashi			has-transaction-translator;
485270e0c3eSMasahiro Yamada		};
486270e0c3eSMasahiro Yamada
487270e0c3eSMasahiro Yamada		usb2: usb@5a820100 {
488270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-ehci", "generic-ehci";
489270e0c3eSMasahiro Yamada			status = "disabled";
490270e0c3eSMasahiro Yamada			reg = <0x5a820100 0x100>;
491270e0c3eSMasahiro Yamada			interrupts = <0 245 4>;
492270e0c3eSMasahiro Yamada			pinctrl-names = "default";
493270e0c3eSMasahiro Yamada			pinctrl-0 = <&pinctrl_usb2>;
494deaa5519SMasahiro Yamada			clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
495deaa5519SMasahiro Yamada				 <&mio_clk 14>;
4967a201e31SMasahiro Yamada			resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
4977a201e31SMasahiro Yamada				 <&mio_rst 14>;
498546cba06SKunihiko Hayashi			phy-names = "usb";
499546cba06SKunihiko Hayashi			phys = <&usb_phy2>;
50031f1961dSKunihiko Hayashi			has-transaction-translator;
501270e0c3eSMasahiro Yamada		};
502270e0c3eSMasahiro Yamada
503270e0c3eSMasahiro Yamada		mioctrl@5b3e0000 {
504fb28cef0SMasahiro Yamada			compatible = "socionext,uniphier-ld11-mioctrl",
505270e0c3eSMasahiro Yamada				     "simple-mfd", "syscon";
506270e0c3eSMasahiro Yamada			reg = <0x5b3e0000 0x800>;
507270e0c3eSMasahiro Yamada
508270e0c3eSMasahiro Yamada			mio_clk: clock {
509270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-mio-clock";
510270e0c3eSMasahiro Yamada				#clock-cells = <1>;
511270e0c3eSMasahiro Yamada			};
512270e0c3eSMasahiro Yamada
513270e0c3eSMasahiro Yamada			mio_rst: reset {
514270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-mio-reset";
515270e0c3eSMasahiro Yamada				#reset-cells = <1>;
516270e0c3eSMasahiro Yamada				resets = <&sys_rst 7>;
517270e0c3eSMasahiro Yamada			};
518270e0c3eSMasahiro Yamada		};
519270e0c3eSMasahiro Yamada
5206c35921dSKatsuhiro Suzuki		soc_glue: soc-glue@5f800000 {
521fb28cef0SMasahiro Yamada			compatible = "socionext,uniphier-ld11-soc-glue",
522270e0c3eSMasahiro Yamada				     "simple-mfd", "syscon";
523270e0c3eSMasahiro Yamada			reg = <0x5f800000 0x2000>;
524270e0c3eSMasahiro Yamada
525270e0c3eSMasahiro Yamada			pinctrl: pinctrl {
526270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-pinctrl";
527270e0c3eSMasahiro Yamada			};
528546cba06SKunihiko Hayashi
529546cba06SKunihiko Hayashi			usb-phy {
530546cba06SKunihiko Hayashi				compatible = "socionext,uniphier-ld11-usb2-phy";
531546cba06SKunihiko Hayashi				#address-cells = <1>;
532546cba06SKunihiko Hayashi				#size-cells = <0>;
533546cba06SKunihiko Hayashi
534546cba06SKunihiko Hayashi				usb_phy0: phy@0 {
535546cba06SKunihiko Hayashi					reg = <0>;
536546cba06SKunihiko Hayashi					#phy-cells = <0>;
537546cba06SKunihiko Hayashi				};
538546cba06SKunihiko Hayashi
539546cba06SKunihiko Hayashi				usb_phy1: phy@1 {
540546cba06SKunihiko Hayashi					reg = <1>;
541546cba06SKunihiko Hayashi					#phy-cells = <0>;
542546cba06SKunihiko Hayashi				};
543546cba06SKunihiko Hayashi
544546cba06SKunihiko Hayashi				usb_phy2: phy@2 {
545546cba06SKunihiko Hayashi					reg = <2>;
546546cba06SKunihiko Hayashi					#phy-cells = <0>;
547546cba06SKunihiko Hayashi				};
548546cba06SKunihiko Hayashi			};
549270e0c3eSMasahiro Yamada		};
550270e0c3eSMasahiro Yamada
551f05851e1SKeiji Hayashibara		soc-glue@5f900000 {
552f05851e1SKeiji Hayashibara			compatible = "socionext,uniphier-ld11-soc-glue-debug",
553f05851e1SKeiji Hayashibara				     "simple-mfd";
554f05851e1SKeiji Hayashibara			#address-cells = <1>;
555f05851e1SKeiji Hayashibara			#size-cells = <1>;
556f05851e1SKeiji Hayashibara			ranges = <0 0x5f900000 0x2000>;
557f05851e1SKeiji Hayashibara
558f05851e1SKeiji Hayashibara			efuse@100 {
559f05851e1SKeiji Hayashibara				compatible = "socionext,uniphier-efuse";
560f05851e1SKeiji Hayashibara				reg = <0x100 0x28>;
561f05851e1SKeiji Hayashibara			};
562f05851e1SKeiji Hayashibara
563f05851e1SKeiji Hayashibara			efuse@200 {
564f05851e1SKeiji Hayashibara				compatible = "socionext,uniphier-efuse";
565f05851e1SKeiji Hayashibara				reg = <0x200 0x68>;
566f05851e1SKeiji Hayashibara			};
567f05851e1SKeiji Hayashibara		};
568f05851e1SKeiji Hayashibara
5699ddc285bSMasahiro Yamada		aidet: interrupt-controller@5fc20000 {
5703dfc6e98SMasahiro Yamada			compatible = "socionext,uniphier-ld11-aidet";
5713dfc6e98SMasahiro Yamada			reg = <0x5fc20000 0x200>;
5723dfc6e98SMasahiro Yamada			interrupt-controller;
5733dfc6e98SMasahiro Yamada			#interrupt-cells = <2>;
5743dfc6e98SMasahiro Yamada		};
5753dfc6e98SMasahiro Yamada
576270e0c3eSMasahiro Yamada		gic: interrupt-controller@5fe00000 {
577270e0c3eSMasahiro Yamada			compatible = "arm,gic-v3";
578270e0c3eSMasahiro Yamada			reg = <0x5fe00000 0x10000>,	/* GICD */
579270e0c3eSMasahiro Yamada			      <0x5fe40000 0x80000>;	/* GICR */
580270e0c3eSMasahiro Yamada			interrupt-controller;
581270e0c3eSMasahiro Yamada			#interrupt-cells = <3>;
582270e0c3eSMasahiro Yamada			interrupts = <1 9 4>;
583270e0c3eSMasahiro Yamada		};
584270e0c3eSMasahiro Yamada
585270e0c3eSMasahiro Yamada		sysctrl@61840000 {
586270e0c3eSMasahiro Yamada			compatible = "socionext,uniphier-ld11-sysctrl",
587270e0c3eSMasahiro Yamada				     "simple-mfd", "syscon";
5881ef64af8SMasahiro Yamada			reg = <0x61840000 0x10000>;
589270e0c3eSMasahiro Yamada
590270e0c3eSMasahiro Yamada			sys_clk: clock {
591270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-clock";
592270e0c3eSMasahiro Yamada				#clock-cells = <1>;
593270e0c3eSMasahiro Yamada			};
594270e0c3eSMasahiro Yamada
595270e0c3eSMasahiro Yamada			sys_rst: reset {
596270e0c3eSMasahiro Yamada				compatible = "socionext,uniphier-ld11-reset";
597270e0c3eSMasahiro Yamada				#reset-cells = <1>;
598270e0c3eSMasahiro Yamada			};
5994c4c960aSKeiji Hayashibara
6004c4c960aSKeiji Hayashibara			watchdog {
6014c4c960aSKeiji Hayashibara				compatible = "socionext,uniphier-wdt";
6024c4c960aSKeiji Hayashibara			};
603270e0c3eSMasahiro Yamada		};
604e5aefb38SMasahiro Yamada
605c73730eeSKunihiko Hayashi		eth: ethernet@65000000 {
606c73730eeSKunihiko Hayashi			compatible = "socionext,uniphier-ld11-ave4";
607c73730eeSKunihiko Hayashi			status = "disabled";
608c73730eeSKunihiko Hayashi			reg = <0x65000000 0x8500>;
609c73730eeSKunihiko Hayashi			interrupts = <0 66 4>;
610a34a464dSKunihiko Hayashi			clock-names = "ether";
611c73730eeSKunihiko Hayashi			clocks = <&sys_clk 6>;
612a34a464dSKunihiko Hayashi			reset-names = "ether";
613c73730eeSKunihiko Hayashi			resets = <&sys_rst 6>;
614b076ff8bSKunihiko Hayashi			phy-mode = "internal";
615c73730eeSKunihiko Hayashi			local-mac-address = [00 00 00 00 00 00];
616b076ff8bSKunihiko Hayashi			socionext,syscon-phy-mode = <&soc_glue 0>;
617c73730eeSKunihiko Hayashi
618c73730eeSKunihiko Hayashi			mdio: mdio {
619c73730eeSKunihiko Hayashi				#address-cells = <1>;
620c73730eeSKunihiko Hayashi				#size-cells = <0>;
621c73730eeSKunihiko Hayashi			};
622c73730eeSKunihiko Hayashi		};
623c73730eeSKunihiko Hayashi
624fcb0e53cSMasahiro Yamada		nand: nand-controller@68000000 {
625e5aefb38SMasahiro Yamada			compatible = "socionext,uniphier-denali-nand-v5b";
626e5aefb38SMasahiro Yamada			status = "disabled";
627e5aefb38SMasahiro Yamada			reg-names = "nand_data", "denali_reg";
628e5aefb38SMasahiro Yamada			reg = <0x68000000 0x20>, <0x68100000 0x1000>;
62953c580c1SMasahiro Yamada			#address-cells = <1>;
63053c580c1SMasahiro Yamada			#size-cells = <0>;
631e5aefb38SMasahiro Yamada			interrupts = <0 65 4>;
632e5aefb38SMasahiro Yamada			pinctrl-names = "default";
633e5aefb38SMasahiro Yamada			pinctrl-0 = <&pinctrl_nand>;
634bae120f8SMasahiro Yamada			clock-names = "nand", "nand_x", "ecc";
635bae120f8SMasahiro Yamada			clocks = <&sys_clk 2>, <&sys_clk 3>, <&sys_clk 3>;
636e98d5023SMasahiro Yamada			reset-names = "nand", "reg";
637e98d5023SMasahiro Yamada			resets = <&sys_rst 2>, <&sys_rst 2>;
638e5aefb38SMasahiro Yamada		};
639270e0c3eSMasahiro Yamada	};
640270e0c3eSMasahiro Yamada};
641270e0c3eSMasahiro Yamada
6425740ea4eSMasahiro Yamada#include "uniphier-pinctrl.dtsi"
643fb21a0acSKatsuhiro Suzuki
644fb21a0acSKatsuhiro Suzuki&pinctrl_aoutiec1 {
645fb21a0acSKatsuhiro Suzuki	drive-strength = <4>;	/* default: 4mA */
646fb21a0acSKatsuhiro Suzuki
647fb21a0acSKatsuhiro Suzuki	ao1arc {
648fb21a0acSKatsuhiro Suzuki		pins = "AO1ARC";
649fb21a0acSKatsuhiro Suzuki		drive-strength = <8>;	/* 8mA */
650fb21a0acSKatsuhiro Suzuki	};
651fb21a0acSKatsuhiro Suzuki};
652