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_ft5406: rpi_ft5406 {
37 compatible = "rpi,rpi-ft5406";
38 firmware = <&firmware>;
43 compatible = "gpio-keys";
47 linux,code = <KEY_VOLUMEUP>;
48 gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
52 lable = "volume-down";
53 linux,code = <KEY_VOLUMEDOWN>;
54 gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
58 lable = "fastforward";
59 linux,code = <KEY_FASTFORWARD>;
60 gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
65 linux,code = <KEY_REWIND>;
66 gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
71 linux,code = <KEY_PLAYPAUSE>;
72 gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
79 compatible = "brcm,bcm2835-virtgpio";
82 firmware = <&firmware>;
88 pinctrl-names = "default";
89 pinctrl-0 = <&sdio_pins>;
96 compatible = "raspberrypi,firmware-gpio";
99 gpio-line-names = "BT_ON",
112 pinctrl-names = "default";
113 pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_pins &bt_pins>;
118 pinctrl-names = "default";
119 pinctrl-0 = <&uart1_pins>;
124 pinctrl-names = "default";
125 pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
126 cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
130 compatible = "spidev";
132 #address-cells = <1>;
134 spi-max-frequency = <125000000>;
138 compatible = "spidev";
140 #address-cells = <1>;
142 spi-max-frequency = <125000000>;
146 // =============================================
147 // Board specific stuff here
151 sd_io_1v8_reg: sd_io_1v8_reg {
153 compatible = "regulator-gpio";
154 vin-supply = <&vdd_5v0_reg>;
155 regulator-name = "vdd-sd-io";
156 regulator-min-microvolt = <1800000>;
157 regulator-max-microvolt = <3300000>;
160 regulator-settling-time-us = <5000>;
162 gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>;
163 states = <1800000 0x1
175 vqmmc-supply = <&sd_io_1v8_reg>;
181 linux,default-trigger = "mmc0";
182 gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
187 linux,default-trigger = "default-on";
188 gpios = <&expgpio 2 GPIO_ACTIVE_LOW>;
193 pinctrl-names = "default";
194 pinctrl-0 = <&audio_pins>;
199 brcm,pins = <22 23 24 25 26 27>;
200 brcm,function = <BCM2835_FSEL_ALT0>;
204 spi0_pins: spi0_pins {
205 brcm,pins = <9 10 11>;
206 brcm,function = <BCM2835_FSEL_ALT0>;
209 spi0_cs_pins: spi0_cs_pins {
211 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
214 spi3_pins: spi3_pins {
216 brcm,function = <BCM2835_FSEL_ALT3>;
219 spi3_cs_pins: spi3_cs_pins {
221 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
224 spi4_pins: spi4_pins {
226 brcm,function = <BCM2835_FSEL_ALT3>;
229 spi4_cs_pins: spi4_cs_pins {
231 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
234 spi5_pins: spi5_pins {
235 brcm,pins = <13 14 15>;
236 brcm,function = <BCM2835_FSEL_ALT3>;
239 spi5_cs_pins: spi5_cs_pins {
241 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
244 spi6_pins: spi6_pins {
245 brcm,pins = <19 20 21>;
246 brcm,function = <BCM2835_FSEL_ALT3>;
249 spi6_cs_pins: spi6_cs_pins {
251 brcm,function = <BCM2835_FSEL_GPIO_OUT>;
256 brcm,function = <BCM2835_FSEL_ALT0>;
257 brcm,pull = <BCM2835_PUD_UP>;
262 brcm,function = <BCM2835_FSEL_ALT0>;
263 brcm,pull = <BCM2835_PUD_UP>;
268 brcm,function = <BCM2835_FSEL_ALT5>;
269 brcm,pull = <BCM2835_PUD_UP>;
274 brcm,function = <BCM2835_FSEL_ALT5>;
275 brcm,pull = <BCM2835_PUD_UP>;
280 brcm,function = <BCM2835_FSEL_ALT5>;
281 brcm,pull = <BCM2835_PUD_UP>;
286 brcm,function = <BCM2835_FSEL_ALT5>;
287 brcm,pull = <BCM2835_PUD_UP>;
291 brcm,pins = <18 19 20 21>;
292 brcm,function = <BCM2835_FSEL_ALT0>;
295 sdio_pins: sdio_pins {
296 brcm,pins = <34 35 36 37 38 39>;
297 brcm,function = <BCM2835_FSEL_ALT3>; // alt3 = SD1
298 brcm,pull = <0 2 2 2 2 2>;
302 brcm,pins = "-"; // non-empty to keep btuart happy, //4 = 0
308 uart0_pins: uart0_pins {
310 brcm,function = <BCM2835_FSEL_ALT3>;
314 uart1_pins: uart1_pins {
320 uart2_pins: uart2_pins {
322 brcm,function = <BCM2835_FSEL_ALT4>;
326 uart3_pins: uart3_pins {
328 brcm,function = <BCM2835_FSEL_ALT4>;
332 uart4_pins: uart4_pins {
334 brcm,function = <BCM2835_FSEL_ALT4>;
338 uart5_pins: uart5_pins {
340 brcm,function = <BCM2835_FSEL_ALT4>;
344 audio_pins: audio_pins {
349 /* Needs to describe gpio settings at config.txt */
350 key_volume_up: key_volume_up {
352 brcm,function = <1>; /* BCM2835_FSEL_GPIO_IN */
353 brcm,pull = <2>; /* BCM2835_PUD_UP */
356 key_volume_down: key_volume_down {
362 key_fastforward: key_fastforward {
368 key_rewind: key_rewind {
374 key_playpause: key_playpause {
382 pinctrl-names = "default";
383 pinctrl-0 = <&i2c0_pins>;
384 clock-frequency = <100000>;
388 pinctrl-names = "default";
389 pinctrl-0 = <&i2c1_pins>;
390 clock-frequency = <100000>;
393 #address-cells = <1>;
397 compatible = "x-power,ac108_0";
399 #sound-dai-cells = <0>;
405 clock-frequency = <100000>;
426 pinctrl-names = "default";
427 pinctrl-0 = <&i2s_pins>;
429 #sound-dai-cells = <0>;
434 compatible = "seeed-voicecard";
435 seeed-voice-card,format = "dsp_a";
436 seeed-voice-card,name = "seeed-4mic-voicecard";
439 seeed-voice-card,bitclock-master = <&codec_dai>;
440 seeed-voice-card,frame-master = <&codec_dai>;
441 seeed-voice-card,channels-playback-override = <4>;
442 seeed-voice-card,channels-capture-override = <4>;
444 cpu_dai: seeed-voice-card,cpu {
446 dai-tdm-slot-num = <2>;
447 dai-tdm-slot-width = <32>;
448 dai-tdm-slot-tx-mask = <1 1 0 0>;
449 dai-tdm-slot-rx-mask = <1 1 0 0>;
451 codec_dai: seeed-voice-card,codec {
452 sound-dai = <&ac108_a>;
453 system-clock-frequency = <24000000>;
459 act_led_gpio = <&act_led>,"gpios:4";
460 act_led_activelow = <&act_led>,"gpios:8";
461 act_led_trigger = <&act_led>,"linux,default-trigger";
463 pwr_led_gpio = <&pwr_led>,"gpios:4";
464 pwr_led_activelow = <&pwr_led>,"gpios:8";
465 pwr_led_trigger = <&pwr_led>,"linux,default-trigger";