-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BCM2711 - Upstream Linux 5.4 backport #3244
BCM2711 - Upstream Linux 5.4 backport #3244
Conversation
Just looking at the DT changes from rpi-4.19.y gives the following: #### bcm2708-rpi-b-plus.dts ####
@@ -448 +447,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -454,2 +452,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -457 +454 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -592 +588,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -598,2 +593,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -725 +718,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -778,2 +770,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-b.dts ####
@@ -440 +439,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -446,2 +444,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -449 +446 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -584 +580,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -590,2 +585,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -717 +710,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -770,2 +762,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-cm.dts ####
@@ -439 +438,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -445,2 +443,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -448 +445 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -583 +579,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -589,2 +584,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -721 +714,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -764,2 +756,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-zero-w.dts ####
@@ -461 +460,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -467,2 +465,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -470 +467 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -607 +603,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -613,2 +608,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -743 +736,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -786,2 +778,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-zero.dts ####
@@ -439 +438,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -445,2 +443,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -448 +445 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -583 +579,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -589,2 +584,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -716 +709,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -759,2 +751,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2709-rpi-2-b.dts ####
@@ -482 +481,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -488,2 +486,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -491 +488 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -626 +622,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -632,2 +627,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -759 +752,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -812,2 +804,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-3-b-plus.dts ####
@@ -515 +514,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -521,2 +519,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -524 +521 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -661 +657,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -667,2 +662,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -797 +790,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -867,2 +859,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-3-b.dts ####
@@ -508 +507,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -514,2 +512,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -517 +514 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -654 +650,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -660,2 +655,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -790 +783,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -843,2 +835,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-cm3.dts ####
@@ -477 +476,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -483,2 +481,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -486 +483 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -621 +617,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -627,2 +622,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -759 +752,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -802,2 +794,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2711-rpi-4-b.dts ####
@@ -17 +17 @@ / {
- compatible = "raspberrypi,4-model-b", "brcm,bcm2838";
+ compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
@@ -346 +346 @@ clocks: cprman@7e101000 {
- compatible = "brcm,bcm2838-cprman";
+ compatible = "brcm,bcm2711-cprman";
@@ -358 +358 @@ gpio: gpio@7e200000 {
- compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio";
+ compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio";
@@ -887 +886,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -893,2 +891,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -1107 +1103,0 @@ mmc: sdhci: mmc@7e300000 {
- bus-width = <4>;
@@ -1113,2 +1108,0 @@ mmc: sdhci: mmc@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -1251 +1244,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -1287,2 +1279,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-a-plus.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x10000000>;
+ };
@@ -85,4 +88,0 @@ pwr {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -394,0 +395,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -492 +493,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -496,2 +496,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -615,2 +613,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-a.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x10000000>;
+ };
@@ -79,4 +82,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -388,0 +389,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -486 +487,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -490,2 +490,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -609,2 +607,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-b-plus.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x20000000>;
+ };
@@ -86,4 +89,0 @@ pwr {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -395,0 +396,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -493 +494,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -497,2 +497,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -626,2 +624,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-b-rev2.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x10000000>;
+ };
@@ -80,4 +83,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -389,0 +390,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -487 +488,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -491,2 +491,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -620,2 +618,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-b.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x10000000>;
+ };
@@ -80,4 +83,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -385,0 +386,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -483 +484,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -487,2 +487,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -616,2 +614,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-cm1-io1.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x20000000>;
+ };
@@ -86,4 +89,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -394,0 +395,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -490 +491,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -494,2 +494,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -608,2 +606,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-zero-w.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x20000000>;
+ };
@@ -79,4 +82,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -393,0 +394,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -493 +494,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -500 +500,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-names = "default";
@@ -620,2 +619,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-zero.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x20000000>;
+ };
@@ -79,4 +82,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x10000000>;
- };
@@ -388,0 +389,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -484 +485,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -488,2 +488,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -610,2 +608,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2836-rpi-2-b.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x40000000>;
+ };
@@ -108,4 +111,0 @@ pwr {
- memory {
- device_type = "memory";
- reg = <0 0x40000000>;
- };
@@ -425,0 +426,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -523 +524,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -527,2 +527,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -656,2 +654,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2837-rpi-3-b-plus.dts ####
@@ -18,0 +19,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x40000000>;
+ };
@@ -119,4 +122,0 @@ pwr {
- memory {
- device_type = "memory";
- reg = <0 0x40000000>;
- };
@@ -436,0 +437,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -689,2 +690,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2837-rpi-3-b.dts ####
@@ -17,0 +18,4 @@ / {
+ memory@0 {
+ device_type = "memory";
+ reg = <0 0x40000000>;
+ };
@@ -106,4 +109,0 @@ act {
- memory {
- device_type = "memory";
- reg = <0 0x40000000>;
- };
@@ -423,0 +424,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -664,2 +665,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2838-rpi-4-b.dts ####
@@ -17 +17 @@ / {
- compatible = "raspberrypi,4-model-b", "brcm,bcm2838";
+ compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
@@ -112 +111,0 @@ memory {
- device_type = "memory";
@@ -278 +277 @@ clocks: cprman@7e101000 {
- compatible = "brcm,bcm2838-cprman";
+ compatible = "brcm,bcm2711-cprman";
@@ -289 +288 @@ gpio: gpio@7e200000 {
- compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio";
+ compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio";
@@ -698 +696,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -704,2 +701,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -707 +703 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -721,0 +718,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -1005 +1002,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -1007 +1004 @@ hdmi: hdmi@7e902000 {
- status = "okay";
+ status = "disabled";
@@ -1022,2 +1018,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>; Disabling the sdhost interface in downstream DTs is a bit unfriendly, but would help to mask the effects of reducing the bus-width to 1. |
@@ -67,4 +67,4 @@ | |||
#define BCM2835_CLOCK_DSI0P 49 | |||
#define BCM2835_CLOCK_DSI1P 50 | |||
|
|||
#define BCM2838_CLOCK_EMMC2 51 | |||
#define BCM2711_CLOCK_EMMC2 51 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bcm2838.dtsi needs to be changed accordingly, otherwise it doesn't compile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry about this, should be fixed now
@@ -107,11 +87,6 @@ | |||
power-domains = <&power RPI_POWER_DOMAIN_V3D>; | |||
}; | |||
|
|||
&hdmi { | |||
power-domains = <&power RPI_POWER_DOMAIN_HDMI>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This removes the power-domains property from downstream DTs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now i've added it to bcm2708-rpi.dtsi
@@ -86,19 +79,6 @@ | |||
status = "okay"; | |||
}; | |||
|
|||
&sdhci { | |||
pinctrl-names = "default"; | |||
pinctrl-0 = <&emmc_gpio48>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pinctrl properties are also gone from downstream.
|
||
&sdhost { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&sdhost_gpio48>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And here.
@@ -10,7 +10,8 @@ | |||
compatible = "raspberrypi,2-model-b", "brcm,bcm2836"; | |||
model = "Raspberry Pi 2 Model B"; | |||
|
|||
memory { | |||
memory@0 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need a minor change to the firmware (it's on the list).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, i assumed the memory node handling is independent of the model.
Edit: Should i better revert this on all models, until the firmware can handle this or is only Model 2 affected?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is common to all models, I just chose this instance as an example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dropped the relevant changes in this PR, but they are still present in upstream.
The consequences could be a wrong memory size?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct. Platforms with multiple memory size variants rely on the firmware to correct the size. I have a small patch to the firmware that should handle the change, so if you restore the "memory@0" change I can test it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've pushed two patches to switch all DTS files to "memory@0".
43289c4
to
ca662a7
Compare
I should have mentioned, that the RFC was intended to get feedback about the general approach. I will take care of comments ASAP. |
@pelwell Regarding sdhost changes, do you prefer a (mostly) single place definition for downstream? |
I'm happy to have sdhost declared in bcm2708-rpi.dtsi and disabled in bcm2711-rpi.dtsi. |
782d7dd
to
11202a1
Compare
The comments should be addressed. This PR doesn't contain the driver changes for bcm2835-i2c and bcm2835-pinctrl. Should i add them into this PR or send them later? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's looking much better for downstream:
#### bcm2708-rpi-b-plus.dts ####
@@ -778,2 +777,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-b.dts ####
@@ -770,2 +769,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-cm.dts ####
@@ -764,2 +763,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-zero-w.dts ####
@@ -786,2 +785,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2708-rpi-zero.dts ####
@@ -759,2 +758,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2709-rpi-2-b.dts ####
@@ -812,2 +811,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-2-b.dts ####
@@ -816,2 +815,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-3-b-plus.dts ####
@@ -867,2 +866,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-3-b.dts ####
@@ -843,2 +842,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2710-rpi-cm3.dts ####
@@ -802,2 +801,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2711-rpi-4-b.dts ####
@@ -17 +17 @@ / {
- compatible = "raspberrypi,4-model-b", "brcm,bcm2838";
+ compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
@@ -346 +346 @@ clocks: cprman@7e101000 {
- compatible = "brcm,bcm2838-cprman";
+ compatible = "brcm,bcm2711-cprman";
@@ -358 +358 @@ gpio: gpio@7e200000 {
- compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio";
+ compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio";
@@ -1134 +1134 @@ emmc2: emmc2@7e340000 {
- clocks = <&clocks BCM2838_CLOCK_EMMC2>;
+ clocks = <&clocks BCM2711_CLOCK_EMMC2>;
@@ -1287,2 +1286,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-a-plus.dts ####
@@ -394,0 +395,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -492 +493,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -496,2 +496,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -615,2 +613,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-a.dts ####
@@ -388,0 +389,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -486 +487,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -490,2 +490,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -609,2 +607,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-b-plus.dts ####
@@ -395,0 +396,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -493 +494,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -497,2 +497,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -626,2 +624,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-b-rev2.dts ####
@@ -389,0 +390,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -487 +488,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -491,2 +491,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -620,2 +618,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-b.dts ####
@@ -385,0 +386,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -483 +484,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -487,2 +487,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -616,2 +614,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-cm1-io1.dts ####
@@ -394,0 +395,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -490 +491,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -494,2 +494,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -608,2 +606,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-zero-w.dts ####
@@ -393,0 +394,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -493 +494,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -500 +500,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-names = "default";
@@ -620,2 +619,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2835-rpi-zero.dts ####
@@ -388,0 +389,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -484 +485,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -488,2 +488,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -610,2 +608,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2836-rpi-2-b.dts ####
@@ -425,0 +426,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -523 +524,0 @@ sdhci: sdhci@7e300000 {
- bus-width = <4>;
@@ -527,2 +527,0 @@ sdhci: sdhci@7e300000 {
- pinctrl-0 = <&emmc_gpio48>;
- pinctrl-names = "default";
@@ -656,2 +654,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2837-rpi-3-b-plus.dts ####
@@ -436,0 +437,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -689,2 +690,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2837-rpi-3-b.dts ####
@@ -423,0 +424,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -664,2 +665,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
#### bcm2838-rpi-4-b.dts ####
@@ -17 +17 @@ / {
- compatible = "raspberrypi,4-model-b", "brcm,bcm2838";
+ compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
@@ -278 +278 @@ clocks: cprman@7e101000 {
- compatible = "brcm,bcm2838-cprman";
+ compatible = "brcm,bcm2711-cprman";
@@ -289 +289 @@ gpio: gpio@7e200000 {
- compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio";
+ compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio";
@@ -698 +697,0 @@ sdhost: mmc@7e202000 {
- bus-width = <4>;
@@ -704,2 +702,0 @@ sdhost: mmc@7e202000 {
- pinctrl-0 = <&sdhost_gpio48>;
- pinctrl-names = "default";
@@ -707 +704 @@ sdhost: mmc@7e202000 {
- status = "okay";
+ status = "disabled";
@@ -721,0 +719,2 @@ spi: spi@7e204000 {
+ dma-names = "tx", "rx";
+ dmas = <&dma 6>, <&dma 7>;
@@ -914 +913 @@ emmc2: emmc2@7e340000 {
- clocks = <&clocks BCM2838_CLOCK_EMMC2>;
+ clocks = <&clocks BCM2711_CLOCK_EMMC2>;
@@ -1005 +1003,0 @@ hdmi: hdmi@7e902000 {
- power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
@@ -1007 +1005 @@ hdmi: hdmi@7e902000 {
- status = "okay";
+ status = "disabled";
@@ -1022,2 +1019,0 @@ firmware: firmware {
- #address-cells = <0>;
- #size-cells = <0>;
The upstream files are still missing the bus-width declaration for the SDHCI controller, which may affect performance (the default width is 1). As mentioned in a line comment I'm happy to keep the memory@0
change as long as this commit PR is merged after the firmware change.
11202a1
to
a63ae75
Compare
commit f090e1b upstream. Compiling the bcm283x DTS with W=1 leads to the following warning: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name Fix this by adding the unit address. Signed-off-by: Stefan Wahren <[email protected]> Tested-by: Peter Robinson <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Compiling the bcm27xx DTS with W=1 leads to the following warning: Warning (unit_address_vs_reg): /memory: node has a reg or ranges property, but no unit name Fix this by adding the unit address. Signed-off-by: Stefan Wahren <[email protected]>
Without this, the driver for the BCM2835 SPI controller uses interrupt mode instead of DMA mode, incurring a significant performance penalty. The Foundation's device tree has had these attributes for years, but for some reason they were never upstreamed. They were originally contributed by Noralf Trønnes and Martin Sperl: raspberrypi@25f3e064afc8 raspberrypi@e0edb52b47e6 The DREQ numbers 6 and 7 are documented in section 4.2.1.3 of: https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf Tested-by: Nicolas Saenz Julienne <[email protected]> Signed-off-by: Lukas Wunner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Martin Sperl <[email protected]> Signed-off-by: Stefan Wahren <[email protected]> Cc: Martin Sperl <[email protected]> Cc: Noralf Trønnes <[email protected]>
Compiling the bcm2835-rpi.dtsi with W=1 leads to the following warning: Warning (avoid_unnecessary_addr_size): /soc/firmware: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property Fix this by removing these unnecessary properties. Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
In order to keep downstream definition of the MMC interfaces separate and independent from upstream changes, add them to bcm2708-rpi.dtsi. Signed-off-by: Stefan Wahren <[email protected]>
commit e777404 upstream. Starting with RPi 4 this is the first board, which doesn't use sdhost as default SD interface. So the MMC interfaces should be defined finally at board level. Since all boards using sdhci already does this, we can drop the pinctrl part from bcm2835-rpi.dtsi. Signed-off-by: Stefan Wahren <[email protected]> Acked-by: Eric Anholt <[email protected]>
The commit e777404 ("ARM: dts: bcm283x: Define MMC interfaces at board level") accidently dropped the bus width for the sdhci on the RPi Zero W, because the board file was relying on the defaults from bcm2835-rpi.dtsi. So fix this performance regression by adding the bus width to the board file. Fixes: e777404 ("ARM: dts: bcm283x: Define MMC interfaces at board level") Reported-by: Phil Elwell <[email protected]> Signed-off-by: Stefan Wahren <[email protected]>
In order to keep downstream definition of the HDMI power domain separate and independent from upstream changes, add them to bcm2708-rpi.dtsi. Signed-off-by: Stefan Wahren <[email protected]>
commit 60c833d upstream. There might be headless setups of the Compute Module without HDMI, so better enable HDMI at board level. Btw this allows moving HDMI base definition into upcoming bcm2835-common.dtsi. Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
This reverts commit 1ac954a to apply the much better upstream solution afterwards. Signed-off-by: Stefan Wahren <[email protected]>
commit ee0a5a9 upstream. In order to support SoC specific clocks (e.g. emmc2 for BCM2711), we extend the description with a SoC support flag. This approach avoids long and mostly redundant lists of clock IDs. Since PLLH is specific to BCM2835, we register only rest of the clocks as common to all SoC. Suggested-by: Florian Fainelli <[email protected]> Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
commit 42de9ad upstream. The new BCM2711 supports an additional clock for the emmc2 block. So add a new compatible and register this clock only for BCM2711. Signed-off-by: Stefan Wahren <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Acked-by: Eric Anholt <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
After the decision to use bcm2711 compatible for upstream, we should switch all accepted compatibles to bcm2711. So we can boot with one DTB the down- and the upstream kernel. Signed-off-by: Stefan Wahren <[email protected]>
a63ae75
to
61436cd
Compare
From my understand only the RPi Zero W is affected by the bus-width regression, all the other Wifi boards already have the bus-width defined. The rest of the upstream boards don't use the sdhci at all. The upstream fix has been send out and is also part of this pull request. Please don't merge this pull request yet, i need some time for testing. |
Fair enough - the impact looked wider than that, but as you say the other devices aren't making use of SD1.
I shan't. I'm at least waiting for the memory@0 support to reach the firmware (there's a pending merge request) and for you to remove the RFC: label. |
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
Source: kernel.org MR: 103889 Type: Enhancement Disposition: Merged from https://github.com/raspberrypi/linux.git rpi-5.4.y ChangeID: cfdedc6a080a1bf76b24db170756e919a4928ae7 Description: The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: raspberrypi/linux#3244 Signed-off-by: Phil Elwell <[email protected]> Signed-off-by: Corey Minyard <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
The recent series switching to bcm2711 as the DT identifier broke Pis running with old DTBs. Add some bcm2838 compatible strings as a temporary measure, at least until the next full Raspbian image with bcm2711 DTBs. See: #3244 Signed-off-by: Phil Elwell <[email protected]>
This and possibly some more pull requests tries to reduce the delta between downstream and current upstream development. The final goal would be a DTS which is in Mainline Linux and works for down- and upstream kernel. In a upstream discussion it was decided to use BCM2711 as the SoC compatible, which require now some adjustments.
This first PR contains all the cleanup patches until Linux 5.3 (keep conflicts low) and all critical BCM2711 changes from the upcoming Linux 5.4.
Disclaimer: This PR is only compile tested yet. I provide this to discuss.