xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/r9a09g057h48-kakip.dts (revision 8ccc0d235c226d84112561d453c49904398d085c)
1*8ccc0d23SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8ccc0d23SEmmanuel Vadot/*
3*8ccc0d23SEmmanuel Vadot * Device Tree Source for Yuridenki-Shokai the Kakip board
4*8ccc0d23SEmmanuel Vadot *
5*8ccc0d23SEmmanuel Vadot * Copyright (C) 2024 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6*8ccc0d23SEmmanuel Vadot */
7*8ccc0d23SEmmanuel Vadot
8*8ccc0d23SEmmanuel Vadot/dts-v1/;
9*8ccc0d23SEmmanuel Vadot
10*8ccc0d23SEmmanuel Vadot#include <dt-bindings/pinctrl/renesas,r9a09g057-pinctrl.h>
11*8ccc0d23SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12*8ccc0d23SEmmanuel Vadot#include "r9a09g057.dtsi"
13*8ccc0d23SEmmanuel Vadot
14*8ccc0d23SEmmanuel Vadot/ {
15*8ccc0d23SEmmanuel Vadot	model = "Yuridenki-Shokai Kakip Board based on r9a09g057h48";
16*8ccc0d23SEmmanuel Vadot	compatible = "yuridenki,kakip", "renesas,r9a09g057h48", "renesas,r9a09g057";
17*8ccc0d23SEmmanuel Vadot
18*8ccc0d23SEmmanuel Vadot	aliases {
19*8ccc0d23SEmmanuel Vadot		serial0 = &scif;
20*8ccc0d23SEmmanuel Vadot		mmc0 = &sdhi0;
21*8ccc0d23SEmmanuel Vadot	};
22*8ccc0d23SEmmanuel Vadot
23*8ccc0d23SEmmanuel Vadot	chosen {
24*8ccc0d23SEmmanuel Vadot		stdout-path = "serial0:115200n8";
25*8ccc0d23SEmmanuel Vadot	};
26*8ccc0d23SEmmanuel Vadot
27*8ccc0d23SEmmanuel Vadot	memory@48000000 {
28*8ccc0d23SEmmanuel Vadot		device_type = "memory";
29*8ccc0d23SEmmanuel Vadot		/* first 128MB is reserved for secure area. */
30*8ccc0d23SEmmanuel Vadot		reg = <0x0 0x48000000 0x1 0xF8000000>;
31*8ccc0d23SEmmanuel Vadot	};
32*8ccc0d23SEmmanuel Vadot
33*8ccc0d23SEmmanuel Vadot	reg_3p3v: regulator-3v3 {
34*8ccc0d23SEmmanuel Vadot		compatible = "regulator-fixed";
35*8ccc0d23SEmmanuel Vadot		regulator-name = "fixed-3.3V";
36*8ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
37*8ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
38*8ccc0d23SEmmanuel Vadot		regulator-boot-on;
39*8ccc0d23SEmmanuel Vadot		regulator-always-on;
40*8ccc0d23SEmmanuel Vadot	};
41*8ccc0d23SEmmanuel Vadot
42*8ccc0d23SEmmanuel Vadot	vqmmc_sdhi0: regulator-vccq-sdhi0 {
43*8ccc0d23SEmmanuel Vadot		compatible = "regulator-gpio";
44*8ccc0d23SEmmanuel Vadot		regulator-name = "SDHI0 VccQ";
45*8ccc0d23SEmmanuel Vadot		gpios = <&pinctrl RZV2H_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
46*8ccc0d23SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
47*8ccc0d23SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
48*8ccc0d23SEmmanuel Vadot		gpios-states = <0>;
49*8ccc0d23SEmmanuel Vadot		states = <3300000 0>, <1800000 1>;
50*8ccc0d23SEmmanuel Vadot	};
51*8ccc0d23SEmmanuel Vadot};
52*8ccc0d23SEmmanuel Vadot
53*8ccc0d23SEmmanuel Vadot&ostm0 {
54*8ccc0d23SEmmanuel Vadot	status = "okay";
55*8ccc0d23SEmmanuel Vadot};
56*8ccc0d23SEmmanuel Vadot
57*8ccc0d23SEmmanuel Vadot&ostm1 {
58*8ccc0d23SEmmanuel Vadot	status = "okay";
59*8ccc0d23SEmmanuel Vadot};
60*8ccc0d23SEmmanuel Vadot
61*8ccc0d23SEmmanuel Vadot&ostm2 {
62*8ccc0d23SEmmanuel Vadot	status = "okay";
63*8ccc0d23SEmmanuel Vadot};
64*8ccc0d23SEmmanuel Vadot
65*8ccc0d23SEmmanuel Vadot&ostm3 {
66*8ccc0d23SEmmanuel Vadot	status = "okay";
67*8ccc0d23SEmmanuel Vadot};
68*8ccc0d23SEmmanuel Vadot
69*8ccc0d23SEmmanuel Vadot&ostm4 {
70*8ccc0d23SEmmanuel Vadot	status = "okay";
71*8ccc0d23SEmmanuel Vadot};
72*8ccc0d23SEmmanuel Vadot
73*8ccc0d23SEmmanuel Vadot&ostm5 {
74*8ccc0d23SEmmanuel Vadot	status = "okay";
75*8ccc0d23SEmmanuel Vadot};
76*8ccc0d23SEmmanuel Vadot
77*8ccc0d23SEmmanuel Vadot&ostm6 {
78*8ccc0d23SEmmanuel Vadot	status = "okay";
79*8ccc0d23SEmmanuel Vadot};
80*8ccc0d23SEmmanuel Vadot
81*8ccc0d23SEmmanuel Vadot&ostm7 {
82*8ccc0d23SEmmanuel Vadot	status = "okay";
83*8ccc0d23SEmmanuel Vadot};
84*8ccc0d23SEmmanuel Vadot
85*8ccc0d23SEmmanuel Vadot&pinctrl {
86*8ccc0d23SEmmanuel Vadot	scif_pins: scif {
87*8ccc0d23SEmmanuel Vadot		pins =  "SCIF_RXD", "SCIF_TXD";
88*8ccc0d23SEmmanuel Vadot	};
89*8ccc0d23SEmmanuel Vadot
90*8ccc0d23SEmmanuel Vadot	sd0-pwr-en-hog {
91*8ccc0d23SEmmanuel Vadot		gpio-hog;
92*8ccc0d23SEmmanuel Vadot		gpios = <RZV2H_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
93*8ccc0d23SEmmanuel Vadot		output-high;
94*8ccc0d23SEmmanuel Vadot		line-name = "sd0_pwr_en";
95*8ccc0d23SEmmanuel Vadot	};
96*8ccc0d23SEmmanuel Vadot
97*8ccc0d23SEmmanuel Vadot	sdhi0_pins: sd0 {
98*8ccc0d23SEmmanuel Vadot		sd0-clk {
99*8ccc0d23SEmmanuel Vadot			pins = "SD0CLK";
100*8ccc0d23SEmmanuel Vadot			renesas,output-impedance = <3>;
101*8ccc0d23SEmmanuel Vadot			slew-rate = <0>;
102*8ccc0d23SEmmanuel Vadot		};
103*8ccc0d23SEmmanuel Vadot
104*8ccc0d23SEmmanuel Vadot		sd0-data {
105*8ccc0d23SEmmanuel Vadot			pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3", "SD0CMD";
106*8ccc0d23SEmmanuel Vadot			input-enable;
107*8ccc0d23SEmmanuel Vadot			renesas,output-impedance = <3>;
108*8ccc0d23SEmmanuel Vadot			slew-rate = <0>;
109*8ccc0d23SEmmanuel Vadot		};
110*8ccc0d23SEmmanuel Vadot
111*8ccc0d23SEmmanuel Vadot		sd0-mux {
112*8ccc0d23SEmmanuel Vadot			pinmux = <RZV2H_PORT_PINMUX(A, 5, 15)>; /* SD0_CD */
113*8ccc0d23SEmmanuel Vadot		};
114*8ccc0d23SEmmanuel Vadot	};
115*8ccc0d23SEmmanuel Vadot};
116*8ccc0d23SEmmanuel Vadot
117*8ccc0d23SEmmanuel Vadot&qextal_clk {
118*8ccc0d23SEmmanuel Vadot	clock-frequency = <24000000>;
119*8ccc0d23SEmmanuel Vadot};
120*8ccc0d23SEmmanuel Vadot
121*8ccc0d23SEmmanuel Vadot&scif {
122*8ccc0d23SEmmanuel Vadot	pinctrl-0 = <&scif_pins>;
123*8ccc0d23SEmmanuel Vadot	pinctrl-names = "default";
124*8ccc0d23SEmmanuel Vadot
125*8ccc0d23SEmmanuel Vadot	status = "okay";
126*8ccc0d23SEmmanuel Vadot};
127*8ccc0d23SEmmanuel Vadot
128*8ccc0d23SEmmanuel Vadot&sdhi0 {
129*8ccc0d23SEmmanuel Vadot	pinctrl-0 = <&sdhi0_pins>;
130*8ccc0d23SEmmanuel Vadot	pinctrl-names = "default";
131*8ccc0d23SEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
132*8ccc0d23SEmmanuel Vadot	vqmmc-supply = <&vqmmc_sdhi0>;
133*8ccc0d23SEmmanuel Vadot	bus-width = <4>;
134*8ccc0d23SEmmanuel Vadot
135*8ccc0d23SEmmanuel Vadot	status = "okay";
136*8ccc0d23SEmmanuel Vadot};
137