1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Reference Device Tree Source for the R-Car M1A (R8A77781) Bock-W board
4 *
5 * Copyright (C) 2013  Renesas Solutions Corp.
6 * Copyright (C) 2013  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
7 *
8 * based on r8a7779
9 *
10 * Copyright (C) 2013 Renesas Solutions Corp.
11 * Copyright (C) 2013 Simon Horman
12 */
13
14/dts-v1/;
15#include "r8a7778.dtsi"
16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/gpio/gpio.h>
18
19/ {
20	model = "bockw";
21	compatible = "renesas,bockw", "renesas,r8a7778";
22
23	aliases {
24		serial0 = &scif0;
25	};
26
27	chosen {
28		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
29		stdout-path = "serial0:115200n8";
30	};
31
32	memory@60000000 {
33		device_type = "memory";
34		reg = <0x60000000 0x10000000>;
35	};
36
37	fixedregulator3v3: regulator-3v3 {
38		compatible = "regulator-fixed";
39		regulator-name = "fixed-3.3V";
40		regulator-min-microvolt = <3300000>;
41		regulator-max-microvolt = <3300000>;
42		regulator-boot-on;
43		regulator-always-on;
44	};
45
46	sound {
47		compatible = "simple-audio-card";
48
49		simple-audio-card,format = "left_j";
50		simple-audio-card,bitclock-master = <&sndcodec>;
51		simple-audio-card,frame-master = <&sndcodec>;
52
53		sndcpu: simple-audio-card,cpu {
54			sound-dai = <&rcar_sound>;
55		};
56
57		sndcodec: simple-audio-card,codec {
58			sound-dai = <&ak4643>;
59			system-clock-frequency = <11289600>;
60		};
61	};
62};
63
64&bsc {
65	flash@0 {
66		compatible = "cfi-flash";
67		reg = <0x0 0x04000000>;
68		pinctrl-0 = <&flash_pins>;
69		pinctrl-names = "default";
70		bank-width = <2>;
71
72		partitions {
73			compatible = "fixed-partitions";
74			#address-cells = <1>;
75			#size-cells = <1>;
76
77			partition@0 {
78				label = "uboot";
79				reg = <0x00000000 0x00040000>;
80				read-only;
81			};
82			partition@40000 {
83				label = "uboot-env";
84				reg = <0x00040000 0x00040000>;
85				read-only;
86			};
87			partition@80000 {
88				label = "flash";
89				reg = <0x00080000 0x03f80000>;
90			};
91		};
92	};
93
94	ethernet@18300000 {
95		compatible = "smsc,lan89218", "smsc,lan9115";
96		reg = <0x18300000 0x1000>;
97
98		phy-mode = "mii";
99		interrupt-parent = <&irqpin>;
100		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
101		reg-io-width = <4>;
102		vddvario-supply = <&fixedregulator3v3>;
103		vdd33a-supply = <&fixedregulator3v3>;
104	};
105};
106
107&extal_clk {
108	clock-frequency = <33333333>;
109};
110
111&i2c0 {
112	status = "okay";
113
114	ak4643: codec@12 {
115		compatible = "asahi-kasei,ak4643";
116		#sound-dai-cells = <0>;
117		reg = <0x12>;
118	};
119
120	camera@41 {
121		compatible = "oki,ml86v7667";
122		reg = <0x41>;
123	};
124
125	camera@43 {
126		compatible = "oki,ml86v7667";
127		reg = <0x43>;
128	};
129
130	rx8581: rtc@51 {
131		compatible = "epson,rx8581";
132		reg = <0x51>;
133	};
134};
135
136&mmcif {
137	pinctrl-0 = <&mmc_pins>;
138	pinctrl-names = "default";
139
140	vmmc-supply = <&fixedregulator3v3>;
141	bus-width = <8>;
142	broken-cd;
143	status = "okay";
144};
145
146&irqpin {
147	status = "okay";
148};
149
150&tmu0 {
151	status = "okay";
152};
153
154&pfc {
155	pinctrl-0 = <&scif_clk_pins>;
156	pinctrl-names = "default";
157
158	flash_pins: flash {
159		groups = "lbsc_cs0";
160		function = "lbsc";
161	};
162
163	scif0_pins: scif0 {
164		groups = "scif0_data_a", "scif0_ctrl";
165		function = "scif0";
166	};
167
168	scif_clk_pins: scif_clk {
169		groups = "scif_clk";
170		function = "scif_clk";
171	};
172
173	mmc_pins: mmc {
174		groups = "mmc_data8", "mmc_ctrl";
175		function = "mmc";
176	};
177
178	sdhi0_pins: sd0 {
179		groups = "sdhi0_data4", "sdhi0_ctrl";
180		function = "sdhi0";
181	};
182	sdhi0_pup_pins: sd0_pup {
183		groups = "sdhi0_cd", "sdhi0_wp";
184		function = "sdhi0";
185		bias-pull-up;
186	};
187
188	hspi0_pins: hspi0 {
189		groups = "hspi0_a";
190		function = "hspi0";
191	};
192
193	usb0_pins: usb0 {
194		groups = "usb0";
195		function = "usb0";
196	};
197
198	usb1_pins: usb1 {
199		groups = "usb1";
200		function = "usb1";
201	};
202
203	vin0_pins: vin0 {
204		groups = "vin0_data8", "vin0_clk";
205		function = "vin0";
206	};
207
208	vin1_pins: vin1 {
209		groups = "vin1_data8", "vin1_clk";
210		function = "vin1";
211	};
212};
213
214&rcar_sound {
215	/* Single DAI */
216	#sound-dai-cells = <0>;
217};
218
219&sdhi0 {
220	pinctrl-0 = <&sdhi0_pins>, <&sdhi0_pup_pins>;
221	pinctrl-names = "default";
222
223	vmmc-supply = <&fixedregulator3v3>;
224	bus-width = <4>;
225	status = "okay";
226	wp-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
227};
228
229&hspi0 {
230	pinctrl-0 = <&hspi0_pins>;
231	pinctrl-names = "default";
232	status = "okay";
233
234	flash: flash@0 {
235		compatible = "spansion,s25fl008k", "jedec,spi-nor";
236		reg = <0>;
237		spi-max-frequency = <104000000>;
238		m25p,fast-read;
239
240		partitions {
241			compatible = "fixed-partitions";
242			#address-cells = <1>;
243			#size-cells = <1>;
244
245			partition@0 {
246				label = "data(spi)";
247				reg = <0x00000000 0x00100000>;
248			};
249		};
250	};
251};
252
253&scif0 {
254	pinctrl-0 = <&scif0_pins>;
255	pinctrl-names = "default";
256
257	uart-has-rtscts;
258	status = "okay";
259};
260
261&scif_clk {
262	clock-frequency = <14745600>;
263};
264