blob: fbc56309660f5ffdb588c6c0dbc30842b9b0e185 [file] [log] [blame]
Tom Rini9c8af152024-12-24 12:03:04 -06001// 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 /* Will be filled by the bootloader */
20 memory@0 {
21 device_type = "memory";
22 reg = <0 0 0 0x28000000>;
23 };
24
25 sd_io_1v8_reg: sd-io-1v8-reg {
26 compatible = "regulator-gpio";
27 regulator-name = "vdd-sd-io";
28 regulator-min-microvolt = <1800000>;
29 regulator-max-microvolt = <3300000>;
30 regulator-boot-on;
31 regulator-always-on;
32 regulator-settling-time-us = <5000>;
33 gpios = <&gio_aon 3 GPIO_ACTIVE_HIGH>;
34 states = <1800000 1>,
35 <3300000 0>;
36 };
37
38 sd_vcc_reg: sd-vcc-reg {
39 compatible = "regulator-fixed";
40 regulator-name = "vcc-sd";
41 regulator-min-microvolt = <3300000>;
42 regulator-max-microvolt = <3300000>;
43 regulator-boot-on;
44 enable-active-high;
45 gpios = <&gio_aon 4 GPIO_ACTIVE_HIGH>;
46 };
47};
48
49/* The Debug UART, on Rpi5 it's on JST-SH 1.0mm 3-pin connector
50 * labeled "UART", i.e. the interface with the system console.
51 */
52&uart10 {
53 status = "okay";
54};
55
56/* SDIO1 is used to drive the SD card */
57&sdio1 {
58 vqmmc-supply = <&sd_io_1v8_reg>;
59 vmmc-supply = <&sd_vcc_reg>;
60 bus-width = <4>;
61 sd-uhs-sdr50;
62 sd-uhs-ddr50;
63 sd-uhs-sdr104;
64};
Tom Riniab06a532025-04-02 08:31:19 -060065
66&soc {
67 firmware: firmware {
68 compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
69 #address-cells = <1>;
70 #size-cells = <1>;
71
72 mboxes = <&mailbox>;
73 dma-ranges;
74
75 firmware_clocks: clocks {
76 compatible = "raspberrypi,firmware-clocks";
77 #clock-cells = <1>;
78 };
79
80 reset: reset {
81 compatible = "raspberrypi,firmware-reset";
82 #reset-cells = <1>;
83 };
84 };
85
86 power: power {
87 compatible = "raspberrypi,bcm2835-power";
88 firmware = <&firmware>;
89 #power-domain-cells = <1>;
90 };
91};
92
93&hvs {
94 clocks = <&firmware_clocks 4>, <&firmware_clocks 16>;
95 clock-names = "core", "disp";
96};
97
98&hdmi0 {
99 clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>;
100 clock-names = "hdmi", "bvb", "audio", "cec";
101};
102
103&hdmi1 {
104 clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>;
105 clock-names = "hdmi", "bvb", "audio", "cec";
106};