1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for the RZN1D-DB Board
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2018 Renesas Electronics Europe Limited
6*724ba675SRob Herring *
7*724ba675SRob Herring */
8*724ba675SRob Herring
9*724ba675SRob Herring/dts-v1/;
10*724ba675SRob Herring
11*724ba675SRob Herring#include <dt-bindings/pinctrl/rzn1-pinctrl.h>
12*724ba675SRob Herring#include <dt-bindings/net/pcs-rzn1-miic.h>
13*724ba675SRob Herring
14*724ba675SRob Herring#include "r9a06g032.dtsi"
15*724ba675SRob Herring
16*724ba675SRob Herring/ {
17*724ba675SRob Herring	model = "RZN1D-DB Board";
18*724ba675SRob Herring	compatible = "renesas,rzn1d400-db", "renesas,r9a06g032";
19*724ba675SRob Herring
20*724ba675SRob Herring	chosen {
21*724ba675SRob Herring		stdout-path = "serial0:115200n8";
22*724ba675SRob Herring	};
23*724ba675SRob Herring
24*724ba675SRob Herring	aliases {
25*724ba675SRob Herring		serial0 = &uart0;
26*724ba675SRob Herring	};
27*724ba675SRob Herring};
28*724ba675SRob Herring
29*724ba675SRob Herring&can0 {
30*724ba675SRob Herring	pinctrl-0 = <&pins_can0>;
31*724ba675SRob Herring	pinctrl-names = "default";
32*724ba675SRob Herring
33*724ba675SRob Herring	/* Assuming CN10/CN11 are wired for CAN1 */
34*724ba675SRob Herring	status = "okay";
35*724ba675SRob Herring};
36*724ba675SRob Herring
37*724ba675SRob Herring&can1 {
38*724ba675SRob Herring	pinctrl-0 = <&pins_can1>;
39*724ba675SRob Herring	pinctrl-names = "default";
40*724ba675SRob Herring
41*724ba675SRob Herring	/* Please only enable can0 or can1, depending on CN10/CN11 */
42*724ba675SRob Herring	/* status = "okay"; */
43*724ba675SRob Herring};
44*724ba675SRob Herring
45*724ba675SRob Herring&eth_miic {
46*724ba675SRob Herring	status = "okay";
47*724ba675SRob Herring	renesas,miic-switch-portin = <MIIC_GMAC2_PORT>;
48*724ba675SRob Herring};
49*724ba675SRob Herring
50*724ba675SRob Herring&gmac2 {
51*724ba675SRob Herring	status = "okay";
52*724ba675SRob Herring	phy-mode = "gmii";
53*724ba675SRob Herring
54*724ba675SRob Herring	fixed-link {
55*724ba675SRob Herring		speed = <1000>;
56*724ba675SRob Herring		full-duplex;
57*724ba675SRob Herring	};
58*724ba675SRob Herring};
59*724ba675SRob Herring
60*724ba675SRob Herring&mii_conv4 {
61*724ba675SRob Herring	renesas,miic-input = <MIIC_SWITCH_PORTB>;
62*724ba675SRob Herring	status = "okay";
63*724ba675SRob Herring};
64*724ba675SRob Herring
65*724ba675SRob Herring&mii_conv5 {
66*724ba675SRob Herring	renesas,miic-input = <MIIC_SWITCH_PORTA>;
67*724ba675SRob Herring	status = "okay";
68*724ba675SRob Herring};
69*724ba675SRob Herring
70*724ba675SRob Herring&pinctrl {
71*724ba675SRob Herring	pins_can0: pins_can0 {
72*724ba675SRob Herring		pinmux = <RZN1_PINMUX(162, RZN1_FUNC_CAN)>,	/* CAN0_TXD */
73*724ba675SRob Herring			 <RZN1_PINMUX(163, RZN1_FUNC_CAN)>;	/* CAN0_RXD */
74*724ba675SRob Herring		drive-strength = <6>;
75*724ba675SRob Herring	};
76*724ba675SRob Herring
77*724ba675SRob Herring	pins_can1: pins_can1 {
78*724ba675SRob Herring		pinmux = <RZN1_PINMUX(109, RZN1_FUNC_CAN)>,	/* CAN1_TXD */
79*724ba675SRob Herring			 <RZN1_PINMUX(110, RZN1_FUNC_CAN)>;	/* CAN1_RXD */
80*724ba675SRob Herring		drive-strength = <6>;
81*724ba675SRob Herring	};
82*724ba675SRob Herring
83*724ba675SRob Herring	pins_eth3: pins_eth3 {
84*724ba675SRob Herring		pinmux = <RZN1_PINMUX(36, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
85*724ba675SRob Herring			 <RZN1_PINMUX(37, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
86*724ba675SRob Herring			 <RZN1_PINMUX(38, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
87*724ba675SRob Herring			 <RZN1_PINMUX(39, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
88*724ba675SRob Herring			 <RZN1_PINMUX(40, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
89*724ba675SRob Herring			 <RZN1_PINMUX(41, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
90*724ba675SRob Herring			 <RZN1_PINMUX(42, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
91*724ba675SRob Herring			 <RZN1_PINMUX(43, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
92*724ba675SRob Herring			 <RZN1_PINMUX(44, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
93*724ba675SRob Herring			 <RZN1_PINMUX(45, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
94*724ba675SRob Herring			 <RZN1_PINMUX(46, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
95*724ba675SRob Herring			 <RZN1_PINMUX(47, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>;
96*724ba675SRob Herring		drive-strength = <6>;
97*724ba675SRob Herring		bias-disable;
98*724ba675SRob Herring	};
99*724ba675SRob Herring
100*724ba675SRob Herring	pins_eth4: pins_eth4 {
101*724ba675SRob Herring		pinmux = <RZN1_PINMUX(48, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
102*724ba675SRob Herring			 <RZN1_PINMUX(49, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
103*724ba675SRob Herring			 <RZN1_PINMUX(50, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
104*724ba675SRob Herring			 <RZN1_PINMUX(51, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
105*724ba675SRob Herring			 <RZN1_PINMUX(52, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
106*724ba675SRob Herring			 <RZN1_PINMUX(53, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
107*724ba675SRob Herring			 <RZN1_PINMUX(54, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
108*724ba675SRob Herring			 <RZN1_PINMUX(55, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
109*724ba675SRob Herring			 <RZN1_PINMUX(56, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
110*724ba675SRob Herring			 <RZN1_PINMUX(57, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
111*724ba675SRob Herring			 <RZN1_PINMUX(58, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>,
112*724ba675SRob Herring			 <RZN1_PINMUX(59, RZN1_FUNC_CLK_ETH_MII_RGMII_RMII)>;
113*724ba675SRob Herring		drive-strength = <6>;
114*724ba675SRob Herring		bias-disable;
115*724ba675SRob Herring	};
116*724ba675SRob Herring
117*724ba675SRob Herring	pins_mdio1: pins_mdio1 {
118*724ba675SRob Herring		pinmux = <RZN1_PINMUX(152, RZN1_FUNC_MDIO1_SWITCH)>,
119*724ba675SRob Herring			 <RZN1_PINMUX(153, RZN1_FUNC_MDIO1_SWITCH)>;
120*724ba675SRob Herring	};
121*724ba675SRob Herring};
122*724ba675SRob Herring
123*724ba675SRob Herring&rtc0 {
124*724ba675SRob Herring	status = "okay";
125*724ba675SRob Herring};
126*724ba675SRob Herring
127*724ba675SRob Herring&switch {
128*724ba675SRob Herring	status = "okay";
129*724ba675SRob Herring	#address-cells = <1>;
130*724ba675SRob Herring	#size-cells = <0>;
131*724ba675SRob Herring
132*724ba675SRob Herring	pinctrl-names = "default";
133*724ba675SRob Herring	pinctrl-0 = <&pins_eth3>, <&pins_eth4>, <&pins_mdio1>;
134*724ba675SRob Herring
135*724ba675SRob Herring	dsa,member = <0 0>;
136*724ba675SRob Herring
137*724ba675SRob Herring	mdio {
138*724ba675SRob Herring		clock-frequency = <2500000>;
139*724ba675SRob Herring
140*724ba675SRob Herring		#address-cells = <1>;
141*724ba675SRob Herring		#size-cells = <0>;
142*724ba675SRob Herring
143*724ba675SRob Herring		switch0phy4: ethernet-phy@4 {
144*724ba675SRob Herring			reg = <4>;
145*724ba675SRob Herring			micrel,led-mode = <1>;
146*724ba675SRob Herring		};
147*724ba675SRob Herring
148*724ba675SRob Herring		switch0phy5: ethernet-phy@5 {
149*724ba675SRob Herring			reg = <5>;
150*724ba675SRob Herring			micrel,led-mode = <1>;
151*724ba675SRob Herring		};
152*724ba675SRob Herring	};
153*724ba675SRob Herring};
154*724ba675SRob Herring
155*724ba675SRob Herring&switch_port0 {
156*724ba675SRob Herring	label = "lan0";
157*724ba675SRob Herring	phy-mode = "mii";
158*724ba675SRob Herring	phy-handle = <&switch0phy5>;
159*724ba675SRob Herring	status = "okay";
160*724ba675SRob Herring};
161*724ba675SRob Herring
162*724ba675SRob Herring&switch_port1 {
163*724ba675SRob Herring	label = "lan1";
164*724ba675SRob Herring	phy-mode = "mii";
165*724ba675SRob Herring	phy-handle = <&switch0phy4>;
166*724ba675SRob Herring	status = "okay";
167*724ba675SRob Herring};
168*724ba675SRob Herring
169*724ba675SRob Herring&switch_port4 {
170*724ba675SRob Herring	status = "okay";
171*724ba675SRob Herring};
172*724ba675SRob Herring
173*724ba675SRob Herring&uart0 {
174*724ba675SRob Herring	status = "okay";
175*724ba675SRob Herring};
176*724ba675SRob Herring
177*724ba675SRob Herring&wdt0 {
178*724ba675SRob Herring	timeout-sec = <60>;
179*724ba675SRob Herring	status = "okay";
180*724ba675SRob Herring};
181