1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2//
3// Device Tree Source for UniPhier LD20 Global Board
4//
5// Copyright (C) 2015-2017 Socionext Inc.
6//   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7//           Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
8
9/dts-v1/;
10#include <dt-bindings/gpio/uniphier-gpio.h>
11#include "uniphier-ld20.dtsi"
12
13/ {
14	model = "UniPhier LD20 Global Board (REF_LD20_GP)";
15	compatible = "socionext,uniphier-ld20-global",
16		     "socionext,uniphier-ld20";
17
18	chosen {
19		stdout-path = "serial0:115200n8";
20	};
21
22	aliases {
23		serial0 = &serial0;
24		serial1 = &serial1;
25		serial2 = &serial2;
26		serial3 = &serial3;
27		i2c0 = &i2c0;
28		i2c1 = &i2c1;
29		i2c2 = &i2c2;
30		i2c3 = &i2c3;
31		i2c4 = &i2c4;
32		i2c5 = &i2c5;
33	};
34
35	memory@80000000 {
36		device_type = "memory";
37		reg = <0 0x80000000 0 0xc0000000>;
38	};
39
40	dvdd_reg: reg-fixed {
41		compatible = "regulator-fixed";
42		regulator-name = "DVDD";
43		regulator-min-microvolt = <3300000>;
44		regulator-max-microvolt = <3300000>;
45	};
46
47	amp_vcc_reg: reg-fixed {
48		compatible = "regulator-fixed";
49		regulator-name = "AMP_VCC";
50		regulator-min-microvolt = <12000000>;
51		regulator-max-microvolt = <12000000>;
52	};
53
54	sound {
55		compatible = "audio-graph-card";
56		label = "UniPhier LD20";
57		widgets = "Headphone", "Headphones";
58		dais = <&i2s_port2
59			&i2s_port3
60			&i2s_port4
61			&spdif_port0
62			&comp_spdif_port0>;
63		hp-det-gpio = <&gpio UNIPHIER_GPIO_IRQ(0) GPIO_ACTIVE_LOW>;
64	};
65
66	spdif-out {
67		compatible = "linux,spdif-dit";
68		#sound-dai-cells = <0>;
69
70		port@0 {
71			spdif_tx: endpoint {
72				remote-endpoint = <&spdif_hiecout1>;
73			};
74		};
75	};
76
77	comp-spdif-out {
78		compatible = "linux,spdif-dit";
79		#sound-dai-cells = <0>;
80
81		port@0 {
82			comp_spdif_tx: endpoint {
83				remote-endpoint = <&comp_spdif_hiecout1>;
84			};
85		};
86	};
87};
88
89&serial0 {
90	status = "okay";
91};
92
93&serial1 {
94	status = "okay";
95};
96
97&i2s_hpcmout1 {
98	dai-format = "i2s";
99	remote-endpoint = <&tas_speaker>;
100};
101
102&spdif_hiecout1 {
103	remote-endpoint = <&spdif_tx>;
104};
105
106&comp_spdif_hiecout1 {
107	remote-endpoint = <&comp_spdif_tx>;
108};
109
110&i2c0 {
111	status = "okay";
112
113	tas5707@1b {
114		compatible = "ti,tas5711";
115		reg = <0x1b>;
116		reset-gpios = <&gpio UNIPHIER_GPIO_PORT(0, 0) GPIO_ACTIVE_LOW>;
117		pdn-gpios = <&gpio UNIPHIER_GPIO_PORT(0, 1) GPIO_ACTIVE_LOW>;
118		#sound-dai-cells = <0>;
119		AVDD-supply = <&dvdd_reg>;
120		DVDD-supply = <&dvdd_reg>;
121		PVDD_A-supply = <&amp_vcc_reg>;
122		PVDD_B-supply = <&amp_vcc_reg>;
123		PVDD_C-supply = <&amp_vcc_reg>;
124		PVDD_D-supply = <&amp_vcc_reg>;
125
126		port@0 {
127			tas_speaker: endpoint {
128				dai-format = "i2s";
129				remote-endpoint = <&i2s_hpcmout1>;
130			};
131		};
132	};
133};
134
135&eth {
136	status = "okay";
137	phy-mode = "rmii";
138	pinctrl-0 = <&pinctrl_ether_rmii>;
139	phy-handle = <&ethphy>;
140};
141
142&mdio {
143	ethphy: ethphy@1 {
144		reg = <1>;
145	};
146};
147
148&nand {
149	status = "okay";
150};
151
152&usb {
153	status = "okay";
154};
155