xref: /linux/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * bcm2712-rpi-5-b-ovl-rp1.dts is the overlay-ready DT which will make
4 * the RP1 driver to load the RP1 dtb overlay at runtime, while
5 * bcm2712-rpi-5-b.dts (this file) is the fully defined one (i.e. it
6 * already contains RP1 node, so no overlay is loaded nor needed).
7 * This file is intended to host the override nodes for the RP1 peripherals,
8 * e.g. to declare the phy of the ethernet interface or the custom pin setup
9 * for several RP1 peripherals.
10 * This in turn is due to the fact that there's no current generic
11 * infrastructure to reference nodes (i.e. the nodes in rp1-common.dtsi) that
12 * are not yet defined in the DT since they are loaded at runtime via overlay.
13 * All other nodes that do not have anything to do with RP1 should be added
14 * to the included bcm2712-rpi-5-b-ovl-rp1.dts instead.
15 */
16
17/dts-v1/;
18
19#include "bcm2712-rpi-5-b-ovl-rp1.dts"
20
21&pcie2 {
22	#include "rp1-nexus.dtsi"
23};
24
25&rp1_eth {
26	status = "okay";
27	phy-mode = "rgmii-id";
28	phy-handle = <&phy1>;
29
30	mdio {
31		reg = <0x1>;
32		reset-gpios = <&rp1_gpio 32 GPIO_ACTIVE_LOW>;
33		reset-delay-us = <5000>;
34		#address-cells = <1>;
35		#size-cells = <0>;
36
37		phy1: ethernet-phy@1 {
38			reg = <0x1>;
39		};
40	};
41};
42
43&rp1_gpio {
44	usb_vbus_default_state: usb-vbus-default-state {
45		function = "vbus1";
46		groups = "vbus1";
47	};
48};
49
50&rp1_usb0 {
51	pinctrl-0 = <&usb_vbus_default_state>;
52	pinctrl-names = "default";
53	status = "okay";
54};
55
56&rp1_usb1 {
57	status = "okay";
58};
59