xref: /linux/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-ovl-rp1.dts (revision 115e74a29b530d121891238e9551c4bcdf7b04b5)
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/dts-v1/;
3
4#include <dt-bindings/gpio/gpio.h>
5#include "bcm2712.dtsi"
6
7/ {
8	compatible = "raspberrypi,5-model-b", "brcm,bcm2712";
9	model = "Raspberry Pi 5";
10
11	aliases {
12		serial10 = &uart10;
13	};
14
15	chosen: chosen {
16		stdout-path = "serial10:115200n8";
17	};
18
19	clk_rp1_xosc: clock-50000000 {
20		compatible = "fixed-clock";
21		#clock-cells = <0>;
22		clock-output-names = "rp1-xosc";
23		clock-frequency = <50000000>;
24	};
25
26	/* Will be filled by the bootloader */
27	memory@0 {
28		device_type = "memory";
29		reg = <0 0 0 0x28000000>;
30	};
31
32	sd_io_1v8_reg: sd-io-1v8-reg {
33		compatible = "regulator-gpio";
34		regulator-name = "vdd-sd-io";
35		regulator-min-microvolt = <1800000>;
36		regulator-max-microvolt = <3300000>;
37		regulator-boot-on;
38		regulator-always-on;
39		regulator-settling-time-us = <5000>;
40		gpios = <&gio_aon 3 GPIO_ACTIVE_HIGH>;
41		states = <1800000 1>,
42			 <3300000 0>;
43	};
44
45	sd_vcc_reg: sd-vcc-reg {
46		compatible = "regulator-fixed";
47		regulator-name = "vcc-sd";
48		regulator-min-microvolt = <3300000>;
49		regulator-max-microvolt = <3300000>;
50		regulator-boot-on;
51		enable-active-high;
52		gpios = <&gio_aon 4 GPIO_ACTIVE_HIGH>;
53	};
54};
55
56/* The Debug UART, on Rpi5 it's on JST-SH 1.0mm 3-pin connector
57 * labeled "UART", i.e. the interface with the system console.
58 */
59&uart10 {
60	status = "okay";
61};
62
63/* SDIO1 is used to drive the SD card */
64&sdio1 {
65	vqmmc-supply = <&sd_io_1v8_reg>;
66	vmmc-supply = <&sd_vcc_reg>;
67	bus-width = <4>;
68	sd-uhs-sdr50;
69	sd-uhs-ddr50;
70	sd-uhs-sdr104;
71};
72
73&soc {
74	firmware: firmware {
75		compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
76		#address-cells = <1>;
77		#size-cells = <1>;
78
79		mboxes = <&mailbox>;
80		dma-ranges;
81
82		firmware_clocks: clocks {
83			compatible = "raspberrypi,firmware-clocks";
84			#clock-cells = <1>;
85		};
86
87		reset: reset {
88			compatible = "raspberrypi,firmware-reset";
89			#reset-cells = <1>;
90		};
91	};
92
93	power: power {
94		compatible = "raspberrypi,bcm2835-power";
95		firmware = <&firmware>;
96		#power-domain-cells = <1>;
97	};
98};
99
100&hvs {
101	clocks = <&firmware_clocks 4>, <&firmware_clocks 16>;
102	clock-names = "core", "disp";
103};
104
105&hdmi0 {
106	clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
107	clock-names = "hdmi", "bvb", "audio", "cec";
108};
109
110&hdmi1 {
111	clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
112	clock-names = "hdmi", "bvb", "audio", "cec";
113};
114
115&pcie1 {
116	status = "okay";
117};
118
119&pcie2 {
120	status = "okay";
121};
122