xref: /freebsd/sys/contrib/device-tree/src/arm64/renesas/white-hawk-ethernet.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
101950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
201950c46SEmmanuel Vadot/*
301950c46SEmmanuel Vadot * Device Tree Source for the White Hawk RAVB/Ethernet(1000Base-T1)
401950c46SEmmanuel Vadot * sub-board
501950c46SEmmanuel Vadot *
601950c46SEmmanuel Vadot * Copyright (C) 2022 Glider bv
701950c46SEmmanuel Vadot */
801950c46SEmmanuel Vadot
9*0e8011faSEmmanuel Vadot/ {
10*0e8011faSEmmanuel Vadot	aliases {
11*0e8011faSEmmanuel Vadot		ethernet1 = &avb1;
12*0e8011faSEmmanuel Vadot		ethernet2 = &avb2;
13*0e8011faSEmmanuel Vadot	};
14*0e8011faSEmmanuel Vadot};
15*0e8011faSEmmanuel Vadot
16*0e8011faSEmmanuel Vadot&avb1 {
17*0e8011faSEmmanuel Vadot	pinctrl-0 = <&avb1_pins>;
18*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
19*0e8011faSEmmanuel Vadot	phy-handle = <&avb1_phy>;
20*0e8011faSEmmanuel Vadot	status = "okay";
21*0e8011faSEmmanuel Vadot
22*0e8011faSEmmanuel Vadot	mdio {
23*0e8011faSEmmanuel Vadot		#address-cells = <1>;
24*0e8011faSEmmanuel Vadot		#size-cells = <0>;
25*0e8011faSEmmanuel Vadot
26*0e8011faSEmmanuel Vadot		reset-gpios = <&gpio6 1 GPIO_ACTIVE_LOW>;
27*0e8011faSEmmanuel Vadot		reset-post-delay-us = <4000>;
28*0e8011faSEmmanuel Vadot
29*0e8011faSEmmanuel Vadot		avb1_phy: ethernet-phy@0 {
30*0e8011faSEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c45";
31*0e8011faSEmmanuel Vadot			reg = <0>;
32*0e8011faSEmmanuel Vadot			interrupt-parent = <&gpio6>;
33*0e8011faSEmmanuel Vadot			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
34*0e8011faSEmmanuel Vadot		};
35*0e8011faSEmmanuel Vadot	};
36*0e8011faSEmmanuel Vadot};
37*0e8011faSEmmanuel Vadot
38*0e8011faSEmmanuel Vadot&avb2 {
39*0e8011faSEmmanuel Vadot	pinctrl-0 = <&avb2_pins>;
40*0e8011faSEmmanuel Vadot	pinctrl-names = "default";
41*0e8011faSEmmanuel Vadot	phy-handle = <&avb2_phy>;
42*0e8011faSEmmanuel Vadot	status = "okay";
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel Vadot	mdio {
45*0e8011faSEmmanuel Vadot		#address-cells = <1>;
46*0e8011faSEmmanuel Vadot		#size-cells = <0>;
47*0e8011faSEmmanuel Vadot
48*0e8011faSEmmanuel Vadot		reset-gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;
49*0e8011faSEmmanuel Vadot		reset-post-delay-us = <4000>;
50*0e8011faSEmmanuel Vadot
51*0e8011faSEmmanuel Vadot		avb2_phy: ethernet-phy@0 {
52*0e8011faSEmmanuel Vadot			compatible = "ethernet-phy-ieee802.3-c45";
53*0e8011faSEmmanuel Vadot			reg = <0>;
54*0e8011faSEmmanuel Vadot			interrupt-parent = <&gpio5>;
55*0e8011faSEmmanuel Vadot			interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
56*0e8011faSEmmanuel Vadot		};
57*0e8011faSEmmanuel Vadot	};
58*0e8011faSEmmanuel Vadot};
59*0e8011faSEmmanuel Vadot
6001950c46SEmmanuel Vadot&i2c0 {
6101950c46SEmmanuel Vadot	eeprom@53 {
6201950c46SEmmanuel Vadot		compatible = "rohm,br24g01", "atmel,24c01";
6301950c46SEmmanuel Vadot		label = "ethernet-sub-board-id";
6401950c46SEmmanuel Vadot		reg = <0x53>;
6501950c46SEmmanuel Vadot		pagesize = <8>;
6601950c46SEmmanuel Vadot	};
6701950c46SEmmanuel Vadot};
68*0e8011faSEmmanuel Vadot
69*0e8011faSEmmanuel Vadot&pfc {
70*0e8011faSEmmanuel Vadot	avb1_pins: avb1 {
71*0e8011faSEmmanuel Vadot		mux {
72*0e8011faSEmmanuel Vadot			groups = "avb1_link", "avb1_mdio", "avb1_rgmii",
73*0e8011faSEmmanuel Vadot				 "avb1_txcrefclk";
74*0e8011faSEmmanuel Vadot			function = "avb1";
75*0e8011faSEmmanuel Vadot		};
76*0e8011faSEmmanuel Vadot
77*0e8011faSEmmanuel Vadot		mdio {
78*0e8011faSEmmanuel Vadot			groups = "avb1_mdio";
79*0e8011faSEmmanuel Vadot			drive-strength = <24>;
80*0e8011faSEmmanuel Vadot			bias-disable;
81*0e8011faSEmmanuel Vadot		};
82*0e8011faSEmmanuel Vadot
83*0e8011faSEmmanuel Vadot		rgmii {
84*0e8011faSEmmanuel Vadot			groups = "avb1_rgmii";
85*0e8011faSEmmanuel Vadot			drive-strength = <24>;
86*0e8011faSEmmanuel Vadot			bias-disable;
87*0e8011faSEmmanuel Vadot		};
88*0e8011faSEmmanuel Vadot
89*0e8011faSEmmanuel Vadot		link {
90*0e8011faSEmmanuel Vadot			groups = "avb1_link";
91*0e8011faSEmmanuel Vadot			bias-disable;
92*0e8011faSEmmanuel Vadot		};
93*0e8011faSEmmanuel Vadot	};
94*0e8011faSEmmanuel Vadot
95*0e8011faSEmmanuel Vadot	avb2_pins: avb2 {
96*0e8011faSEmmanuel Vadot		mux {
97*0e8011faSEmmanuel Vadot			groups = "avb2_link", "avb2_mdio", "avb2_rgmii",
98*0e8011faSEmmanuel Vadot				 "avb2_txcrefclk";
99*0e8011faSEmmanuel Vadot			function = "avb2";
100*0e8011faSEmmanuel Vadot		};
101*0e8011faSEmmanuel Vadot
102*0e8011faSEmmanuel Vadot		mdio {
103*0e8011faSEmmanuel Vadot			groups = "avb2_mdio";
104*0e8011faSEmmanuel Vadot			drive-strength = <24>;
105*0e8011faSEmmanuel Vadot			bias-disable;
106*0e8011faSEmmanuel Vadot		};
107*0e8011faSEmmanuel Vadot
108*0e8011faSEmmanuel Vadot		rgmii {
109*0e8011faSEmmanuel Vadot			groups = "avb2_rgmii";
110*0e8011faSEmmanuel Vadot			drive-strength = <24>;
111*0e8011faSEmmanuel Vadot			bias-disable;
112*0e8011faSEmmanuel Vadot		};
113*0e8011faSEmmanuel Vadot
114*0e8011faSEmmanuel Vadot		link {
115*0e8011faSEmmanuel Vadot			groups = "avb2_link";
116*0e8011faSEmmanuel Vadot			bias-disable;
117*0e8011faSEmmanuel Vadot		};
118*0e8011faSEmmanuel Vadot	};
119*0e8011faSEmmanuel Vadot};
120