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		ethernet0 = &eth;
34	};
35
36	memory@80000000 {
37		device_type = "memory";
38		reg = <0 0x80000000 0 0xc0000000>;
39	};
40
41	dvdd_reg: reg-fixed {
42		compatible = "regulator-fixed";
43		regulator-name = "DVDD";
44		regulator-min-microvolt = <3300000>;
45		regulator-max-microvolt = <3300000>;
46	};
47
48	amp_vcc_reg: reg-fixed {
49		compatible = "regulator-fixed";
50		regulator-name = "AMP_VCC";
51		regulator-min-microvolt = <12000000>;
52		regulator-max-microvolt = <12000000>;
53	};
54
55	sound {
56		compatible = "audio-graph-card";
57		label = "UniPhier LD20";
58		widgets = "Headphone", "Headphones";
59		dais = <&i2s_port2
60			&i2s_port3
61			&i2s_port4
62			&spdif_port0
63			&comp_spdif_port0>;
64		hp-det-gpio = <&gpio UNIPHIER_GPIO_IRQ(0) GPIO_ACTIVE_LOW>;
65	};
66
67	spdif-out {
68		compatible = "linux,spdif-dit";
69		#sound-dai-cells = <0>;
70
71		port@0 {
72			spdif_tx: endpoint {
73				remote-endpoint = <&spdif_hiecout1>;
74			};
75		};
76	};
77
78	comp-spdif-out {
79		compatible = "linux,spdif-dit";
80		#sound-dai-cells = <0>;
81
82		port@0 {
83			comp_spdif_tx: endpoint {
84				remote-endpoint = <&comp_spdif_hiecout1>;
85			};
86		};
87	};
88};
89
90&serial0 {
91	status = "okay";
92};
93
94&serial1 {
95	status = "okay";
96};
97
98&i2s_hpcmout1 {
99	dai-format = "i2s";
100	remote-endpoint = <&tas_speaker>;
101};
102
103&spdif_hiecout1 {
104	remote-endpoint = <&spdif_tx>;
105};
106
107&comp_spdif_hiecout1 {
108	remote-endpoint = <&comp_spdif_tx>;
109};
110
111&i2c0 {
112	status = "okay";
113
114	tas5707@1b {
115		compatible = "ti,tas5711";
116		reg = <0x1b>;
117		reset-gpios = <&gpio UNIPHIER_GPIO_PORT(0, 0) GPIO_ACTIVE_LOW>;
118		pdn-gpios = <&gpio UNIPHIER_GPIO_PORT(0, 1) GPIO_ACTIVE_LOW>;
119		#sound-dai-cells = <0>;
120		AVDD-supply = <&dvdd_reg>;
121		DVDD-supply = <&dvdd_reg>;
122		PVDD_A-supply = <&amp_vcc_reg>;
123		PVDD_B-supply = <&amp_vcc_reg>;
124		PVDD_C-supply = <&amp_vcc_reg>;
125		PVDD_D-supply = <&amp_vcc_reg>;
126
127		port@0 {
128			tas_speaker: endpoint {
129				dai-format = "i2s";
130				remote-endpoint = <&i2s_hpcmout1>;
131			};
132		};
133	};
134};
135
136&eth {
137	status = "okay";
138	phy-mode = "rmii";
139	pinctrl-0 = <&pinctrl_ether_rmii>;
140	phy-handle = <&ethphy>;
141};
142
143&mdio {
144	ethphy: ethphy@1 {
145		reg = <1>;
146	};
147};
148
149&usb {
150	status = "okay";
151};
152
153&nand {
154	status = "okay";
155};
156