FILE
bcm2712-rpi-5-b-base.dtsi
File preview with syntax highlighting.
linux-6.19.14/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/dts-v1/; 3 4#include <dt-bindings/gpio/gpio.h> 5#include <dt-bindings/input/input.h> 6#include "bcm2712.dtsi" 7 8/ { 9 compatible = "raspberrypi,5-model-b", "brcm,bcm2712"; 10 model = "Raspberry Pi 5"; 11 12 aliases { 13 serial10 = &uart10; 14 }; 15 16 chosen: chosen { 17 stdout-path = "serial10:115200n8"; 18 }; 19 20 clk_rp1_xosc: clock-50000000 { 21 compatible = "fixed-clock"; 22 #clock-cells = <0>; 23 clock-output-names = "rp1-xosc"; 24 clock-frequency = <50000000>; 25 }; 26 27 /* Will be filled by the bootloader */ 28 memory@0 { 29 device_type = "memory"; 30 reg = <0 0 0 0x28000000>; 31 }; 32 33 gpio-keys { 34 compatible = "gpio-keys"; 35 pinctrl-names = "default"; 36 pinctrl-0 = <&pwr_button_default>; 37 status = "okay"; 38 39 power_button: power-button { 40 label = "pwr_button"; 41 linux,code = <KEY_POWER>; 42 gpios = <&gio 20 GPIO_ACTIVE_LOW>; 43 debounce-interval = <50>; 44 }; 45 }; 46 47 sd_io_1v8_reg: sd-io-1v8-reg { 48 compatible = "regulator-gpio"; 49 regulator-name = "vdd-sd-io"; 50 regulator-min-microvolt = <1800000>; 51 regulator-max-microvolt = <3300000>; 52 regulator-boot-on; 53 regulator-always-on; 54 regulator-settling-time-us = <5000>; 55 gpios = <&gio_aon 3 GPIO_ACTIVE_HIGH>; 56 states = <1800000 1>, 57 <3300000 0>; 58 }; 59 60 sd_vcc_reg: sd-vcc-reg { 61 compatible = "regulator-fixed"; 62 regulator-name = "vcc-sd"; 63 regulator-min-microvolt = <3300000>; 64 regulator-max-microvolt = <3300000>; 65 regulator-boot-on; 66 enable-active-high; 67 gpios = <&gio_aon 4 GPIO_ACTIVE_HIGH>; 68 }; 69 70 wl_on_reg: wl-on-reg { 71 compatible = "regulator-fixed"; 72 regulator-name = "wl-on-regulator"; 73 regulator-min-microvolt = <3300000>; 74 regulator-max-microvolt = <3300000>; 75 pinctrl-0 = <&wl_on_default>; 76 pinctrl-names = "default"; 77 gpio = <&gio 28 GPIO_ACTIVE_HIGH>; 78 startup-delay-us = <150000>; 79 enable-active-high; 80 }; 81}; 82 83&pinctrl { 84 bt_shutdown_default: bt-shutdown-default-state { 85 function = "gpio"; 86 pins = "gpio29"; 87 }; 88 89 emmc_sd_default: emmc-sd-default-state { 90 pins = "emmc_cmd", "emmc_dat0", "emmc_dat1", "emmc_dat2", "emmc_dat3"; 91 bias-pull-up; 92 }; 93 94 pwr_button_default: pwr-button-default-state { 95 function = "gpio"; 96 pins = "gpio20"; 97 bias-pull-up; 98 }; 99 100 sdio2_30_default: sdio2-30-default-state { 101 clk-pins { 102 function = "sd2"; 103 pins = "gpio30"; 104 bias-disable; 105 }; 106 cmd-pins { 107 function = "sd2"; 108 pins = "gpio31"; 109 bias-pull-up; 110 }; 111 dat-pins { 112 function = "sd2"; 113 pins = "gpio32", "gpio33", "gpio34", "gpio35"; 114 bias-pull-up; 115 }; 116 }; 117 118 uarta_24_default: uarta-24-default-state { 119 rts-pins { 120 function = "uart0"; 121 pins = "gpio24"; 122 bias-disable; 123 }; 124 cts-pins { 125 function = "uart0"; 126 pins = "gpio25"; 127 bias-pull-up; 128 }; 129 txd-pins { 130 function = "uart0"; 131 pins = "gpio26"; 132 bias-disable; 133 }; 134 rxd-pins { 135 function = "uart0"; 136 pins = "gpio27"; 137 bias-pull-up; 138 }; 139 }; 140 141 wl_on_default: wl-on-default-state { 142 function = "gpio"; 143 pins = "gpio28"; 144 }; 145}; 146 147&pinctrl_aon { 148 emmc_aon_cd_default: emmc-aon-cd-default-state { 149 function = "sd_card_g"; 150 pins = "aon_gpio5"; 151 bias-pull-up; 152 }; 153}; 154 155/* The Debug UART, on Rpi5 it's on JST-SH 1.0mm 3-pin connector 156 * labeled "UART", i.e. the interface with the system console. 157 */ 158&uart10 { 159 status = "okay"; 160}; 161 162/* SDIO1 is used to drive the SD card */ 163&sdio1 { 164 pinctrl-0 = <&emmc_sd_default>, <&emmc_aon_cd_default>; 165 pinctrl-names = "default"; 166 vqmmc-supply = <&sd_io_1v8_reg>; 167 vmmc-supply = <&sd_vcc_reg>; 168 bus-width = <4>; 169 sd-uhs-sdr50; 170 sd-uhs-ddr50; 171 sd-uhs-sdr104; 172 cd-gpios = <&gio_aon 5 GPIO_ACTIVE_LOW>; 173}; 174 175&sdio2 { 176 pinctrl-0 = <&sdio2_30_default>; 177 pinctrl-names = "default"; 178 bus-width = <4>; 179 vmmc-supply = <&wl_on_reg>; 180 sd-uhs-ddr50; 181 non-removable; 182 status = "okay"; 183 #address-cells = <1>; 184 #size-cells = <0>; 185 186 wifi: wifi@1 { 187 reg = <1>; 188 compatible = "brcm,bcm4329-fmac"; 189 }; 190}; 191 192&soc { 193 firmware: firmware { 194 compatible = "raspberrypi,bcm2835-firmware", "simple-mfd"; 195 #address-cells = <1>; 196 #size-cells = <1>; 197 198 mboxes = <&mailbox>; 199 dma-ranges; 200 201 firmware_clocks: clocks { 202 compatible = "raspberrypi,firmware-clocks"; 203 #clock-cells = <1>; 204 }; 205 206 reset: reset { 207 compatible = "raspberrypi,firmware-reset"; 208 #reset-cells = <1>; 209 }; 210 }; 211 212 power: power { 213 compatible = "raspberrypi,bcm2835-power"; 214 firmware = <&firmware>; 215 #power-domain-cells = <1>; 216 }; 217}; 218 219/* uarta communicates with the BT module */ 220&uarta { 221 uart-has-rtscts; 222 pinctrl-0 = <&uarta_24_default &bt_shutdown_default>; 223 pinctrl-names = "default"; 224 status = "okay"; 225 226 bluetooth: bluetooth { 227 compatible = "brcm,bcm43438-bt"; 228 max-speed = <3000000>; 229 shutdown-gpios = <&gio 29 GPIO_ACTIVE_HIGH>; 230 }; 231}; 232 233&hvs { 234 clocks = <&firmware_clocks 4>, <&firmware_clocks 16>; 235 clock-names = "core", "disp"; 236}; 237 238&hdmi0 { 239 clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 0>, <&clk_27MHz>; 240 clock-names = "hdmi", "bvb", "audio", "cec"; 241}; 242 243&hdmi1 { 244 clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>; 245 clock-names = "hdmi", "bvb", "audio", "cec"; 246}; 247 248&pcie1 { 249 status = "okay"; 250}; 251 252&pcie2 { 253 status = "okay"; 254};
~/
Read-only file preview.