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