xref: /rk3399_rockchip-uboot/arch/arm/dts/r8a7796-m3ulcb.dts (revision a89302cc7908de36e949b02013ac05ce5ef8b354)
1*4157c472SMarek Vasut/*
2*4157c472SMarek Vasut * Device Tree Source for the M3ULCB (R-Car Starter Kit Pro) board
3*4157c472SMarek Vasut *
4*4157c472SMarek Vasut * Copyright (C) 2016 Renesas Electronics Corp.
5*4157c472SMarek Vasut * Copyright (C) 2016 Cogent Embedded, Inc.
6*4157c472SMarek Vasut *
7*4157c472SMarek Vasut * This file is licensed under the terms of the GNU General Public License
8*4157c472SMarek Vasut * version 2.  This program is licensed "as is" without any warranty of any
9*4157c472SMarek Vasut * kind, whether express or implied.
10*4157c472SMarek Vasut */
11*4157c472SMarek Vasut
12*4157c472SMarek Vasut/dts-v1/;
13*4157c472SMarek Vasut#include "r8a7796.dtsi"
14*4157c472SMarek Vasut#include <dt-bindings/gpio/gpio.h>
15*4157c472SMarek Vasut#include <dt-bindings/input/input.h>
16*4157c472SMarek Vasut
17*4157c472SMarek Vasut/ {
18*4157c472SMarek Vasut	model = "Renesas M3ULCB board based on r8a7796";
19*4157c472SMarek Vasut	compatible = "renesas,m3ulcb", "renesas,r8a7796";
20*4157c472SMarek Vasut
21*4157c472SMarek Vasut	aliases {
22*4157c472SMarek Vasut		serial0 = &scif2;
23*4157c472SMarek Vasut	};
24*4157c472SMarek Vasut
25*4157c472SMarek Vasut	chosen {
26*4157c472SMarek Vasut		stdout-path = "serial0:115200n8";
27*4157c472SMarek Vasut	};
28*4157c472SMarek Vasut
29*4157c472SMarek Vasut	memory@48000000 {
30*4157c472SMarek Vasut		device_type = "memory";
31*4157c472SMarek Vasut		/* first 128MB is reserved for secure area. */
32*4157c472SMarek Vasut		reg = <0x0 0x48000000 0x0 0x38000000>;
33*4157c472SMarek Vasut	};
34*4157c472SMarek Vasut
35*4157c472SMarek Vasut	leds {
36*4157c472SMarek Vasut		compatible = "gpio-leds";
37*4157c472SMarek Vasut
38*4157c472SMarek Vasut		led5 {
39*4157c472SMarek Vasut			gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
40*4157c472SMarek Vasut		};
41*4157c472SMarek Vasut		led6 {
42*4157c472SMarek Vasut			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
43*4157c472SMarek Vasut		};
44*4157c472SMarek Vasut	};
45*4157c472SMarek Vasut
46*4157c472SMarek Vasut	keyboard {
47*4157c472SMarek Vasut		compatible = "gpio-keys";
48*4157c472SMarek Vasut
49*4157c472SMarek Vasut		key-1 {
50*4157c472SMarek Vasut			linux,code = <KEY_1>;
51*4157c472SMarek Vasut			label = "SW3";
52*4157c472SMarek Vasut			wakeup-source;
53*4157c472SMarek Vasut			debounce-interval = <20>;
54*4157c472SMarek Vasut			gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
55*4157c472SMarek Vasut		};
56*4157c472SMarek Vasut	};
57*4157c472SMarek Vasut
58*4157c472SMarek Vasut	reg_1p8v: regulator0 {
59*4157c472SMarek Vasut		compatible = "regulator-fixed";
60*4157c472SMarek Vasut		regulator-name = "fixed-1.8V";
61*4157c472SMarek Vasut		regulator-min-microvolt = <1800000>;
62*4157c472SMarek Vasut		regulator-max-microvolt = <1800000>;
63*4157c472SMarek Vasut		regulator-boot-on;
64*4157c472SMarek Vasut		regulator-always-on;
65*4157c472SMarek Vasut	};
66*4157c472SMarek Vasut
67*4157c472SMarek Vasut	reg_3p3v: regulator1 {
68*4157c472SMarek Vasut		compatible = "regulator-fixed";
69*4157c472SMarek Vasut		regulator-name = "fixed-3.3V";
70*4157c472SMarek Vasut		regulator-min-microvolt = <3300000>;
71*4157c472SMarek Vasut		regulator-max-microvolt = <3300000>;
72*4157c472SMarek Vasut		regulator-boot-on;
73*4157c472SMarek Vasut		regulator-always-on;
74*4157c472SMarek Vasut	};
75*4157c472SMarek Vasut
76*4157c472SMarek Vasut	vcc_sdhi0: regulator-vcc-sdhi0 {
77*4157c472SMarek Vasut		compatible = "regulator-fixed";
78*4157c472SMarek Vasut
79*4157c472SMarek Vasut		regulator-name = "SDHI0 Vcc";
80*4157c472SMarek Vasut		regulator-min-microvolt = <3300000>;
81*4157c472SMarek Vasut		regulator-max-microvolt = <3300000>;
82*4157c472SMarek Vasut
83*4157c472SMarek Vasut		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
84*4157c472SMarek Vasut		enable-active-high;
85*4157c472SMarek Vasut	};
86*4157c472SMarek Vasut
87*4157c472SMarek Vasut	vccq_sdhi0: regulator-vccq-sdhi0 {
88*4157c472SMarek Vasut		compatible = "regulator-gpio";
89*4157c472SMarek Vasut
90*4157c472SMarek Vasut		regulator-name = "SDHI0 VccQ";
91*4157c472SMarek Vasut		regulator-min-microvolt = <1800000>;
92*4157c472SMarek Vasut		regulator-max-microvolt = <3300000>;
93*4157c472SMarek Vasut
94*4157c472SMarek Vasut		gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
95*4157c472SMarek Vasut		gpios-states = <1>;
96*4157c472SMarek Vasut		states = <3300000 1
97*4157c472SMarek Vasut			  1800000 0>;
98*4157c472SMarek Vasut	};
99*4157c472SMarek Vasut};
100*4157c472SMarek Vasut
101*4157c472SMarek Vasut&extal_clk {
102*4157c472SMarek Vasut	clock-frequency = <16666666>;
103*4157c472SMarek Vasut};
104*4157c472SMarek Vasut
105*4157c472SMarek Vasut&extalr_clk {
106*4157c472SMarek Vasut	clock-frequency = <32768>;
107*4157c472SMarek Vasut};
108*4157c472SMarek Vasut
109*4157c472SMarek Vasut&pfc {
110*4157c472SMarek Vasut	pinctrl-0 = <&scif_clk_pins>;
111*4157c472SMarek Vasut	pinctrl-names = "default";
112*4157c472SMarek Vasut
113*4157c472SMarek Vasut	scif2_pins: scif2 {
114*4157c472SMarek Vasut		groups = "scif2_data_a";
115*4157c472SMarek Vasut		function = "scif2";
116*4157c472SMarek Vasut	};
117*4157c472SMarek Vasut
118*4157c472SMarek Vasut	scif_clk_pins: scif_clk {
119*4157c472SMarek Vasut		groups = "scif_clk_a";
120*4157c472SMarek Vasut		function = "scif_clk";
121*4157c472SMarek Vasut	};
122*4157c472SMarek Vasut
123*4157c472SMarek Vasut	sdhi0_pins: sd0 {
124*4157c472SMarek Vasut		groups = "sdhi0_data4", "sdhi0_ctrl";
125*4157c472SMarek Vasut		function = "sdhi0";
126*4157c472SMarek Vasut		power-source = <3300>;
127*4157c472SMarek Vasut	};
128*4157c472SMarek Vasut
129*4157c472SMarek Vasut	sdhi0_pins_uhs: sd0_uhs {
130*4157c472SMarek Vasut		groups = "sdhi0_data4", "sdhi0_ctrl";
131*4157c472SMarek Vasut		function = "sdhi0";
132*4157c472SMarek Vasut		power-source = <1800>;
133*4157c472SMarek Vasut	};
134*4157c472SMarek Vasut
135*4157c472SMarek Vasut	sdhi2_pins: sd2 {
136*4157c472SMarek Vasut		groups = "sdhi2_data8", "sdhi2_ctrl";
137*4157c472SMarek Vasut		function = "sdhi2";
138*4157c472SMarek Vasut		power-source = <3300>;
139*4157c472SMarek Vasut	};
140*4157c472SMarek Vasut
141*4157c472SMarek Vasut	sdhi2_pins_uhs: sd2_uhs {
142*4157c472SMarek Vasut		groups = "sdhi2_data8", "sdhi2_ctrl";
143*4157c472SMarek Vasut		function = "sdhi2";
144*4157c472SMarek Vasut		power-source = <1800>;
145*4157c472SMarek Vasut	};
146*4157c472SMarek Vasut};
147*4157c472SMarek Vasut
148*4157c472SMarek Vasut&sdhi0 {
149*4157c472SMarek Vasut	pinctrl-0 = <&sdhi0_pins>;
150*4157c472SMarek Vasut	pinctrl-1 = <&sdhi0_pins_uhs>;
151*4157c472SMarek Vasut	pinctrl-names = "default", "state_uhs";
152*4157c472SMarek Vasut
153*4157c472SMarek Vasut	vmmc-supply = <&vcc_sdhi0>;
154*4157c472SMarek Vasut	vqmmc-supply = <&vccq_sdhi0>;
155*4157c472SMarek Vasut	cd-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
156*4157c472SMarek Vasut	bus-width = <4>;
157*4157c472SMarek Vasut	sd-uhs-sdr50;
158*4157c472SMarek Vasut	status = "okay";
159*4157c472SMarek Vasut};
160*4157c472SMarek Vasut
161*4157c472SMarek Vasut&sdhi2 {
162*4157c472SMarek Vasut	/* used for on-board 8bit eMMC */
163*4157c472SMarek Vasut	pinctrl-0 = <&sdhi2_pins>;
164*4157c472SMarek Vasut	pinctrl-1 = <&sdhi2_pins_uhs>;
165*4157c472SMarek Vasut	pinctrl-names = "default", "state_uhs";
166*4157c472SMarek Vasut
167*4157c472SMarek Vasut	vmmc-supply = <&reg_3p3v>;
168*4157c472SMarek Vasut	vqmmc-supply = <&reg_1p8v>;
169*4157c472SMarek Vasut	bus-width = <8>;
170*4157c472SMarek Vasut	non-removable;
171*4157c472SMarek Vasut	status = "okay";
172*4157c472SMarek Vasut};
173*4157c472SMarek Vasut
174*4157c472SMarek Vasut&scif2 {
175*4157c472SMarek Vasut	pinctrl-0 = <&scif2_pins>;
176*4157c472SMarek Vasut	pinctrl-names = "default";
177*4157c472SMarek Vasut
178*4157c472SMarek Vasut	status = "okay";
179*4157c472SMarek Vasut};
180*4157c472SMarek Vasut
181*4157c472SMarek Vasut&scif_clk {
182*4157c472SMarek Vasut	clock-frequency = <14745600>;
183*4157c472SMarek Vasut};
184*4157c472SMarek Vasut
185*4157c472SMarek Vasut&wdt0 {
186*4157c472SMarek Vasut	timeout-sec = <60>;
187*4157c472SMarek Vasut	status = "okay";
188*4157c472SMarek Vasut};
189