xref: /linux/scripts/dtc/include-prefixes/arm/cirrus/ep93xx-edb9302.dts (revision bd8511fba09ae399fc6812bcf4f8d60a803a6871)
1*bd8511fbSAlexander Sverdlin// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*bd8511fbSAlexander Sverdlin/*
3*bd8511fbSAlexander Sverdlin * Device Tree file for Cirrus Logic EDB9302 board based on EP9302 SoC
4*bd8511fbSAlexander Sverdlin */
5*bd8511fbSAlexander Sverdlin/dts-v1/;
6*bd8511fbSAlexander Sverdlin#include "ep93xx.dtsi"
7*bd8511fbSAlexander Sverdlin
8*bd8511fbSAlexander Sverdlin/ {
9*bd8511fbSAlexander Sverdlin	#address-cells = <1>;
10*bd8511fbSAlexander Sverdlin	#size-cells = <1>;
11*bd8511fbSAlexander Sverdlin	compatible = "cirrus,edb9302", "cirrus,ep9301";
12*bd8511fbSAlexander Sverdlin	model = "cirrus,edb9302";
13*bd8511fbSAlexander Sverdlin
14*bd8511fbSAlexander Sverdlin	chosen {
15*bd8511fbSAlexander Sverdlin	};
16*bd8511fbSAlexander Sverdlin
17*bd8511fbSAlexander Sverdlin	memory@0 {
18*bd8511fbSAlexander Sverdlin		device_type = "memory";
19*bd8511fbSAlexander Sverdlin		/* should be set from ATAGS */
20*bd8511fbSAlexander Sverdlin		reg = <0x0000000 0x800000>,
21*bd8511fbSAlexander Sverdlin		      <0x1000000 0x800000>,
22*bd8511fbSAlexander Sverdlin		      <0x4000000 0x800000>,
23*bd8511fbSAlexander Sverdlin		      <0x5000000 0x800000>;
24*bd8511fbSAlexander Sverdlin	};
25*bd8511fbSAlexander Sverdlin
26*bd8511fbSAlexander Sverdlin	sound {
27*bd8511fbSAlexander Sverdlin		compatible = "audio-graph-card2";
28*bd8511fbSAlexander Sverdlin		label = "EDB93XX";
29*bd8511fbSAlexander Sverdlin		links = <&i2s_port>;
30*bd8511fbSAlexander Sverdlin	};
31*bd8511fbSAlexander Sverdlin
32*bd8511fbSAlexander Sverdlin	leds {
33*bd8511fbSAlexander Sverdlin		compatible = "gpio-leds";
34*bd8511fbSAlexander Sverdlin		led-0 {
35*bd8511fbSAlexander Sverdlin			label = "grled";
36*bd8511fbSAlexander Sverdlin			gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
37*bd8511fbSAlexander Sverdlin			linux,default-trigger = "heartbeat";
38*bd8511fbSAlexander Sverdlin			function = LED_FUNCTION_HEARTBEAT;
39*bd8511fbSAlexander Sverdlin		};
40*bd8511fbSAlexander Sverdlin
41*bd8511fbSAlexander Sverdlin		led-1 {
42*bd8511fbSAlexander Sverdlin			label = "rdled";
43*bd8511fbSAlexander Sverdlin			gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
44*bd8511fbSAlexander Sverdlin			function = LED_FUNCTION_FAULT;
45*bd8511fbSAlexander Sverdlin		};
46*bd8511fbSAlexander Sverdlin	};
47*bd8511fbSAlexander Sverdlin};
48*bd8511fbSAlexander Sverdlin
49*bd8511fbSAlexander Sverdlin&adc {
50*bd8511fbSAlexander Sverdlin	status = "okay";
51*bd8511fbSAlexander Sverdlin};
52*bd8511fbSAlexander Sverdlin
53*bd8511fbSAlexander Sverdlin&ebi {
54*bd8511fbSAlexander Sverdlin	flash@60000000 {
55*bd8511fbSAlexander Sverdlin		compatible = "cfi-flash";
56*bd8511fbSAlexander Sverdlin		reg = <0x60000000 0x1000000>;
57*bd8511fbSAlexander Sverdlin		bank-width = <2>;
58*bd8511fbSAlexander Sverdlin	};
59*bd8511fbSAlexander Sverdlin};
60*bd8511fbSAlexander Sverdlin
61*bd8511fbSAlexander Sverdlin&eth0 {
62*bd8511fbSAlexander Sverdlin	phy-handle = <&phy0>;
63*bd8511fbSAlexander Sverdlin};
64*bd8511fbSAlexander Sverdlin
65*bd8511fbSAlexander Sverdlin&gpio0 {
66*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 0 153 1>,
67*bd8511fbSAlexander Sverdlin		      <&syscon 1 152 1>,
68*bd8511fbSAlexander Sverdlin		      <&syscon 2 151 1>,
69*bd8511fbSAlexander Sverdlin		      <&syscon 3 148 1>,
70*bd8511fbSAlexander Sverdlin		      <&syscon 4 147 1>,
71*bd8511fbSAlexander Sverdlin		      <&syscon 5 146 1>,
72*bd8511fbSAlexander Sverdlin		      <&syscon 6 145 1>,
73*bd8511fbSAlexander Sverdlin		      <&syscon 7 144 1>;
74*bd8511fbSAlexander Sverdlin};
75*bd8511fbSAlexander Sverdlin
76*bd8511fbSAlexander Sverdlin&gpio1 {
77*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 0 143 1>,
78*bd8511fbSAlexander Sverdlin		      <&syscon 1 142 1>,
79*bd8511fbSAlexander Sverdlin		      <&syscon 2 141 1>,
80*bd8511fbSAlexander Sverdlin		      <&syscon 3 140 1>,
81*bd8511fbSAlexander Sverdlin		      <&syscon 4 165 1>,
82*bd8511fbSAlexander Sverdlin		      <&syscon 5 164 1>,
83*bd8511fbSAlexander Sverdlin		      <&syscon 6 163 1>,
84*bd8511fbSAlexander Sverdlin		      <&syscon 7 160 1>;
85*bd8511fbSAlexander Sverdlin};
86*bd8511fbSAlexander Sverdlin
87*bd8511fbSAlexander Sverdlin&gpio2 {
88*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 0 115 1>;
89*bd8511fbSAlexander Sverdlin};
90*bd8511fbSAlexander Sverdlin
91*bd8511fbSAlexander Sverdlin/* edb9302 doesn't have GPIO Port D present */
92*bd8511fbSAlexander Sverdlin&gpio3 {
93*bd8511fbSAlexander Sverdlin	status = "disabled";
94*bd8511fbSAlexander Sverdlin};
95*bd8511fbSAlexander Sverdlin
96*bd8511fbSAlexander Sverdlin&gpio4 {
97*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 0 97 2>;
98*bd8511fbSAlexander Sverdlin};
99*bd8511fbSAlexander Sverdlin
100*bd8511fbSAlexander Sverdlin&gpio5 {
101*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 1 170 1>,
102*bd8511fbSAlexander Sverdlin		      <&syscon 2 169 1>,
103*bd8511fbSAlexander Sverdlin		      <&syscon 3 168 1>;
104*bd8511fbSAlexander Sverdlin};
105*bd8511fbSAlexander Sverdlin
106*bd8511fbSAlexander Sverdlin&gpio6 {
107*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 0 87 2>;
108*bd8511fbSAlexander Sverdlin};
109*bd8511fbSAlexander Sverdlin
110*bd8511fbSAlexander Sverdlin&gpio7 {
111*bd8511fbSAlexander Sverdlin	gpio-ranges = <&syscon 2 199 4>;
112*bd8511fbSAlexander Sverdlin};
113*bd8511fbSAlexander Sverdlin
114*bd8511fbSAlexander Sverdlin&i2s {
115*bd8511fbSAlexander Sverdlin	pinctrl-names = "default";
116*bd8511fbSAlexander Sverdlin	pinctrl-0 = <&i2s_on_ac97_pins>;
117*bd8511fbSAlexander Sverdlin	status = "okay";
118*bd8511fbSAlexander Sverdlin	i2s_port: port {
119*bd8511fbSAlexander Sverdlin		i2s_ep: endpoint {
120*bd8511fbSAlexander Sverdlin			system-clock-direction-out;
121*bd8511fbSAlexander Sverdlin			frame-master;
122*bd8511fbSAlexander Sverdlin			bitclock-master;
123*bd8511fbSAlexander Sverdlin			mclk-fs = <256>;
124*bd8511fbSAlexander Sverdlin			dai-format = "i2s";
125*bd8511fbSAlexander Sverdlin			convert-channels = <2>;
126*bd8511fbSAlexander Sverdlin			convert-sample-format = "s32_le";
127*bd8511fbSAlexander Sverdlin			remote-endpoint = <&codec_ep>;
128*bd8511fbSAlexander Sverdlin		};
129*bd8511fbSAlexander Sverdlin	};
130*bd8511fbSAlexander Sverdlin};
131*bd8511fbSAlexander Sverdlin
132*bd8511fbSAlexander Sverdlin&mdio0 {
133*bd8511fbSAlexander Sverdlin	phy0: ethernet-phy@1 {
134*bd8511fbSAlexander Sverdlin		reg = <1>;
135*bd8511fbSAlexander Sverdlin		device_type = "ethernet-phy";
136*bd8511fbSAlexander Sverdlin	};
137*bd8511fbSAlexander Sverdlin};
138*bd8511fbSAlexander Sverdlin
139*bd8511fbSAlexander Sverdlin&spi0 {
140*bd8511fbSAlexander Sverdlin	cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW
141*bd8511fbSAlexander Sverdlin		    &gpio0 7 GPIO_ACTIVE_LOW>;
142*bd8511fbSAlexander Sverdlin	dmas = <&dma1 10 2>, <&dma1 10 1>;
143*bd8511fbSAlexander Sverdlin	dma-names = "rx", "tx";
144*bd8511fbSAlexander Sverdlin	status = "okay";
145*bd8511fbSAlexander Sverdlin
146*bd8511fbSAlexander Sverdlin	cs4271: codec@0 {
147*bd8511fbSAlexander Sverdlin		compatible = "cirrus,cs4271";
148*bd8511fbSAlexander Sverdlin		reg = <0>;
149*bd8511fbSAlexander Sverdlin		#sound-dai-cells = <0>;
150*bd8511fbSAlexander Sverdlin		spi-max-frequency = <6000000>;
151*bd8511fbSAlexander Sverdlin		spi-cpol;
152*bd8511fbSAlexander Sverdlin		spi-cpha;
153*bd8511fbSAlexander Sverdlin		reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
154*bd8511fbSAlexander Sverdlin		port {
155*bd8511fbSAlexander Sverdlin			codec_ep: endpoint {
156*bd8511fbSAlexander Sverdlin				remote-endpoint = <&i2s_ep>;
157*bd8511fbSAlexander Sverdlin			};
158*bd8511fbSAlexander Sverdlin		};
159*bd8511fbSAlexander Sverdlin	};
160*bd8511fbSAlexander Sverdlin
161*bd8511fbSAlexander Sverdlin	at25f1024: eeprom@1 {
162*bd8511fbSAlexander Sverdlin		compatible = "atmel,at25";
163*bd8511fbSAlexander Sverdlin		reg = <1>;
164*bd8511fbSAlexander Sverdlin		address-width = <8>;
165*bd8511fbSAlexander Sverdlin		size = <0x20000>;
166*bd8511fbSAlexander Sverdlin		pagesize = <256>;
167*bd8511fbSAlexander Sverdlin		spi-max-frequency = <20000000>;
168*bd8511fbSAlexander Sverdlin	};
169*bd8511fbSAlexander Sverdlin};
170*bd8511fbSAlexander Sverdlin
171*bd8511fbSAlexander Sverdlin&uart0 {
172*bd8511fbSAlexander Sverdlin	status = "okay";
173*bd8511fbSAlexander Sverdlin};
174*bd8511fbSAlexander Sverdlin
175*bd8511fbSAlexander Sverdlin&uart1 {
176*bd8511fbSAlexander Sverdlin	status = "okay";
177*bd8511fbSAlexander Sverdlin};
178*bd8511fbSAlexander Sverdlin
179*bd8511fbSAlexander Sverdlin&usb0 {
180*bd8511fbSAlexander Sverdlin	status = "okay";
181*bd8511fbSAlexander Sverdlin};
182