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