From dd8640d41261ad31932b29f07988ff6322dc7d46 Mon Sep 17 00:00:00 2001 From: suyuan168 <175338101@qq.com> Date: Tue, 4 Jan 2022 03:12:35 +0800 Subject: [PATCH] add 5.15 m4 --- root/target/linux/bcm27xx/bcm2711-rpi-cm4.dts | 536 ------------------ ...s-Add-bcm2711-rpi-cm4antrouter5g.dts.patch | 316 +++++++++++ 2 files changed, 316 insertions(+), 536 deletions(-) delete mode 100644 root/target/linux/bcm27xx/bcm2711-rpi-cm4.dts create mode 100644 root/target/linux/bcm27xx/patches-5.15/950-0785-ARM-dts-Add-bcm2711-rpi-cm4antrouter5g.dts.patch diff --git a/root/target/linux/bcm27xx/bcm2711-rpi-cm4.dts b/root/target/linux/bcm27xx/bcm2711-rpi-cm4.dts deleted file mode 100644 index c52c2ed5..00000000 --- a/root/target/linux/bcm27xx/bcm2711-rpi-cm4.dts +++ /dev/null @@ -1,536 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/dts-v1/; -#include "bcm2711.dtsi" -#include "bcm2835-rpi.dtsi" - -/ { - compatible = "raspberrypi,4-compute-module", "brcm,bcm2711"; - model = "Raspberry Pi Compute Module 4"; - - chosen { - /* 8250 auxiliary UART instead of pl011 */ - stdout-path = "serial1:115200n8"; - }; - - /* Will be filled by the bootloader */ - memory@0 { - device_type = "memory"; - reg = <0 0 0>; - }; - - aliases { - emmc2bus = &emmc2bus; - ethernet0 = &genet; - pcie0 = &pcie0; - }; - - leds { - act { - gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; - }; - - pwr { - label = "PWR"; - gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; - default-state = "keep"; - linux,default-trigger = "default-on"; - }; - }; - - wifi_pwrseq: wifi-pwrseq { - compatible = "mmc-pwrseq-simple"; - reset-gpios = <&expgpio 1 GPIO_ACTIVE_LOW>; - }; - - sd_io_1v8_reg: sd_io_1v8_reg { - compatible = "regulator-gpio"; - regulator-name = "vdd-sd-io"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - regulator-settling-time-us = <5000>; - gpios = <&expgpio 4 GPIO_ACTIVE_HIGH>; - states = <1800000 0x1 - 3300000 0x0>; - status = "okay"; - }; -}; - -&firmware { - expgpio: gpio { - compatible = "raspberrypi,firmware-gpio"; - gpio-controller; - #gpio-cells = <2>; - gpio-line-names = "BT_ON", - "WL_ON", - "PWR_LED_OFF", - "ANT1", - "VDD_SD_IO_SEL", - "CAM_GPIO", - "SD_PWR_ON", - "ANT2"; - status = "okay"; - - ant1: ant1 { - gpio-hog; - gpios = <3 GPIO_ACTIVE_HIGH>; - output-high; - }; - - ant2: ant2 { - gpio-hog; - gpios = <7 GPIO_ACTIVE_HIGH>; - output-low; - }; - }; -}; - -&pwm1 { - pinctrl-names = "default"; - pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>; - status = "okay"; -}; - -/* SDHCI is used to control the SDIO for wireless */ -&sdhci { - #address-cells = <1>; - #size-cells = <0>; - pinctrl-names = "default"; - pinctrl-0 = <&emmc_gpio34>; - bus-width = <4>; - non-removable; - mmc-pwrseq = <&wifi_pwrseq>; - status = "okay"; - - brcmf: wifi@1 { - reg = <1>; - compatible = "brcm,bcm4329-fmac"; - }; -}; - -/* EMMC2 is used to drive the SD card */ -&emmc2 { - vqmmc-supply = <&sd_io_1v8_reg>; - broken-cd; - status = "okay"; -}; - -&genet { - phy-handle = <&phy1>; - phy-mode = "rgmii-rxid"; - status = "okay"; -}; - -&genet_mdio { - phy1: ethernet-phy@1 { - /* No PHY interrupt */ - reg = <0x1>; - }; -}; - -/* uart0 communicates with the BT module */ -&uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_ctsrts_gpio30 &uart0_gpio32>; - uart-has-rtscts; - status = "okay"; - - bluetooth { - compatible = "brcm,bcm43438-bt"; - max-speed = <2000000>; - shutdown-gpios = <&expgpio 0 GPIO_ACTIVE_HIGH>; - }; -}; - -/* uart1 is mapped to the pin header */ -&uart1 { - pinctrl-names = "default"; - pinctrl-0 = <&uart1_gpio14>; - status = "okay"; -}; - -&vchiq { - interrupts = ; -}; - -// ============================================= -// Downstream rpi- changes - -#include "bcm270x.dtsi" -#include "bcm271x-rpi-bt.dtsi" - -/ { - soc { - /delete-node/ pixelvalve@7e807000; - /delete-node/ hdmi@7e902000; - }; -}; - -#include "bcm2711-rpi.dtsi" -#include "bcm283x-rpi-csi0-2lane.dtsi" -#include "bcm283x-rpi-csi1-4lane.dtsi" -#include "bcm283x-rpi-i2c0mux_0_44.dtsi" - -/ { - chosen { - bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1"; - }; - - aliases { - serial0 = &uart1; - serial1 = &uart0; - mmc0 = &emmc2; - mmc1 = &mmcnr; - mmc2 = &sdhost; - /delete-property/ i2c2; - i2c3 = &i2c3; - i2c4 = &i2c4; - i2c5 = &i2c5; - i2c6 = &i2c6; - /delete-property/ intc; - }; - - /delete-node/ wifi-pwrseq; -}; - -&pcie0 { - brcm,enable-l1ss; -}; - -&mmcnr { - pinctrl-names = "default"; - pinctrl-0 = <&sdio_pins>; - bus-width = <4>; - status = "okay"; -}; - -&uart0 { - pinctrl-0 = <&uart0_pins &bt_pins>; - status = "okay"; -}; - -&uart1 { - pinctrl-0 = <&uart1_pins>; -}; - -&spi0 { - pinctrl-names = "default"; - pinctrl-0 = <&spi0_pins &spi0_cs_pins>; - cs-gpios = <&gpio 8 1>, <&gpio 7 1>; - - spidev0: spidev@0{ - compatible = "spidev"; - reg = <0>; /* CE0 */ - #address-cells = <1>; - #size-cells = <0>; - spi-max-frequency = <125000000>; - }; - - spidev1: spidev@1{ - compatible = "spidev"; - reg = <1>; /* CE1 */ - #address-cells = <1>; - #size-cells = <0>; - spi-max-frequency = <125000000>; - }; -}; - -&gpio { - spi0_pins: spi0_pins { - brcm,pins = <9 10 11>; - brcm,function = ; - }; - - spi0_cs_pins: spi0_cs_pins { - brcm,pins = <8 7>; - brcm,function = ; - }; - - spi3_pins: spi3_pins { - brcm,pins = <1 2 3>; - brcm,function = ; - }; - - spi3_cs_pins: spi3_cs_pins { - brcm,pins = <0 24>; - brcm,function = ; - }; - - spi4_pins: spi4_pins { - brcm,pins = <5 6 7>; - brcm,function = ; - }; - - spi4_cs_pins: spi4_cs_pins { - brcm,pins = <4 25>; - brcm,function = ; - }; - - spi5_pins: spi5_pins { - brcm,pins = <13 14 15>; - brcm,function = ; - }; - - spi5_cs_pins: spi5_cs_pins { - brcm,pins = <12 26>; - brcm,function = ; - }; - - spi6_pins: spi6_pins { - brcm,pins = <19 20 21>; - brcm,function = ; - }; - - spi6_cs_pins: spi6_cs_pins { - brcm,pins = <18 27>; - brcm,function = ; - }; - - i2c0_pins: i2c0 { - brcm,pins = <0 1>; - brcm,function = ; - brcm,pull = ; - }; - - i2c1_pins: i2c1 { - brcm,pins = <2 3>; - brcm,function = ; - brcm,pull = ; - }; - - i2c3_pins: i2c3 { - brcm,pins = <4 5>; - brcm,function = ; - brcm,pull = ; - }; - - i2c4_pins: i2c4 { - brcm,pins = <8 9>; - brcm,function = ; - brcm,pull = ; - }; - - i2c5_pins: i2c5 { - brcm,pins = <12 13>; - brcm,function = ; - brcm,pull = ; - }; - - i2c6_pins: i2c6 { - brcm,pins = <22 23>; - brcm,function = ; - brcm,pull = ; - }; - - i2s_pins: i2s { - brcm,pins = <18 19 20 21>; - brcm,function = ; - }; - - sdio_pins: sdio_pins { - brcm,pins = <34 35 36 37 38 39>; - brcm,function = ; // alt3 = SD1 - brcm,pull = <0 2 2 2 2 2>; - }; - - bt_pins: bt_pins { - brcm,pins = "-"; // non-empty to keep btuart happy, //4 = 0 - // to fool pinctrl - brcm,function = <0>; - brcm,pull = <2>; - }; - - uart0_pins: uart0_pins { - brcm,pins = <32 33>; - brcm,function = ; - brcm,pull = <0 2>; - }; - - uart1_pins: uart1_pins { - brcm,pins; - brcm,function; - brcm,pull; - }; - - uart2_pins: uart2_pins { - brcm,pins = <0 1>; - brcm,function = ; - brcm,pull = <0 2>; - }; - - uart3_pins: uart3_pins { - brcm,pins = <4 5>; - brcm,function = ; - brcm,pull = <0 2>; - }; - - uart4_pins: uart4_pins { - brcm,pins = <8 9>; - brcm,function = ; - brcm,pull = <0 2>; - }; - - uart5_pins: uart5_pins { - brcm,pins = <12 13>; - brcm,function = ; - brcm,pull = <0 2>; - }; -}; - -&i2c0if { - clock-frequency = <100000>; -}; - -&i2c1 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c1_pins>; - clock-frequency = <100000>; -}; - -&i2s { - pinctrl-names = "default"; - pinctrl-0 = <&i2s_pins>; -}; - -/ { - __overrides__ { - /delete-property/ i2c2_baudrate; - /delete-property/ i2c2_iknowwhatimdoing; - }; -}; - -&firmwarekms { - compatible = "raspberrypi,rpi-firmware-kms-2711"; -}; - -// ============================================= -// Board specific stuff here - -/ { - sd_vcc_reg: sd_vcc_reg { - compatible = "regulator-fixed"; - regulator-name = "vcc-sd"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - enable-active-high; - gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>; - }; -}; - -&sdhost { - status = "disabled"; -}; - -&emmc2 { - vmmc-supply = <&sd_vcc_reg>; - bus-width = <8>; -}; - -&phy1 { - led-modes = <0x00 0x08>; /* link/activity link */ -}; - -&gpio { - audio_pins: audio_pins { - brcm,pins = <>; - brcm,function = <>; - }; -}; - -&leds { - act_led: act { - label = "led0"; - linux,default-trigger = "mmc0"; - gpios = <&gpio 42 GPIO_ACTIVE_HIGH>; - }; - - pwr_led: pwr { - label = "led1"; - linux,default-trigger = "default-on"; - gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; - }; -}; - -&pwm1 { - status = "disabled"; -}; - -&audio { - pinctrl-names = "default"; - pinctrl-0 = <&audio_pins>; - brcm,disable-headphones = <1>; -}; - -&vc4 { - status = "disabled"; -}; - -&pixelvalve0 { - status = "disabled"; -}; - -&pixelvalve1 { - status = "disabled"; -}; - -&pixelvalve2 { - status = "disabled"; -}; - -&pixelvalve3 { - status = "disabled"; -}; - -&pixelvalve4 { - status = "disabled"; -}; - -&hdmi0 { - status = "disabled"; -}; - -&ddc0 { - status = "disabled"; -}; - -&hdmi1 { - status = "disabled"; -}; - -&ddc1 { - status = "disabled"; -}; - -/ { - __overrides__ { - act_led_gpio = <&act_led>,"gpios:4"; - act_led_activelow = <&act_led>,"gpios:8"; - act_led_trigger = <&act_led>,"linux,default-trigger"; - - pwr_led_gpio = <&pwr_led>,"gpios:4"; - pwr_led_activelow = <&pwr_led>,"gpios:8"; - pwr_led_trigger = <&pwr_led>,"linux,default-trigger"; - - eth_led0 = <&phy1>,"led-modes:0"; - eth_led1 = <&phy1>,"led-modes:4"; - - ant1 = <&ant1>,"output-high?=on", - <&ant1>, "output-low?=off", - <&ant2>, "output-high?=off", - <&ant2>, "output-low?=on"; - ant2 = <&ant1>,"output-high?=off", - <&ant1>, "output-low?=on", - <&ant2>, "output-high?=on", - <&ant2>, "output-low?=off"; - noant = <&ant1>,"output-high?=off", - <&ant1>, "output-low?=on", - <&ant2>, "output-high?=off", - <&ant2>, "output-low?=on"; - - sd_poll_once = <&emmc2>, "non-removable?"; - spi_dma4 = <&spi0>, "dmas:0=", <&dma40>, - <&spi0>, "dmas:8=", <&dma40>; - }; -}; \ No newline at end of file diff --git a/root/target/linux/bcm27xx/patches-5.15/950-0785-ARM-dts-Add-bcm2711-rpi-cm4antrouter5g.dts.patch b/root/target/linux/bcm27xx/patches-5.15/950-0785-ARM-dts-Add-bcm2711-rpi-cm4antrouter5g.dts.patch new file mode 100644 index 00000000..9d9a856b --- /dev/null +++ b/root/target/linux/bcm27xx/patches-5.15/950-0785-ARM-dts-Add-bcm2711-rpi-cm4antrouter5g.dts.patch @@ -0,0 +1,316 @@ +--- bcm2711-rpi-cm4.dts 2022-01-04 02:51:16.000000000 +0800 ++++ bcm2711-rpi-cm41.dts 2022-01-04 03:10:34.000000000 +0800 +@@ -6,7 +6,7 @@ + + / { + compatible = "raspberrypi,4-compute-module", "brcm,bcm2711"; +- model = "Raspberry Pi Compute Module 4"; ++ model = "openmptcprouter5G_M4"; + + chosen { + /* 8250 auxiliary UART instead of pl011 */ +@@ -68,18 +68,11 @@ + gpio-line-names = "BT_ON", + "WL_ON", + "PWR_LED_OFF", +- "ANT1", + "VDD_SD_IO_SEL", + "CAM_GPIO", + "SD_PWR_ON", + "ANT2"; + +- ant1: ant1 { +- gpio-hog; +- gpios = <3 GPIO_ACTIVE_HIGH>; +- output-high; +- }; +- + ant2: ant2 { + gpio-hog; + gpios = <7 GPIO_ACTIVE_HIGH>; +@@ -108,23 +101,10 @@ + "SPI_MISO", + "SPI_MOSI", + "SPI_SCLK", +- "GPIO12", +- "GPIO13", + /* Serial port */ + "TXD1", + "RXD1", +- "GPIO16", +- "GPIO17", +- "GPIO18", +- "GPIO19", +- "GPIO20", +- "GPIO21", +- "GPIO22", +- "GPIO23", +- "GPIO24", + "GPIO25", +- "GPIO26", +- "GPIO27", + "RGMII_MDIO", + "RGMIO_MDC", + /* Used by BT module */ +@@ -311,14 +291,9 @@ + mmc2 = &sdhost; + i2c3 = &i2c3; + i2c4 = &i2c4; +- i2c5 = &i2c5; +- i2c6 = &i2c6; + i2c20 = &ddc0; + i2c21 = &ddc1; +- spi3 = &spi3; + spi4 = &spi4; +- spi5 = &spi5; +- spi6 = &spi6; + /delete-property/ intc; + }; + +@@ -341,49 +316,7 @@ + pinctrl-0 = <&uart1_pins>; + }; + +-&spi0 { +- pinctrl-names = "default"; +- pinctrl-0 = <&spi0_pins &spi0_cs_pins>; +- cs-gpios = <&gpio 8 1>, <&gpio 7 1>; +- +- spidev0: spidev@0{ +- compatible = "spidev"; +- reg = <0>; /* CE0 */ +- #address-cells = <1>; +- #size-cells = <0>; +- spi-max-frequency = <125000000>; +- }; +- +- spidev1: spidev@1{ +- compatible = "spidev"; +- reg = <1>; /* CE1 */ +- #address-cells = <1>; +- #size-cells = <0>; +- spi-max-frequency = <125000000>; +- }; +-}; +- + &gpio { +- spi0_pins: spi0_pins { +- brcm,pins = <9 10 11>; +- brcm,function = ; +- }; +- +- spi0_cs_pins: spi0_cs_pins { +- brcm,pins = <8 7>; +- brcm,function = ; +- }; +- +- spi3_pins: spi3_pins { +- brcm,pins = <1 2 3>; +- brcm,function = ; +- }; +- +- spi3_cs_pins: spi3_cs_pins { +- brcm,pins = <0 24>; +- brcm,function = ; +- }; +- + spi4_pins: spi4_pins { + brcm,pins = <5 6 7>; + brcm,function = ; +@@ -394,38 +327,12 @@ + brcm,function = ; + }; + +- spi5_pins: spi5_pins { +- brcm,pins = <13 14 15>; +- brcm,function = ; +- }; +- +- spi5_cs_pins: spi5_cs_pins { +- brcm,pins = <12 26>; +- brcm,function = ; +- }; +- +- spi6_pins: spi6_pins { +- brcm,pins = <19 20 21>; +- brcm,function = ; +- }; +- +- spi6_cs_pins: spi6_cs_pins { +- brcm,pins = <18 27>; +- brcm,function = ; +- }; +- + i2c0_pins: i2c0 { + brcm,pins = <0 1>; + brcm,function = ; + brcm,pull = ; + }; + +- i2c1_pins: i2c1 { +- brcm,pins = <2 3>; +- brcm,function = ; +- brcm,pull = ; +- }; +- + i2c3_pins: i2c3 { + brcm,pins = <4 5>; + brcm,function = ; +@@ -438,23 +345,6 @@ + brcm,pull = ; + }; + +- i2c5_pins: i2c5 { +- brcm,pins = <12 13>; +- brcm,function = ; +- brcm,pull = ; +- }; +- +- i2c6_pins: i2c6 { +- brcm,pins = <22 23>; +- brcm,function = ; +- brcm,pull = ; +- }; +- +- i2s_pins: i2s { +- brcm,pins = <18 19 20 21>; +- brcm,function = ; +- }; +- + sdio_pins: sdio_pins { + brcm,pins = <34 35 36 37 38 39>; + brcm,function = ; // alt3 = SD1 +@@ -498,28 +388,12 @@ + brcm,pull = <0 2>; + }; + +- uart5_pins: uart5_pins { +- brcm,pins = <12 13>; +- brcm,function = ; +- brcm,pull = <0 2>; +- }; + }; + + &i2c0if { + clock-frequency = <100000>; + }; + +-&i2c1 { +- pinctrl-names = "default"; +- pinctrl-0 = <&i2c1_pins>; +- clock-frequency = <100000>; +-}; +- +-&i2s { +- pinctrl-names = "default"; +- pinctrl-0 = <&i2s_pins>; +-}; +- + // ============================================= + // Board specific stuff here + +@@ -554,6 +428,81 @@ + linux,default-trigger = "default-on"; + gpios = <&expgpio 2 GPIO_ACTIVE_LOW>; + }; ++ ++ wlan2g { ++ label = "wlan2g"; ++ gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ wlan5g { ++ label = "wlan5g"; ++ gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ wan { ++ label = "wan"; ++ gpios = <&gpio 27 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5g1 { ++ label = "5g1"; ++ gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5g2 { ++ label = "5g2"; ++ gpios = <&gpio 20 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5g3 { ++ label = "5g3"; ++ gpios = <&gpio 16 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5g4 { ++ label = "5g4"; ++ gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5g5 { ++ label = "5g5"; ++ gpios = <&gpio 10 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5g6 { ++ label = "5g6"; ++ gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5gpwr1 { ++ label = "5gpwr1"; ++ gpios = <&gpio 26 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5gpwr2 { ++ label = "5gpwr2"; ++ gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5gpwr3 { ++ label = "5gpwr3"; ++ gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5gpwr4 { ++ label = "5gpwr4"; ++ gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5gpwr5 { ++ label = "5gpwr5"; ++ gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; ++ }; ++ ++ 5gpwr6 { ++ label = "5gpwr6"; ++ gpios = <&gpio 18 GPIO_ACTIVE_HIGH>; ++ }; + }; + + &pwm1 { +@@ -583,21 +532,6 @@ + eth_led0 = <&phy1>,"led-modes:0"; + eth_led1 = <&phy1>,"led-modes:4"; + +- ant1 = <&ant1>,"output-high?=on", +- <&ant1>, "output-low?=off", +- <&ant2>, "output-high?=off", +- <&ant2>, "output-low?=on"; +- ant2 = <&ant1>,"output-high?=off", +- <&ant1>, "output-low?=on", +- <&ant2>, "output-high?=on", +- <&ant2>, "output-low?=off"; +- noant = <&ant1>,"output-high?=off", +- <&ant1>, "output-low?=on", +- <&ant2>, "output-high?=off", +- <&ant2>, "output-low?=on"; +- + sd_poll_once = <&emmc2>, "non-removable?"; +- spi_dma4 = <&spi0>, "dmas:0=", <&dma40>, +- <&spi0>, "dmas:8=", <&dma40>; + }; + }; +\ No newline at end of file