Skip to content
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

Merged
merged 19 commits into from
Sep 30, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
199a64f
ARM: dts: bcm283x: Fix DTC warning for memory node
lategoodbye Sep 23, 2019
1a69d58
ARM: dts: bcm27xx: Fix DTC warning for memory node
lategoodbye Sep 23, 2019
3cbf818
ARM: bcm283x: Enable DMA support for SPI controller
l1k May 9, 2019
e1a0c15
ARM: dts: bcm2835-rpi: Drop unnecessary #address-cells/#size-cells
lategoodbye Dec 30, 2018
0a1eea3
ARM: dts: bcm2708-rpi: Define the downstream MMC interfaces at one place
lategoodbye Sep 21, 2019
fd2aea4
ARM: dts: bcm283x: Define MMC interfaces at board level
lategoodbye Sep 17, 2019
8efc6a5
ARM: dts: bcm2835-rpi-zero-w: Fix bus-width of sdhci
lategoodbye Sep 23, 2019
720b515
ARM: dts: bcm2708-rpi: Define the downstream HDMI power at one place
lategoodbye Sep 21, 2019
79df396
ARM: dts: bcm283x: Enable HDMI at board level
lategoodbye Sep 17, 2019
bdd045e
Revert "HACK: clk-bcm2835: Add BCM2838_CLOCK_EMMC2 support"
lategoodbye Sep 20, 2019
2042f10
clk: bcm2835: Introduce SoC specific clock registration
lategoodbye Sep 19, 2019
0405797
clk: bcm2835: Add BCM2711_CLOCK_EMMC2 support
lategoodbye Sep 20, 2019
61436cd
ARM: bcm: Switch board, clk and pinctrl to bcm2711 compatible
lategoodbye Sep 19, 2019
cc2b3b7
Revert "pinctrl-bcm2835: Add support for BCM2838"
lategoodbye Sep 24, 2019
cba4feb
pinctrl: bcm2835: Use define directive for BCM2835_PINCONF_PARAM_PULL
nathanchance Nov 1, 2018
1b49c53
pinctrl: bcm2835: Switch to SPDX identifier
lategoodbye Nov 10, 2018
bf0f37f
pinctrl: bcm2835: declare pin config as generic
lategoodbye Feb 3, 2019
cefc1de
pinctrl: bcm2835: Direct GPIO config changes to generic pinctrl
lategoodbye Feb 3, 2019
077bf9c
pinctrl: bcm2835: Add support for BCM2711 pull-up functionality
lategoodbye Jul 21, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion arch/arm/boot/dts/bcm2708-rpi.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#include "bcm2835-rpi.dtsi"

/ {
memory {
memory@0 {
device_type = "memory";
reg = <0x0 0x0>;
};
Expand Down Expand Up @@ -102,6 +102,7 @@
};

&hdmi {
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "disabled";
};

Expand All @@ -125,13 +126,23 @@
firmware = <&firmware>;
};

&sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio48>;
bus-width = <4>;
};

sdhost_pins: &sdhost_gpio48 {
/* Add alias */
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
brcm,overclock-50 = <0>;
brcm,pio-limit = <1>;
status = "okay";
};

&cpu_thermal {
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/boot/dts/bcm2711-rpi-4-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
#include "bcm283x-rpi-csi1-2lane.dtsi"

/ {
compatible = "raspberrypi,4-model-b", "brcm,bcm2838";
compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
model = "Raspberry Pi 4 Model B";

memory {
memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x0>;
};
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand All @@ -108,6 +110,13 @@
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-a.dts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand All @@ -103,6 +105,13 @@
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand All @@ -110,6 +112,13 @@
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand All @@ -103,6 +105,13 @@
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_HIGH>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand All @@ -98,6 +100,13 @@
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,15 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
Expand Down
10 changes: 10 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,15 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&sdhci {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&emmc_gpio34 &gpclk2_gpio43>;
bus-width = <4>;
mmc-pwrseq = <&wifi_pwrseq>;
non-removable;
status = "okay";
Expand All @@ -129,6 +132,13 @@
};
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-zero.dts
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,15 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
Expand Down
22 changes: 1 addition & 21 deletions arch/arm/boot/dts/bcm2835-rpi.dtsi
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include <dt-bindings/power/raspberrypi-power.h>

/ {
memory {
memory@0 {
device_type = "memory";
reg = <0 0x10000000>;
};
Expand All @@ -19,8 +19,6 @@
soc {
firmware: firmware {
compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
#address-cells = <0>;
#size-cells = <0>;
mboxes = <&mailbox>;
};

Expand Down Expand Up @@ -86,19 +84,6 @@
status = "okay";
};

&sdhci {
pinctrl-names = "default";
pinctrl-0 = <&emmc_gpio48>;
Copy link
Contributor

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.

bus-width = <4>;
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And here.

status = "okay";
bus-width = <4>;
};

&usb {
power-domains = <&power RPI_POWER_DOMAIN_USB>;
};
Expand All @@ -107,11 +92,6 @@
power-domains = <&power RPI_POWER_DOMAIN_V3D>;
};

&hdmi {
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
Copy link
Contributor

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.

Copy link
Contributor Author

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

status = "okay";
};

&vec {
power-domains = <&power RPI_POWER_DOMAIN_VEC>;
status = "okay";
Expand Down
11 changes: 10 additions & 1 deletion arch/arm/boot/dts/bcm2836-rpi-2-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
model = "Raspberry Pi 2 Model B";

memory {
memory@0 {
Copy link
Contributor

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).

Copy link
Contributor Author

@lategoodbye lategoodbye Sep 20, 2019

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?

Copy link
Contributor

@pelwell pelwell Sep 20, 2019

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.

Copy link
Contributor Author

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?

Copy link
Contributor

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.

Copy link
Contributor Author

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".

reg = <0 0x40000000>;
};

Expand Down Expand Up @@ -40,6 +40,8 @@

&hdmi {
hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand All @@ -48,6 +50,13 @@
status = "okay";
};

&sdhost {
pinctrl-names = "default";
pinctrl-0 = <&sdhost_gpio48>;
bus-width = <4>;
status = "okay";
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio14>;
Expand Down
4 changes: 3 additions & 1 deletion arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
stdout-path = "serial1:115200n8";
};

memory {
memory@0 {
reg = <0 0x40000000>;
};

Expand Down Expand Up @@ -54,6 +54,8 @@

&hdmi {
hpd-gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

&pwm {
Expand Down
4 changes: 3 additions & 1 deletion arch/arm/boot/dts/bcm2837-rpi-3-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
stdout-path = "serial1:115200n8";
};

memory {
memory@0 {
reg = <0 0x40000000>;
};

Expand Down Expand Up @@ -56,6 +56,8 @@

&hdmi {
hpd-gpios = <&expgpio 4 GPIO_ACTIVE_LOW>;
power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
status = "okay";
};

/* uart0 communicates with the BT module */
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/boot/dts/bcm2838-rpi-4-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
#include "bcm2838-rpi.dtsi"

/ {
compatible = "raspberrypi,4-model-b", "brcm,bcm2838";
compatible = "raspberrypi,4-model-b", "brcm,bcm2711";
model = "Raspberry Pi 4 Model B";

chosen {
/* 8250 auxiliary UART instead of pl011 */
stdout-path = "serial1:115200n8";
};

memory {
memory@0 {
reg = <0 0 0x40000000>;
};

Expand Down
6 changes: 3 additions & 3 deletions arch/arm/boot/dts/bcm2838.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@
compatible = "brcm,bcm2711-emmc2";
status = "okay";
interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2838_CLOCK_EMMC2>;
clocks = <&clocks BCM2711_CLOCK_EMMC2>;
reg = <0x7e340000 0x100>;
};

Expand Down Expand Up @@ -440,7 +440,7 @@
};

&clocks {
compatible = "brcm,bcm2838-cprman";
compatible = "brcm,bcm2711-cprman";
};

&cpu_thermal {
Expand All @@ -456,7 +456,7 @@
};

&gpio {
compatible = "brcm,bcm2838-gpio", "brcm,bcm2835-gpio";
compatible = "brcm,bcm2711-gpio", "brcm,bcm2835-gpio";

gpclk0_gpio49: gpclk0_gpio49 {
brcm,pins = <49>;
Expand Down
Loading