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