3 #include "bcm2711.dtsi"
4 #include "bcm2711-rpi.dtsi"
5 #include "bcm283x-rpi-csi1-2lane.dtsi"
6 #include <dt-bindings/input/input.h>
9 compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
10 model = "Raspberry Pi 4 Model B";
13 device_type = "memory";
18 bootargs = "coherent_pool=1M 8250.nr_uarts=1 cma=64M";
31 /delete-property/ ethernet;
32 /delete-property/ intc;
36 rpi_backlight: rpi_backlight {
37 compatible = "raspberrypi,rpi-backlight";
38 firmware = <&firmware>;
42 rpi_ft5406: rpi_ft5406 {
43 compatible = "rpi,rpi-ft5406";
44 firmware = <&firmware>;
49 compatible = "gpio-keys";
53 linux,code = <KEY_VOLUMEUP>;
54 gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
58 lable = "volume-down";
59 linux,code = <KEY_VOLUMEDOWN>;
60 gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
64 lable = "fastforward";
65 linux,code = <KEY_FASTFORWARD>;
66 gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
71 linux,code = <KEY_REWIND>;
72 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
77 linux,code = <KEY_PLAYPAUSE>;
78 gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
85 compatible = "brcm,bcm2835-virtgpio";
88 firmware = <&firmware>;
96 pinctrl-names = "default";
97 pinctrl-0 = <&sdio_pins>;
102 compatible = "brcm,bcm4329-fmac";
103 brcm,feature-disable = <0x2000>; /* BIT[13] : sup-wpa */
109 compatible = "raspberrypi,firmware-gpio";
112 gpio-line-names = "BT_ON",
125 pinctrl-names = "default";
126 pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_pins &bt_pins>;
131 pinctrl-names = "default";
132 pinctrl-0 = <&uart1_pins>;
137 compatible = "brcm,bcm2835-usb";
138 dr_mode = "peripheral";
139 g-np-tx-fifo-size = <32>;
140 g-rx-fifo-size = <256>;
141 g-tx-fifo-size = <512 512 512 512 512 256 256>;
147 pinctrl-names = "default";
148 pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
149 cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
153 compatible = "spidev";
155 #address-cells = <1>;
157 spi-max-frequency = <125000000>;
161 compatible = "spidev";
163 #address-cells = <1>;
165 spi-max-frequency = <125000000>;
169 // =============================================
170 // Board specific stuff here
174 sd_io_1v8_reg: sd_io_1v8_reg {
176 compatible = "regulator-gpio";
177 vin-supply = <&vdd_5v0_reg>;
178 regulator-name = "vdd-sd-io";
179 regulator-min-microvolt = <1800000>;
180 regulator-max-microvolt = <3300000>;
183 regulator-settling-time-us = <5000>;
185 gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
186 states = <1800000 0x1
198 vqmmc-supply = <&sd_io_1v8_reg>;
204 linux,default-trigger = "mmc0";
205 gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
210 linux,default-trigger = "default-on";
211 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
216 pinctrl-names = "default";
217 pinctrl-0 = <&audio_pins>;
222 brcm,pins = <22 23 24 25 26 27>;
223 brcm,function = <BCM2835_FSEL_ALT0>;
227 spi0_pins: spi0_pins {
228 brcm,pins = <9 10 11>;
229 brcm,function = <BCM2835_FSEL_ALT0>;
232 spi0_cs_pins: spi0_cs_pins {
234 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
237 spi3_pins: spi3_pins {
239 brcm,function = <BCM2835_FSEL_ALT3>;
242 spi3_cs_pins: spi3_cs_pins {
244 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
247 spi4_pins: spi4_pins {
249 brcm,function = <BCM2835_FSEL_ALT3>;
252 spi4_cs_pins: spi4_cs_pins {
254 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
257 spi5_pins: spi5_pins {
258 brcm,pins = <13 14 15>;
259 brcm,function = <BCM2835_FSEL_ALT3>;
262 spi5_cs_pins: spi5_cs_pins {
264 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
267 spi6_pins: spi6_pins {
268 brcm,pins = <19 20 21>;
269 brcm,function = <BCM2835_FSEL_ALT3>;
272 spi6_cs_pins: spi6_cs_pins {
274 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
279 brcm,function = <BCM2835_FSEL_ALT0>;
280 brcm,pull = <BCM2835_PUD_UP>;
285 brcm,function = <BCM2835_FSEL_ALT0>;
286 brcm,pull = <BCM2835_PUD_UP>;
291 brcm,function = <BCM2835_FSEL_ALT5>;
292 brcm,pull = <BCM2835_PUD_UP>;
297 brcm,function = <BCM2835_FSEL_ALT5>;
298 brcm,pull = <BCM2835_PUD_UP>;
303 brcm,function = <BCM2835_FSEL_ALT5>;
304 brcm,pull = <BCM2835_PUD_UP>;
309 brcm,function = <BCM2835_FSEL_ALT5>;
310 brcm,pull = <BCM2835_PUD_UP>;
314 brcm,pins = <18 19 20 21>;
315 brcm,function = <BCM2835_FSEL_ALT0>;
318 sdio_pins: sdio_pins {
319 brcm,pins = <34 35 36 37 38 39>;
320 brcm,function = <BCM2835_FSEL_ALT3>; // alt3 = SD1
321 brcm,pull = <0 2 2 2 2 2>;
325 brcm,pins = "-"; // non-empty to keep btuart happy, //4 = 0
331 uart0_pins: uart0_pins {
333 brcm,function = <BCM2835_FSEL_ALT3>;
337 uart1_pins: uart1_pins {
343 uart2_pins: uart2_pins {
345 brcm,function = <BCM2835_FSEL_ALT4>;
349 uart3_pins: uart3_pins {
351 brcm,function = <BCM2835_FSEL_ALT4>;
355 uart4_pins: uart4_pins {
357 brcm,function = <BCM2835_FSEL_ALT4>;
361 uart5_pins: uart5_pins {
363 brcm,function = <BCM2835_FSEL_ALT4>;
367 audio_pins: audio_pins {
372 /* Needs to describe gpio settings at config.txt */
373 key_volume_up: key_volume_up {
375 brcm,function = <1>; /* BCM2835_FSEL_GPIO_IN */
376 brcm,pull = <2>; /* BCM2835_PUD_UP */
379 key_volume_down: key_volume_down {
385 key_fastforward: key_fastforward {
391 key_rewind: key_rewind {
397 key_playpause: key_playpause {
405 pinctrl-names = "default";
406 pinctrl-0 = <&i2c0_pins>;
407 clock-frequency = <100000>;
411 pinctrl-names = "default";
412 pinctrl-0 = <&i2c1_pins>;
413 clock-frequency = <100000>;
416 #address-cells = <1>;
420 compatible = "x-power,ac108_0";
422 #sound-dai-cells = <0>;
428 clock-frequency = <100000>;
449 pinctrl-names = "default";
450 pinctrl-0 = <&i2s_pins>;
452 #sound-dai-cells = <0>;
457 compatible = "seeed-voicecard";
458 seeed-voice-card,format = "dsp_a";
459 seeed-voice-card,name = "seeed-4mic-voicecard";
462 seeed-voice-card,bitclock-master = <&codec_dai>;
463 seeed-voice-card,frame-master = <&codec_dai>;
464 seeed-voice-card,channels-playback-override = <4>;
465 seeed-voice-card,channels-capture-override = <4>;
467 cpu_dai: seeed-voice-card,cpu {
469 dai-tdm-slot-num = <2>;
470 dai-tdm-slot-width = <32>;
471 dai-tdm-slot-tx-mask = <1 1 0 0>;
472 dai-tdm-slot-rx-mask = <1 1 0 0>;
474 codec_dai: seeed-voice-card,codec {
475 sound-dai = <&ac108_a>;
476 system-clock-frequency = <24000000>;
482 act_led_gpio = <&act_led>,"gpios:4";
483 act_led_activelow = <&act_led>,"gpios:8";
484 act_led_trigger = <&act_led>,"linux,default-trigger";
486 pwr_led_gpio = <&pwr_led>,"gpios:4";
487 pwr_led_activelow = <&pwr_led>,"gpios:8";
488 pwr_led_trigger = <&pwr_led>,"linux,default-trigger";