xref: /openbmc/u-boot/arch/arm/dts/uniphier-ld20.dtsi (revision c3ab1e11)
13e98fc12SMasahiro Yamada// SPDX-License-Identifier: GPL-2.0+ OR MIT
23e98fc12SMasahiro Yamada//
33e98fc12SMasahiro Yamada// Device Tree Source for UniPhier LD20 SoC
43e98fc12SMasahiro Yamada//
53e98fc12SMasahiro Yamada// Copyright (C) 2015-2016 Socionext Inc.
63e98fc12SMasahiro Yamada//   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
752159d27SMasahiro Yamada
8b443fb42SMasahiro Yamada#include <dt-bindings/gpio/gpio.h>
9b443fb42SMasahiro Yamada#include <dt-bindings/gpio/uniphier-gpio.h>
10b443fb42SMasahiro Yamada#include <dt-bindings/thermal/thermal.h>
11b443fb42SMasahiro Yamada
12d9403001SMasahiro Yamada/memreserve/ 0x80000000 0x02000000;
1352159d27SMasahiro Yamada
1452159d27SMasahiro Yamada/ {
1552159d27SMasahiro Yamada	compatible = "socionext,uniphier-ld20";
1652159d27SMasahiro Yamada	#address-cells = <2>;
1752159d27SMasahiro Yamada	#size-cells = <2>;
1852159d27SMasahiro Yamada	interrupt-parent = <&gic>;
1952159d27SMasahiro Yamada
2052159d27SMasahiro Yamada	cpus {
2152159d27SMasahiro Yamada		#address-cells = <2>;
2252159d27SMasahiro Yamada		#size-cells = <0>;
2352159d27SMasahiro Yamada
2452159d27SMasahiro Yamada		cpu-map {
2552159d27SMasahiro Yamada			cluster0 {
2652159d27SMasahiro Yamada				core0 {
2752159d27SMasahiro Yamada					cpu = <&cpu0>;
2852159d27SMasahiro Yamada				};
2952159d27SMasahiro Yamada				core1 {
3052159d27SMasahiro Yamada					cpu = <&cpu1>;
3152159d27SMasahiro Yamada				};
3252159d27SMasahiro Yamada			};
3352159d27SMasahiro Yamada
3452159d27SMasahiro Yamada			cluster1 {
3552159d27SMasahiro Yamada				core0 {
3652159d27SMasahiro Yamada					cpu = <&cpu2>;
3752159d27SMasahiro Yamada				};
3852159d27SMasahiro Yamada				core1 {
3952159d27SMasahiro Yamada					cpu = <&cpu3>;
4052159d27SMasahiro Yamada				};
4152159d27SMasahiro Yamada			};
4252159d27SMasahiro Yamada		};
4352159d27SMasahiro Yamada
4452159d27SMasahiro Yamada		cpu0: cpu@0 {
4552159d27SMasahiro Yamada			device_type = "cpu";
4652159d27SMasahiro Yamada			compatible = "arm,cortex-a72", "arm,armv8";
4752159d27SMasahiro Yamada			reg = <0 0x000>;
48cd62214dSMasahiro Yamada			clocks = <&sys_clk 32>;
49cd62214dSMasahiro Yamada			enable-method = "psci";
50cd62214dSMasahiro Yamada			operating-points-v2 = <&cluster0_opp>;
51b443fb42SMasahiro Yamada			#cooling-cells = <2>;
5252159d27SMasahiro Yamada		};
5352159d27SMasahiro Yamada
5452159d27SMasahiro Yamada		cpu1: cpu@1 {
5552159d27SMasahiro Yamada			device_type = "cpu";
5652159d27SMasahiro Yamada			compatible = "arm,cortex-a72", "arm,armv8";
5752159d27SMasahiro Yamada			reg = <0 0x001>;
58cd62214dSMasahiro Yamada			clocks = <&sys_clk 32>;
59cd62214dSMasahiro Yamada			enable-method = "psci";
60cd62214dSMasahiro Yamada			operating-points-v2 = <&cluster0_opp>;
6133aae6b5SMasahiro Yamada			#cooling-cells = <2>;
6252159d27SMasahiro Yamada		};
6352159d27SMasahiro Yamada
6452159d27SMasahiro Yamada		cpu2: cpu@100 {
6552159d27SMasahiro Yamada			device_type = "cpu";
6652159d27SMasahiro Yamada			compatible = "arm,cortex-a53", "arm,armv8";
6752159d27SMasahiro Yamada			reg = <0 0x100>;
68cd62214dSMasahiro Yamada			clocks = <&sys_clk 33>;
69cd62214dSMasahiro Yamada			enable-method = "psci";
70cd62214dSMasahiro Yamada			operating-points-v2 = <&cluster1_opp>;
71b443fb42SMasahiro Yamada			#cooling-cells = <2>;
7252159d27SMasahiro Yamada		};
7352159d27SMasahiro Yamada
7452159d27SMasahiro Yamada		cpu3: cpu@101 {
7552159d27SMasahiro Yamada			device_type = "cpu";
7652159d27SMasahiro Yamada			compatible = "arm,cortex-a53", "arm,armv8";
7752159d27SMasahiro Yamada			reg = <0 0x101>;
78cd62214dSMasahiro Yamada			clocks = <&sys_clk 33>;
79cd62214dSMasahiro Yamada			enable-method = "psci";
80cd62214dSMasahiro Yamada			operating-points-v2 = <&cluster1_opp>;
8133aae6b5SMasahiro Yamada			#cooling-cells = <2>;
8252159d27SMasahiro Yamada		};
8352159d27SMasahiro Yamada	};
8452159d27SMasahiro Yamada
85b443fb42SMasahiro Yamada	cluster0_opp: opp-table0 {
86cd62214dSMasahiro Yamada		compatible = "operating-points-v2";
87cd62214dSMasahiro Yamada		opp-shared;
88cd62214dSMasahiro Yamada
894e7f8de4SMasahiro Yamada		opp-250000000 {
90cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <250000000>;
91cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
92cd62214dSMasahiro Yamada		};
934e7f8de4SMasahiro Yamada		opp-275000000 {
94cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <275000000>;
95cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
96cd62214dSMasahiro Yamada		};
974e7f8de4SMasahiro Yamada		opp-500000000 {
98cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <500000000>;
99cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
100cd62214dSMasahiro Yamada		};
1014e7f8de4SMasahiro Yamada		opp-550000000 {
102cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <550000000>;
103cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
104cd62214dSMasahiro Yamada		};
1054e7f8de4SMasahiro Yamada		opp-666667000 {
106cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <666667000>;
107cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
108cd62214dSMasahiro Yamada		};
1094e7f8de4SMasahiro Yamada		opp-733334000 {
110cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <733334000>;
111cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
112cd62214dSMasahiro Yamada		};
1134e7f8de4SMasahiro Yamada		opp-1000000000 {
114cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <1000000000>;
115cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
116cd62214dSMasahiro Yamada		};
1174e7f8de4SMasahiro Yamada		opp-1100000000 {
118cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <1100000000>;
119cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
120cd62214dSMasahiro Yamada		};
121cd62214dSMasahiro Yamada	};
122cd62214dSMasahiro Yamada
123b443fb42SMasahiro Yamada	cluster1_opp: opp-table1 {
124cd62214dSMasahiro Yamada		compatible = "operating-points-v2";
125cd62214dSMasahiro Yamada		opp-shared;
126cd62214dSMasahiro Yamada
1274e7f8de4SMasahiro Yamada		opp-250000000 {
128cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <250000000>;
129cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
130cd62214dSMasahiro Yamada		};
1314e7f8de4SMasahiro Yamada		opp-275000000 {
132cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <275000000>;
133cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
134cd62214dSMasahiro Yamada		};
1354e7f8de4SMasahiro Yamada		opp-500000000 {
136cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <500000000>;
137cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
138cd62214dSMasahiro Yamada		};
1394e7f8de4SMasahiro Yamada		opp-550000000 {
140cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <550000000>;
141cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
142cd62214dSMasahiro Yamada		};
1434e7f8de4SMasahiro Yamada		opp-666667000 {
144cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <666667000>;
145cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
146cd62214dSMasahiro Yamada		};
1474e7f8de4SMasahiro Yamada		opp-733334000 {
148cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <733334000>;
149cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
150cd62214dSMasahiro Yamada		};
1514e7f8de4SMasahiro Yamada		opp-1000000000 {
152cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <1000000000>;
153cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
154cd62214dSMasahiro Yamada		};
1554e7f8de4SMasahiro Yamada		opp-1100000000 {
156cd62214dSMasahiro Yamada			opp-hz = /bits/ 64 <1100000000>;
157cd62214dSMasahiro Yamada			clock-latency-ns = <300>;
158cd62214dSMasahiro Yamada		};
159cd62214dSMasahiro Yamada	};
160cd62214dSMasahiro Yamada
161cd62214dSMasahiro Yamada	psci {
162cd62214dSMasahiro Yamada		compatible = "arm,psci-1.0";
163cd62214dSMasahiro Yamada		method = "smc";
164cd62214dSMasahiro Yamada	};
165cd62214dSMasahiro Yamada
16652159d27SMasahiro Yamada	clocks {
16752159d27SMasahiro Yamada		refclk: ref {
16852159d27SMasahiro Yamada			compatible = "fixed-clock";
16952159d27SMasahiro Yamada			#clock-cells = <0>;
17052159d27SMasahiro Yamada			clock-frequency = <25000000>;
17152159d27SMasahiro Yamada		};
17252159d27SMasahiro Yamada	};
17352159d27SMasahiro Yamada
174b443fb42SMasahiro Yamada	emmc_pwrseq: emmc-pwrseq {
175b443fb42SMasahiro Yamada		compatible = "mmc-pwrseq-emmc";
176b443fb42SMasahiro Yamada		reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
177b443fb42SMasahiro Yamada	};
178b443fb42SMasahiro Yamada
17952159d27SMasahiro Yamada	timer {
18052159d27SMasahiro Yamada		compatible = "arm,armv8-timer";
18152159d27SMasahiro Yamada		interrupts = <1 13 4>,
18252159d27SMasahiro Yamada			     <1 14 4>,
18352159d27SMasahiro Yamada			     <1 11 4>,
18452159d27SMasahiro Yamada			     <1 10 4>;
18552159d27SMasahiro Yamada	};
18652159d27SMasahiro Yamada
187b443fb42SMasahiro Yamada	thermal-zones {
188b443fb42SMasahiro Yamada		cpu-thermal {
189b443fb42SMasahiro Yamada			polling-delay-passive = <250>;	/* 250ms */
190b443fb42SMasahiro Yamada			polling-delay = <1000>;		/* 1000ms */
191b443fb42SMasahiro Yamada			thermal-sensors = <&pvtctl>;
192b443fb42SMasahiro Yamada
193b443fb42SMasahiro Yamada			trips {
194b443fb42SMasahiro Yamada				cpu_crit: cpu-crit {
195b443fb42SMasahiro Yamada					temperature = <110000>;	/* 110C */
196b443fb42SMasahiro Yamada					hysteresis = <2000>;
197b443fb42SMasahiro Yamada					type = "critical";
198b443fb42SMasahiro Yamada				};
199b443fb42SMasahiro Yamada				cpu_alert: cpu-alert {
200b443fb42SMasahiro Yamada					temperature = <100000>;	/* 100C */
201b443fb42SMasahiro Yamada					hysteresis = <2000>;
202b443fb42SMasahiro Yamada					type = "passive";
203b443fb42SMasahiro Yamada				};
204b443fb42SMasahiro Yamada			};
205b443fb42SMasahiro Yamada
206b443fb42SMasahiro Yamada			cooling-maps {
207b443fb42SMasahiro Yamada				map0 {
208b443fb42SMasahiro Yamada					trip = <&cpu_alert>;
209b443fb42SMasahiro Yamada					cooling-device = <&cpu0
210b443fb42SMasahiro Yamada					    THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
211b443fb42SMasahiro Yamada				};
212b443fb42SMasahiro Yamada				map1 {
213b443fb42SMasahiro Yamada					trip = <&cpu_alert>;
214b443fb42SMasahiro Yamada					cooling-device = <&cpu2
215b443fb42SMasahiro Yamada					    THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
216b443fb42SMasahiro Yamada				};
217b443fb42SMasahiro Yamada			};
218b443fb42SMasahiro Yamada		};
219b443fb42SMasahiro Yamada	};
220b443fb42SMasahiro Yamada
2217ad79c12SMasahiro Yamada	soc@0 {
22252159d27SMasahiro Yamada		compatible = "simple-bus";
22352159d27SMasahiro Yamada		#address-cells = <1>;
22452159d27SMasahiro Yamada		#size-cells = <1>;
22552159d27SMasahiro Yamada		ranges = <0 0 0 0xffffffff>;
22652159d27SMasahiro Yamada
22752159d27SMasahiro Yamada		serial0: serial@54006800 {
22852159d27SMasahiro Yamada			compatible = "socionext,uniphier-uart";
22952159d27SMasahiro Yamada			status = "disabled";
23052159d27SMasahiro Yamada			reg = <0x54006800 0x40>;
23152159d27SMasahiro Yamada			interrupts = <0 33 4>;
23252159d27SMasahiro Yamada			pinctrl-names = "default";
23352159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_uart0>;
23452159d27SMasahiro Yamada			clocks = <&peri_clk 0>;
235b443fb42SMasahiro Yamada			resets = <&peri_rst 0>;
23652159d27SMasahiro Yamada		};
23752159d27SMasahiro Yamada
23852159d27SMasahiro Yamada		serial1: serial@54006900 {
23952159d27SMasahiro Yamada			compatible = "socionext,uniphier-uart";
24052159d27SMasahiro Yamada			status = "disabled";
24152159d27SMasahiro Yamada			reg = <0x54006900 0x40>;
24252159d27SMasahiro Yamada			interrupts = <0 35 4>;
24352159d27SMasahiro Yamada			pinctrl-names = "default";
24452159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_uart1>;
24552159d27SMasahiro Yamada			clocks = <&peri_clk 1>;
246b443fb42SMasahiro Yamada			resets = <&peri_rst 1>;
24752159d27SMasahiro Yamada		};
24852159d27SMasahiro Yamada
24952159d27SMasahiro Yamada		serial2: serial@54006a00 {
25052159d27SMasahiro Yamada			compatible = "socionext,uniphier-uart";
25152159d27SMasahiro Yamada			status = "disabled";
25252159d27SMasahiro Yamada			reg = <0x54006a00 0x40>;
25352159d27SMasahiro Yamada			interrupts = <0 37 4>;
25452159d27SMasahiro Yamada			pinctrl-names = "default";
25552159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_uart2>;
25652159d27SMasahiro Yamada			clocks = <&peri_clk 2>;
257b443fb42SMasahiro Yamada			resets = <&peri_rst 2>;
25852159d27SMasahiro Yamada		};
25952159d27SMasahiro Yamada
26052159d27SMasahiro Yamada		serial3: serial@54006b00 {
26152159d27SMasahiro Yamada			compatible = "socionext,uniphier-uart";
26252159d27SMasahiro Yamada			status = "disabled";
26352159d27SMasahiro Yamada			reg = <0x54006b00 0x40>;
26452159d27SMasahiro Yamada			interrupts = <0 177 4>;
26552159d27SMasahiro Yamada			pinctrl-names = "default";
26652159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_uart3>;
26752159d27SMasahiro Yamada			clocks = <&peri_clk 3>;
268b443fb42SMasahiro Yamada			resets = <&peri_rst 3>;
26952159d27SMasahiro Yamada		};
27052159d27SMasahiro Yamada
27127287487SMasahiro Yamada		gpio: gpio@55000000 {
27227287487SMasahiro Yamada			compatible = "socionext,uniphier-gpio";
27327287487SMasahiro Yamada			reg = <0x55000000 0x200>;
27427287487SMasahiro Yamada			interrupt-parent = <&aidet>;
27527287487SMasahiro Yamada			interrupt-controller;
27627287487SMasahiro Yamada			#interrupt-cells = <2>;
27727287487SMasahiro Yamada			gpio-controller;
27827287487SMasahiro Yamada			#gpio-cells = <2>;
27927287487SMasahiro Yamada			gpio-ranges = <&pinctrl 0 0 0>,
28027287487SMasahiro Yamada				      <&pinctrl 96 0 0>,
28127287487SMasahiro Yamada				      <&pinctrl 160 0 0>;
28227287487SMasahiro Yamada			gpio-ranges-group-names = "gpio_range0",
28327287487SMasahiro Yamada						  "gpio_range1",
28427287487SMasahiro Yamada						  "gpio_range2";
28527287487SMasahiro Yamada			ngpios = <205>;
28627287487SMasahiro Yamada			socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
28727287487SMasahiro Yamada						     <21 217 3>;
28827287487SMasahiro Yamada		};
28927287487SMasahiro Yamada
2903e98fc12SMasahiro Yamada		audio@56000000 {
2913e98fc12SMasahiro Yamada			compatible = "socionext,uniphier-ld20-aio";
2923e98fc12SMasahiro Yamada			reg = <0x56000000 0x80000>;
2933e98fc12SMasahiro Yamada			interrupts = <0 144 4>;
2943e98fc12SMasahiro Yamada			pinctrl-names = "default";
2953e98fc12SMasahiro Yamada			pinctrl-0 = <&pinctrl_aout1>,
2963e98fc12SMasahiro Yamada				    <&pinctrl_aoutiec1>;
2973e98fc12SMasahiro Yamada			clock-names = "aio";
2983e98fc12SMasahiro Yamada			clocks = <&sys_clk 40>;
2993e98fc12SMasahiro Yamada			reset-names = "aio";
3003e98fc12SMasahiro Yamada			resets = <&sys_rst 40>;
3013e98fc12SMasahiro Yamada			#sound-dai-cells = <1>;
3023e98fc12SMasahiro Yamada			socionext,syscon = <&soc_glue>;
3033e98fc12SMasahiro Yamada
3043e98fc12SMasahiro Yamada			i2s_port0: port@0 {
3053e98fc12SMasahiro Yamada				i2s_hdmi: endpoint {
3063e98fc12SMasahiro Yamada				};
3073e98fc12SMasahiro Yamada			};
3083e98fc12SMasahiro Yamada
3093e98fc12SMasahiro Yamada			i2s_port1: port@1 {
3103e98fc12SMasahiro Yamada				i2s_pcmin2: endpoint {
3113e98fc12SMasahiro Yamada				};
3123e98fc12SMasahiro Yamada			};
3133e98fc12SMasahiro Yamada
3143e98fc12SMasahiro Yamada			i2s_port2: port@2 {
3153e98fc12SMasahiro Yamada				i2s_line: endpoint {
3163e98fc12SMasahiro Yamada					dai-format = "i2s";
3173e98fc12SMasahiro Yamada					remote-endpoint = <&evea_line>;
3183e98fc12SMasahiro Yamada				};
3193e98fc12SMasahiro Yamada			};
3203e98fc12SMasahiro Yamada
3213e98fc12SMasahiro Yamada			i2s_port3: port@3 {
3223e98fc12SMasahiro Yamada				i2s_hpcmout1: endpoint {
3233e98fc12SMasahiro Yamada				};
3243e98fc12SMasahiro Yamada			};
3253e98fc12SMasahiro Yamada
3263e98fc12SMasahiro Yamada			i2s_port4: port@4 {
3273e98fc12SMasahiro Yamada				i2s_hp: endpoint {
3283e98fc12SMasahiro Yamada					dai-format = "i2s";
3293e98fc12SMasahiro Yamada					remote-endpoint = <&evea_hp>;
3303e98fc12SMasahiro Yamada				};
3313e98fc12SMasahiro Yamada			};
3323e98fc12SMasahiro Yamada
3333e98fc12SMasahiro Yamada			spdif_port0: port@5 {
3343e98fc12SMasahiro Yamada				spdif_hiecout1: endpoint {
3353e98fc12SMasahiro Yamada				};
3363e98fc12SMasahiro Yamada			};
3373e98fc12SMasahiro Yamada
3383e98fc12SMasahiro Yamada			src_port0: port@6 {
3393e98fc12SMasahiro Yamada				i2s_epcmout2: endpoint {
3403e98fc12SMasahiro Yamada				};
3413e98fc12SMasahiro Yamada			};
3423e98fc12SMasahiro Yamada
3433e98fc12SMasahiro Yamada			src_port1: port@7 {
3443e98fc12SMasahiro Yamada				i2s_epcmout3: endpoint {
3453e98fc12SMasahiro Yamada				};
3463e98fc12SMasahiro Yamada			};
3473e98fc12SMasahiro Yamada
3483e98fc12SMasahiro Yamada			comp_spdif_port0: port@8 {
3493e98fc12SMasahiro Yamada				comp_spdif_hiecout1: endpoint {
3503e98fc12SMasahiro Yamada				};
3513e98fc12SMasahiro Yamada			};
3523e98fc12SMasahiro Yamada		};
3533e98fc12SMasahiro Yamada
3543e98fc12SMasahiro Yamada		codec@57900000 {
3553e98fc12SMasahiro Yamada			compatible = "socionext,uniphier-evea";
3563e98fc12SMasahiro Yamada			reg = <0x57900000 0x1000>;
3573e98fc12SMasahiro Yamada			clock-names = "evea", "exiv";
3583e98fc12SMasahiro Yamada			clocks = <&sys_clk 41>, <&sys_clk 42>;
3593e98fc12SMasahiro Yamada			reset-names = "evea", "exiv", "adamv";
3603e98fc12SMasahiro Yamada			resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
3613e98fc12SMasahiro Yamada			#sound-dai-cells = <1>;
3623e98fc12SMasahiro Yamada
3633e98fc12SMasahiro Yamada			port@0 {
3643e98fc12SMasahiro Yamada				evea_line: endpoint {
3653e98fc12SMasahiro Yamada					remote-endpoint = <&i2s_line>;
3663e98fc12SMasahiro Yamada				};
3673e98fc12SMasahiro Yamada			};
3683e98fc12SMasahiro Yamada
3693e98fc12SMasahiro Yamada			port@1 {
3703e98fc12SMasahiro Yamada				evea_hp: endpoint {
3713e98fc12SMasahiro Yamada					remote-endpoint = <&i2s_hp>;
3723e98fc12SMasahiro Yamada				};
3733e98fc12SMasahiro Yamada			};
3743e98fc12SMasahiro Yamada		};
3753e98fc12SMasahiro Yamada
37627287487SMasahiro Yamada		adamv@57920000 {
37727287487SMasahiro Yamada			compatible = "socionext,uniphier-ld20-adamv",
37827287487SMasahiro Yamada				     "simple-mfd", "syscon";
37927287487SMasahiro Yamada			reg = <0x57920000 0x1000>;
38027287487SMasahiro Yamada
38127287487SMasahiro Yamada			adamv_rst: reset {
38227287487SMasahiro Yamada				compatible = "socionext,uniphier-ld20-adamv-reset";
38327287487SMasahiro Yamada				#reset-cells = <1>;
38427287487SMasahiro Yamada			};
38527287487SMasahiro Yamada		};
38627287487SMasahiro Yamada
38752159d27SMasahiro Yamada		i2c0: i2c@58780000 {
38852159d27SMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
38952159d27SMasahiro Yamada			status = "disabled";
39052159d27SMasahiro Yamada			reg = <0x58780000 0x80>;
39152159d27SMasahiro Yamada			#address-cells = <1>;
39252159d27SMasahiro Yamada			#size-cells = <0>;
39352159d27SMasahiro Yamada			interrupts = <0 41 4>;
39452159d27SMasahiro Yamada			pinctrl-names = "default";
39552159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c0>;
396cd62214dSMasahiro Yamada			clocks = <&peri_clk 4>;
397b443fb42SMasahiro Yamada			resets = <&peri_rst 4>;
39852159d27SMasahiro Yamada			clock-frequency = <100000>;
39952159d27SMasahiro Yamada		};
40052159d27SMasahiro Yamada
40152159d27SMasahiro Yamada		i2c1: i2c@58781000 {
40252159d27SMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
40352159d27SMasahiro Yamada			status = "disabled";
40452159d27SMasahiro Yamada			reg = <0x58781000 0x80>;
40552159d27SMasahiro Yamada			#address-cells = <1>;
40652159d27SMasahiro Yamada			#size-cells = <0>;
40752159d27SMasahiro Yamada			interrupts = <0 42 4>;
40852159d27SMasahiro Yamada			pinctrl-names = "default";
40952159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c1>;
410cd62214dSMasahiro Yamada			clocks = <&peri_clk 5>;
411b443fb42SMasahiro Yamada			resets = <&peri_rst 5>;
41252159d27SMasahiro Yamada			clock-frequency = <100000>;
41352159d27SMasahiro Yamada		};
41452159d27SMasahiro Yamada
41552159d27SMasahiro Yamada		i2c2: i2c@58782000 {
41652159d27SMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
41752159d27SMasahiro Yamada			reg = <0x58782000 0x80>;
41852159d27SMasahiro Yamada			#address-cells = <1>;
41952159d27SMasahiro Yamada			#size-cells = <0>;
42052159d27SMasahiro Yamada			interrupts = <0 43 4>;
421cd62214dSMasahiro Yamada			clocks = <&peri_clk 6>;
422b443fb42SMasahiro Yamada			resets = <&peri_rst 6>;
42352159d27SMasahiro Yamada			clock-frequency = <400000>;
42452159d27SMasahiro Yamada		};
42552159d27SMasahiro Yamada
42652159d27SMasahiro Yamada		i2c3: i2c@58783000 {
42752159d27SMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
42852159d27SMasahiro Yamada			status = "disabled";
42952159d27SMasahiro Yamada			reg = <0x58783000 0x80>;
43052159d27SMasahiro Yamada			#address-cells = <1>;
43152159d27SMasahiro Yamada			#size-cells = <0>;
43252159d27SMasahiro Yamada			interrupts = <0 44 4>;
43352159d27SMasahiro Yamada			pinctrl-names = "default";
43452159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c3>;
435cd62214dSMasahiro Yamada			clocks = <&peri_clk 7>;
436b443fb42SMasahiro Yamada			resets = <&peri_rst 7>;
43752159d27SMasahiro Yamada			clock-frequency = <100000>;
43852159d27SMasahiro Yamada		};
43952159d27SMasahiro Yamada
44052159d27SMasahiro Yamada		i2c4: i2c@58784000 {
44152159d27SMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
44252159d27SMasahiro Yamada			status = "disabled";
44352159d27SMasahiro Yamada			reg = <0x58784000 0x80>;
44452159d27SMasahiro Yamada			#address-cells = <1>;
44552159d27SMasahiro Yamada			#size-cells = <0>;
44652159d27SMasahiro Yamada			interrupts = <0 45 4>;
44752159d27SMasahiro Yamada			pinctrl-names = "default";
44852159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_i2c4>;
449cd62214dSMasahiro Yamada			clocks = <&peri_clk 8>;
450b443fb42SMasahiro Yamada			resets = <&peri_rst 8>;
45152159d27SMasahiro Yamada			clock-frequency = <100000>;
45252159d27SMasahiro Yamada		};
45352159d27SMasahiro Yamada
45452159d27SMasahiro Yamada		i2c5: i2c@58785000 {
45552159d27SMasahiro Yamada			compatible = "socionext,uniphier-fi2c";
45652159d27SMasahiro Yamada			reg = <0x58785000 0x80>;
45752159d27SMasahiro Yamada			#address-cells = <1>;
45852159d27SMasahiro Yamada			#size-cells = <0>;
45952159d27SMasahiro Yamada			interrupts = <0 25 4>;
460cd62214dSMasahiro Yamada			clocks = <&peri_clk 9>;
461b443fb42SMasahiro Yamada			resets = <&peri_rst 9>;
46252159d27SMasahiro Yamada			clock-frequency = <400000>;
46352159d27SMasahiro Yamada		};
46452159d27SMasahiro Yamada
46552159d27SMasahiro Yamada		system_bus: system-bus@58c00000 {
46652159d27SMasahiro Yamada			compatible = "socionext,uniphier-system-bus";
46752159d27SMasahiro Yamada			status = "disabled";
46852159d27SMasahiro Yamada			reg = <0x58c00000 0x400>;
46952159d27SMasahiro Yamada			#address-cells = <2>;
47052159d27SMasahiro Yamada			#size-cells = <1>;
47152159d27SMasahiro Yamada			pinctrl-names = "default";
47252159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_system_bus>;
47352159d27SMasahiro Yamada		};
47452159d27SMasahiro Yamada
475abb6ac25SMasahiro Yamada		smpctrl@59801000 {
47652159d27SMasahiro Yamada			compatible = "socionext,uniphier-smpctrl";
47752159d27SMasahiro Yamada			reg = <0x59801000 0x400>;
47852159d27SMasahiro Yamada		};
47952159d27SMasahiro Yamada
480cd62214dSMasahiro Yamada		sdctrl@59810000 {
481cd62214dSMasahiro Yamada			compatible = "socionext,uniphier-ld20-sdctrl",
48252159d27SMasahiro Yamada				     "simple-mfd", "syscon";
4836c9e46efSMasahiro Yamada			reg = <0x59810000 0x400>;
48452159d27SMasahiro Yamada
485cd62214dSMasahiro Yamada			sd_clk: clock {
486cd62214dSMasahiro Yamada				compatible = "socionext,uniphier-ld20-sd-clock";
48752159d27SMasahiro Yamada				#clock-cells = <1>;
48852159d27SMasahiro Yamada			};
48952159d27SMasahiro Yamada
490cd62214dSMasahiro Yamada			sd_rst: reset {
491cd62214dSMasahiro Yamada				compatible = "socionext,uniphier-ld20-sd-reset";
49252159d27SMasahiro Yamada				#reset-cells = <1>;
49352159d27SMasahiro Yamada			};
49452159d27SMasahiro Yamada		};
49552159d27SMasahiro Yamada
49652159d27SMasahiro Yamada		perictrl@59820000 {
497cd62214dSMasahiro Yamada			compatible = "socionext,uniphier-ld20-perictrl",
49852159d27SMasahiro Yamada				     "simple-mfd", "syscon";
49952159d27SMasahiro Yamada			reg = <0x59820000 0x200>;
50052159d27SMasahiro Yamada
50152159d27SMasahiro Yamada			peri_clk: clock {
50252159d27SMasahiro Yamada				compatible = "socionext,uniphier-ld20-peri-clock";
50352159d27SMasahiro Yamada				#clock-cells = <1>;
50452159d27SMasahiro Yamada			};
50552159d27SMasahiro Yamada
50652159d27SMasahiro Yamada			peri_rst: reset {
50752159d27SMasahiro Yamada				compatible = "socionext,uniphier-ld20-peri-reset";
50852159d27SMasahiro Yamada				#reset-cells = <1>;
50952159d27SMasahiro Yamada			};
51052159d27SMasahiro Yamada		};
51152159d27SMasahiro Yamada
512cd62214dSMasahiro Yamada		emmc: sdhc@5a000000 {
5137a6139c9SMasahiro Yamada			compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc";
514cd62214dSMasahiro Yamada			reg = <0x5a000000 0x400>;
515cd62214dSMasahiro Yamada			interrupts = <0 78 4>;
516cd62214dSMasahiro Yamada			pinctrl-names = "default";
51733aae6b5SMasahiro Yamada			pinctrl-0 = <&pinctrl_emmc>;
518cd62214dSMasahiro Yamada			clocks = <&sys_clk 4>;
519b443fb42SMasahiro Yamada			resets = <&sys_rst 4>;
520cd62214dSMasahiro Yamada			bus-width = <8>;
521cd62214dSMasahiro Yamada			mmc-ddr-1_8v;
522cd62214dSMasahiro Yamada			mmc-hs200-1_8v;
523b443fb42SMasahiro Yamada			mmc-pwrseq = <&emmc_pwrseq>;
524c3d3e2a1SMasahiro Yamada			cdns,phy-input-delay-legacy = <9>;
5254e7f8de4SMasahiro Yamada			cdns,phy-input-delay-mmc-highspeed = <2>;
5264e7f8de4SMasahiro Yamada			cdns,phy-input-delay-mmc-ddr = <3>;
5274e7f8de4SMasahiro Yamada			cdns,phy-dll-delay-sdclk = <21>;
5284e7f8de4SMasahiro Yamada			cdns,phy-dll-delay-sdclk-hsmmc = <21>;
529cd62214dSMasahiro Yamada		};
530cd62214dSMasahiro Yamada
53152159d27SMasahiro Yamada		sd: sdhc@5a400000 {
532*c3ab1e11SMasahiro Yamada			compatible = "socionext,uniphier-sd-v3.1.1";
53352159d27SMasahiro Yamada			status = "disabled";
53452159d27SMasahiro Yamada			reg = <0x5a400000 0x800>;
53552159d27SMasahiro Yamada			interrupts = <0 76 4>;
53652159d27SMasahiro Yamada			pinctrl-names = "default";
53752159d27SMasahiro Yamada			pinctrl-0 = <&pinctrl_sd>;
538cd62214dSMasahiro Yamada			clocks = <&sd_clk 0>;
53952159d27SMasahiro Yamada			reset-names = "host";
540cd62214dSMasahiro Yamada			resets = <&sd_rst 0>;
54152159d27SMasahiro Yamada			bus-width = <4>;
542cd62214dSMasahiro Yamada			cap-sd-highspeed;
54352159d27SMasahiro Yamada		};
54452159d27SMasahiro Yamada
5453e98fc12SMasahiro Yamada		soc_glue: soc-glue@5f800000 {
546cd62214dSMasahiro Yamada			compatible = "socionext,uniphier-ld20-soc-glue",
54752159d27SMasahiro Yamada				     "simple-mfd", "syscon";
54852159d27SMasahiro Yamada			reg = <0x5f800000 0x2000>;
54952159d27SMasahiro Yamada
55052159d27SMasahiro Yamada			pinctrl: pinctrl {
55152159d27SMasahiro Yamada				compatible = "socionext,uniphier-ld20-pinctrl";
55252159d27SMasahiro Yamada			};
55352159d27SMasahiro Yamada		};
55452159d27SMasahiro Yamada
555b443fb42SMasahiro Yamada		soc-glue@5f900000 {
556b443fb42SMasahiro Yamada			compatible = "socionext,uniphier-ld20-soc-glue-debug",
557b443fb42SMasahiro Yamada				     "simple-mfd";
558b443fb42SMasahiro Yamada			#address-cells = <1>;
559b443fb42SMasahiro Yamada			#size-cells = <1>;
560b443fb42SMasahiro Yamada			ranges = <0 0x5f900000 0x2000>;
561b443fb42SMasahiro Yamada
562b443fb42SMasahiro Yamada			efuse@100 {
563b443fb42SMasahiro Yamada				compatible = "socionext,uniphier-efuse";
564b443fb42SMasahiro Yamada				reg = <0x100 0x28>;
565b443fb42SMasahiro Yamada			};
566b443fb42SMasahiro Yamada
567b443fb42SMasahiro Yamada			efuse@200 {
568b443fb42SMasahiro Yamada				compatible = "socionext,uniphier-efuse";
569b443fb42SMasahiro Yamada				reg = <0x200 0x68>;
570b443fb42SMasahiro Yamada			};
571b443fb42SMasahiro Yamada		};
572b443fb42SMasahiro Yamada
5736c9e46efSMasahiro Yamada		aidet: aidet@5fc20000 {
5746c9e46efSMasahiro Yamada			compatible = "socionext,uniphier-ld20-aidet";
57552159d27SMasahiro Yamada			reg = <0x5fc20000 0x200>;
5766c9e46efSMasahiro Yamada			interrupt-controller;
5776c9e46efSMasahiro Yamada			#interrupt-cells = <2>;
57852159d27SMasahiro Yamada		};
57952159d27SMasahiro Yamada
58052159d27SMasahiro Yamada		gic: interrupt-controller@5fe00000 {
58152159d27SMasahiro Yamada			compatible = "arm,gic-v3";
58252159d27SMasahiro Yamada			reg = <0x5fe00000 0x10000>,	/* GICD */
58352159d27SMasahiro Yamada			      <0x5fe80000 0x80000>;	/* GICR */
58452159d27SMasahiro Yamada			interrupt-controller;
58552159d27SMasahiro Yamada			#interrupt-cells = <3>;
58652159d27SMasahiro Yamada			interrupts = <1 9 4>;
58752159d27SMasahiro Yamada		};
58852159d27SMasahiro Yamada
58952159d27SMasahiro Yamada		sysctrl@61840000 {
590cd62214dSMasahiro Yamada			compatible = "socionext,uniphier-ld20-sysctrl",
59152159d27SMasahiro Yamada				     "simple-mfd", "syscon";
592cd62214dSMasahiro Yamada			reg = <0x61840000 0x10000>;
59352159d27SMasahiro Yamada
59452159d27SMasahiro Yamada			sys_clk: clock {
59552159d27SMasahiro Yamada				compatible = "socionext,uniphier-ld20-clock";
59652159d27SMasahiro Yamada				#clock-cells = <1>;
59752159d27SMasahiro Yamada			};
59852159d27SMasahiro Yamada
59952159d27SMasahiro Yamada			sys_rst: reset {
60052159d27SMasahiro Yamada				compatible = "socionext,uniphier-ld20-reset";
60152159d27SMasahiro Yamada				#reset-cells = <1>;
60252159d27SMasahiro Yamada			};
6036c9e46efSMasahiro Yamada
6046c9e46efSMasahiro Yamada			watchdog {
6056c9e46efSMasahiro Yamada				compatible = "socionext,uniphier-wdt";
6066c9e46efSMasahiro Yamada			};
607b443fb42SMasahiro Yamada
608b443fb42SMasahiro Yamada			pvtctl: pvtctl {
609b443fb42SMasahiro Yamada				compatible = "socionext,uniphier-ld20-thermal";
610b443fb42SMasahiro Yamada				interrupts = <0 3 4>;
611b443fb42SMasahiro Yamada				#thermal-sensor-cells = <0>;
612b443fb42SMasahiro Yamada				socionext,tmod-calibration = <0x0f22 0x68ee>;
613b443fb42SMasahiro Yamada			};
61452159d27SMasahiro Yamada		};
615cd62214dSMasahiro Yamada
6163e98fc12SMasahiro Yamada		eth: ethernet@65000000 {
6173e98fc12SMasahiro Yamada			compatible = "socionext,uniphier-ld20-ave4";
6183e98fc12SMasahiro Yamada			status = "disabled";
6193e98fc12SMasahiro Yamada			reg = <0x65000000 0x8500>;
6203e98fc12SMasahiro Yamada			interrupts = <0 66 4>;
6213e98fc12SMasahiro Yamada			pinctrl-names = "default";
6223e98fc12SMasahiro Yamada			pinctrl-0 = <&pinctrl_ether_rgmii>;
6233c0fa6ceSKunihiko Hayashi			clock-names = "ether";
6243e98fc12SMasahiro Yamada			clocks = <&sys_clk 6>;
6253c0fa6ceSKunihiko Hayashi			reset-names = "ether";
6263e98fc12SMasahiro Yamada			resets = <&sys_rst 6>;
6273e98fc12SMasahiro Yamada			phy-mode = "rgmii";
6283e98fc12SMasahiro Yamada			local-mac-address = [00 00 00 00 00 00];
62969b3d4e9SKunihiko Hayashi			socionext,syscon-phy-mode = <&soc_glue 0>;
6303e98fc12SMasahiro Yamada
6313e98fc12SMasahiro Yamada			mdio: mdio {
6323e98fc12SMasahiro Yamada				#address-cells = <1>;
6333e98fc12SMasahiro Yamada				#size-cells = <0>;
6343e98fc12SMasahiro Yamada			};
6353e98fc12SMasahiro Yamada		};
6363e98fc12SMasahiro Yamada
637cd62214dSMasahiro Yamada		usb: usb@65b00000 {
638cd62214dSMasahiro Yamada			compatible = "socionext,uniphier-ld20-dwc3";
639cd62214dSMasahiro Yamada			reg = <0x65b00000 0x1000>;
640cd62214dSMasahiro Yamada			#address-cells = <1>;
641cd62214dSMasahiro Yamada			#size-cells = <1>;
642cd62214dSMasahiro Yamada			ranges;
643cd62214dSMasahiro Yamada			pinctrl-names = "default";
644cd62214dSMasahiro Yamada			pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb1>,
645cd62214dSMasahiro Yamada				    <&pinctrl_usb2>, <&pinctrl_usb3>;
646cd62214dSMasahiro Yamada			dwc3@65a00000 {
647cd62214dSMasahiro Yamada				compatible = "snps,dwc3";
648cd62214dSMasahiro Yamada				reg = <0x65a00000 0x10000>;
649cd62214dSMasahiro Yamada				interrupts = <0 134 4>;
6503444d1d4SMasahiro Yamada				dr_mode = "host";
651cd62214dSMasahiro Yamada				tx-fifo-resize;
652cd62214dSMasahiro Yamada			};
653cd62214dSMasahiro Yamada		};
654cd62214dSMasahiro Yamada
655cd62214dSMasahiro Yamada		nand: nand@68000000 {
6564e7f8de4SMasahiro Yamada			compatible = "socionext,uniphier-denali-nand-v5b";
657cd62214dSMasahiro Yamada			status = "disabled";
658cd62214dSMasahiro Yamada			reg-names = "nand_data", "denali_reg";
659cd62214dSMasahiro Yamada			reg = <0x68000000 0x20>, <0x68100000 0x1000>;
660cd62214dSMasahiro Yamada			interrupts = <0 65 4>;
661cd62214dSMasahiro Yamada			pinctrl-names = "default";
662cd62214dSMasahiro Yamada			pinctrl-0 = <&pinctrl_nand>;
663cd62214dSMasahiro Yamada			clocks = <&sys_clk 2>;
664b443fb42SMasahiro Yamada			resets = <&sys_rst 2>;
665cd62214dSMasahiro Yamada		};
66652159d27SMasahiro Yamada	};
66752159d27SMasahiro Yamada};
66852159d27SMasahiro Yamada
6696c9e46efSMasahiro Yamada#include "uniphier-pinctrl.dtsi"
6703e98fc12SMasahiro Yamada
6713e98fc12SMasahiro Yamada&pinctrl_aout1 {
6723e98fc12SMasahiro Yamada	drive-strength = <4>;	/* default: 3.5mA */
6733e98fc12SMasahiro Yamada
6743e98fc12SMasahiro Yamada	ao1dacck {
6753e98fc12SMasahiro Yamada		pins = "AO1DACCK";
6763e98fc12SMasahiro Yamada		drive-strength = <5>;	/* 5mA */
6773e98fc12SMasahiro Yamada	};
6783e98fc12SMasahiro Yamada};
6793e98fc12SMasahiro Yamada
6803e98fc12SMasahiro Yamada&pinctrl_aoutiec1 {
6813e98fc12SMasahiro Yamada	drive-strength = <4>;	/* default: 3.5mA */
6823e98fc12SMasahiro Yamada
6833e98fc12SMasahiro Yamada	ao1arc {
6843e98fc12SMasahiro Yamada		pins = "AO1ARC";
6853e98fc12SMasahiro Yamada		drive-strength = <11>;	/* 11mA */
6863e98fc12SMasahiro Yamada	};
6873e98fc12SMasahiro Yamada};
688