mirror of
git://git.yoctoproject.org/meta-raspberrypi.git
synced 2025-07-19 12:59:03 +02:00
u-boot: drop patches for RPi4 merged upstream.
Signed-off-by: Patrick Vacek <patrickvacek@gmail.com>
This commit is contained in:
parent
cee2557dc8
commit
4776ecc532
|
@ -1,104 +0,0 @@
|
|||
From 5bf85d04b440ce874310e701abded823dc1864bc Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Wed, 17 Jul 2019 15:32:11 +0100
|
||||
Subject: [PATCH 1/7] configs: rpi4: Add defconfigs for rpi4 (32/64)
|
||||
|
||||
This defines a minimum defconfig for each of the two Raspberry Pi 4
|
||||
variants. One notable difference is that we don't have a embedded dt for
|
||||
this board given that the fw supplies us with one which we can reuse.
|
||||
Furthermore, the ram size is not queryable through mbox interface as the
|
||||
maximum reported size is 1G. The fw patches the dt with the right
|
||||
memory configuration and uboot uses it as it is. We avoid u-boot
|
||||
touching this configuration by making sure CONFIG_ARCH_FIXUP_FDT_MEMORY
|
||||
is deactivated.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
configs/rpi_4_32b_defconfig | 33 +++++++++++++++++++++++++++++++++
|
||||
configs/rpi_4_defconfig | 33 +++++++++++++++++++++++++++++++++
|
||||
2 files changed, 66 insertions(+)
|
||||
create mode 100644 configs/rpi_4_32b_defconfig
|
||||
create mode 100644 configs/rpi_4_defconfig
|
||||
|
||||
diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..a31a617a5f
|
||||
--- /dev/null
|
||||
+++ b/configs/rpi_4_32b_defconfig
|
||||
@@ -0,0 +1,33 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_BCM283X=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00008000
|
||||
+CONFIG_TARGET_RPI_4_32B=y
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
+CONFIG_DISTRO_DEFAULTS=y
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
|
||||
+CONFIG_OF_BOARD=y
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
+CONFIG_SYS_PROMPT="U-Boot> "
|
||||
+# CONFIG_CMD_FLASH is not set
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_FS_UUID=y
|
||||
+CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_BCM2835=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+# CONFIG_PINCTRL_GENERIC is not set
|
||||
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
+CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
+CONFIG_PHYS_TO_BUS=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..da8c960a2a
|
||||
--- /dev/null
|
||||
+++ b/configs/rpi_4_defconfig
|
||||
@@ -0,0 +1,33 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_ARCH_BCM283X=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00080000
|
||||
+CONFIG_TARGET_RPI_4=y
|
||||
+CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
+CONFIG_DISTRO_DEFAULTS=y
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
|
||||
+CONFIG_OF_BOARD=y
|
||||
+CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_DISPLAY_CPUINFO is not set
|
||||
+# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
+CONFIG_SYS_PROMPT="U-Boot> "
|
||||
+# CONFIG_CMD_FLASH is not set
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_FS_UUID=y
|
||||
+CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_MMC=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_BCM2835=y
|
||||
+CONFIG_PINCTRL=y
|
||||
+# CONFIG_PINCTRL_GENERIC is not set
|
||||
+# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
+CONFIG_CONSOLE_SCROLL_LINES=10
|
||||
+CONFIG_PHYS_TO_BUS=y
|
||||
+CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
From df2aa4c6be33b468adc09de337a055556d1f37fb Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Brugger <mbrugger@suse.com>
|
||||
Date: Fri, 12 Jul 2019 18:20:53 +0200
|
||||
Subject: [PATCH 2/7] ARM: bcm283x: Add BCM283x_BASE define
|
||||
|
||||
Devices of bcm283x have different base address, depending if they are on
|
||||
bcm2835 or bcm2836/7. Use BCM283x_BASE depending on the SoC you want to
|
||||
build and only add the offset in the header files.
|
||||
|
||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
arch/arm/mach-bcm283x/Kconfig | 5 +++++
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 6 +-----
|
||||
arch/arm/mach-bcm283x/include/mach/sdhci.h | 6 +-----
|
||||
arch/arm/mach-bcm283x/include/mach/timer.h | 6 +-----
|
||||
arch/arm/mach-bcm283x/include/mach/wdog.h | 6 +-----
|
||||
5 files changed, 9 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
|
||||
index 3eb5a9a897..8e69914a83 100644
|
||||
--- a/arch/arm/mach-bcm283x/Kconfig
|
||||
+++ b/arch/arm/mach-bcm283x/Kconfig
|
||||
@@ -141,4 +141,9 @@ config SYS_SOC
|
||||
config SYS_CONFIG_NAME
|
||||
default "rpi"
|
||||
|
||||
+config BCM283x_BASE
|
||||
+ hex
|
||||
+ default "0x20000000" if BCM2835
|
||||
+ default "0x3f000000" if BCM2836 || BCM2837
|
||||
+
|
||||
endmenu
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index e3a893e49c..e44c7577da 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -37,11 +37,7 @@
|
||||
|
||||
/* Raw mailbox HW */
|
||||
|
||||
-#ifndef CONFIG_BCM2835
|
||||
-#define BCM2835_MBOX_PHYSADDR 0x3f00b880
|
||||
-#else
|
||||
-#define BCM2835_MBOX_PHYSADDR 0x2000b880
|
||||
-#endif
|
||||
+#define BCM2835_MBOX_PHYSADDR (CONFIG_BCM283x_BASE + 0x0000b880)
|
||||
|
||||
struct bcm2835_mbox_regs {
|
||||
u32 read;
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
||||
index 5cb6ec3340..b443c379d8 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h
|
||||
@@ -6,11 +6,7 @@
|
||||
#ifndef _BCM2835_SDHCI_H_
|
||||
#define _BCM2835_SDHCI_H_
|
||||
|
||||
-#ifndef CONFIG_BCM2835
|
||||
-#define BCM2835_SDHCI_BASE 0x3f300000
|
||||
-#else
|
||||
-#define BCM2835_SDHCI_BASE 0x20300000
|
||||
-#endif
|
||||
+#define BCM2835_SDHCI_BASE (CONFIG_BCM283x_BASE + 0x00300000)
|
||||
|
||||
int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq);
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h
|
||||
index 56b0c356bb..014355e759 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/timer.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/timer.h
|
||||
@@ -6,11 +6,7 @@
|
||||
#ifndef _BCM2835_TIMER_H
|
||||
#define _BCM2835_TIMER_H
|
||||
|
||||
-#ifndef CONFIG_BCM2835
|
||||
-#define BCM2835_TIMER_PHYSADDR 0x3f003000
|
||||
-#else
|
||||
-#define BCM2835_TIMER_PHYSADDR 0x20003000
|
||||
-#endif
|
||||
+#define BCM2835_TIMER_PHYSADDR (CONFIG_BCM283x_BASE + 0x00003000)
|
||||
|
||||
#define BCM2835_TIMER_CS_M3 (1 << 3)
|
||||
#define BCM2835_TIMER_CS_M2 (1 << 2)
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h
|
||||
index 99c88e5df7..00b5e06c3a 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
|
||||
@@ -6,11 +6,7 @@
|
||||
#ifndef _BCM2835_WDOG_H
|
||||
#define _BCM2835_WDOG_H
|
||||
|
||||
-#ifndef CONFIG_BCM2835
|
||||
-#define BCM2835_WDOG_PHYSADDR 0x3f100000
|
||||
-#else
|
||||
-#define BCM2835_WDOG_PHYSADDR 0x20100000
|
||||
-#endif
|
||||
+#define BCM2835_WDOG_PHYSADDR (CONFIG_BCM283x_BASE + 0x00100000)
|
||||
|
||||
struct bcm2835_wdog_regs {
|
||||
u32 unknown0[7];
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
From c03f551cab8fe38de8f0e1781f0e2e339419b003 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Wed, 17 Jul 2019 15:33:01 +0100
|
||||
Subject: [PATCH 3/7] arm: mach-bcm283x: Define configs for RaspberryPi 4
|
||||
|
||||
Define two target configs for Raspberry Pi 4 (32 and 64bit) and the
|
||||
corresponding BCM2838* configs.
|
||||
|
||||
Be aware of the current limitation in firmware which requires an
|
||||
explicit configuration to force the arm in 64bit mode when the
|
||||
respective target is used.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
arch/arm/mach-bcm283x/Kconfig | 62 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 62 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
|
||||
index 8e69914a83..09a5b42bbb 100644
|
||||
--- a/arch/arm/mach-bcm283x/Kconfig
|
||||
+++ b/arch/arm/mach-bcm283x/Kconfig
|
||||
@@ -26,6 +26,23 @@ config BCM2837_64B
|
||||
select BCM2837
|
||||
select ARM64
|
||||
|
||||
+config BCM2838
|
||||
+ bool "Broadcom BCM2838 SoC support"
|
||||
+ depends on ARCH_BCM283X
|
||||
+
|
||||
+config BCM2838_32B
|
||||
+ bool "Broadcom BCM2838 SoC 32-bit support"
|
||||
+ depends on ARCH_BCM283X
|
||||
+ select BCM2838
|
||||
+ select ARMV7_LPAE
|
||||
+ select CPU_V7A
|
||||
+
|
||||
+config BCM2838_64B
|
||||
+ bool "Broadcom BCM2838 SoC 64-bit support"
|
||||
+ depends on ARCH_BCM283X
|
||||
+ select BCM2838
|
||||
+ select ARM64
|
||||
+
|
||||
menu "Broadcom BCM283X family"
|
||||
depends on ARCH_BCM283X
|
||||
|
||||
@@ -127,6 +144,50 @@ config TARGET_RPI_3
|
||||
This option creates a build targeting the ARMv8/AArch64 ISA.
|
||||
select BCM2837_64B
|
||||
|
||||
+config TARGET_RPI_4_32B
|
||||
+ bool "Raspberry Pi 4 32-bit build"
|
||||
+ help
|
||||
+ Support for all BCM2838-based Raspberry Pi variants, such as
|
||||
+ the RPi 4 model B, in AArch32 (32-bit) mode.
|
||||
+
|
||||
+ This option assumes the VideoCore firmware is configured to use the
|
||||
+ mini UART (rather than PL011) for the serial console. This is the
|
||||
+ default on the RPi 4. To enable the UART console, the following non-
|
||||
+ default option must be present in config.txt: enable_uart=1. This is
|
||||
+ required for U-Boot to operate correctly, even if you only care
|
||||
+ about the HDMI/usbkbd console.
|
||||
+
|
||||
+ Due to hardware incompatibilities, this can't be used with
|
||||
+ BCM283/5/6/7.
|
||||
+
|
||||
+ This option creates a build targeting the ARMv7/AArch32 ISA.
|
||||
+ select BCM2838_32B
|
||||
+
|
||||
+config TARGET_RPI_4
|
||||
+ bool "Raspberry Pi 4 64-bit build"
|
||||
+ help
|
||||
+ Support for all BCM2838-based Raspberry Pi variants, such as
|
||||
+ the RPi 4 model B, in AArch64 (64-bit) mode.
|
||||
+
|
||||
+ This option assumes the VideoCore firmware is configured to use the
|
||||
+ mini UART (rather than PL011) for the serial console. This is the
|
||||
+ default on the RPi 4. To enable the UART console, the following non-
|
||||
+ default option must be present in config.txt: enable_uart=1. This is
|
||||
+ required for U-Boot to operate correctly, even if you only care
|
||||
+ about the HDMI/usbkbd console.
|
||||
+
|
||||
+ Due to hardware incompatibilities, this can't be used with
|
||||
+ BCM283/5/6/7.
|
||||
+
|
||||
+ Also, due to a bug in firmware, switching to 64bit mode doesn't
|
||||
+ happen automatically based on the kernel's image filename. See
|
||||
+ https://github.com/raspberrypi/firmware/issues/1193 for more details.
|
||||
+ Until that is resolved, the configuration (config.txt) needs to
|
||||
+ explicitly set: arm_64bit=1.
|
||||
+
|
||||
+ This option creates a build targeting the ARMv8/AArch64 ISA.
|
||||
+ select BCM2838_64B
|
||||
+
|
||||
endchoice
|
||||
|
||||
config SYS_BOARD
|
||||
@@ -145,5 +206,6 @@ config BCM283x_BASE
|
||||
hex
|
||||
default "0x20000000" if BCM2835
|
||||
default "0x3f000000" if BCM2836 || BCM2837
|
||||
+ default "0xfe000000" if BCM2838
|
||||
|
||||
endmenu
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From 12fbbd5bc12e225b19d3b4cb193a1bf3d9fa752a Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Wed, 17 Jul 2019 15:34:18 +0100
|
||||
Subject: [PATCH 4/7] rpi: Add entry for Raspberry Pi 4 model B
|
||||
|
||||
The Raspebrry Pi 4 uses the new revision code scheme as documented by
|
||||
the foundation. This change adds an entry for this board as well.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 617c892dde..92c6534da6 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -148,6 +148,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
|
||||
DTB_DIR "bcm2837-rpi-cm3.dtb",
|
||||
false,
|
||||
},
|
||||
+ [0x11] = {
|
||||
+ "4 Model B",
|
||||
+ DTB_DIR "bcm2838-rpi-4-b.dtb",
|
||||
+ true,
|
||||
+ },
|
||||
};
|
||||
|
||||
static const struct rpi_model rpi_models_old_scheme[] = {
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
From fd99a249e6faf234066a6b5da2ed34aaead3d6d9 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 11:26:10 +0100
|
||||
Subject: [PATCH 5/7] arm: bcm283x: Include definition for additional emmc
|
||||
clock
|
||||
|
||||
This clock has a different mbox ID so have this included in the relevant
|
||||
header file.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index e44c7577da..f2a98acddd 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -230,6 +230,7 @@ struct bcm2835_mbox_tag_set_power_state {
|
||||
#define BCM2835_MBOX_CLOCK_ID_SDRAM 8
|
||||
#define BCM2835_MBOX_CLOCK_ID_PIXEL 9
|
||||
#define BCM2835_MBOX_CLOCK_ID_PWM 10
|
||||
+#define BCM2835_MBOX_CLOCK_ID_EMMC2 12
|
||||
|
||||
struct bcm2835_mbox_tag_get_clock_rate {
|
||||
struct bcm2835_mbox_tag_hdr tag_hdr;
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From 1f42758fe69648340cfae6cae98e667b88923cf6 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Brugger <mbrugger@suse.com>
|
||||
Date: Wed, 10 Jul 2019 13:24:36 +0200
|
||||
Subject: [PATCH 6/7] mmc: bcm2835_sdhci: Add support for bcm2711 device
|
||||
|
||||
The bcm2711 has two emmc controller. The difference is the clocks
|
||||
they use. Add support for the second emmc contoller.
|
||||
|
||||
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
drivers/mmc/bcm2835_sdhci.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c
|
||||
index 08bddd410e..e68dec3be7 100644
|
||||
--- a/drivers/mmc/bcm2835_sdhci.c
|
||||
+++ b/drivers/mmc/bcm2835_sdhci.c
|
||||
@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
||||
fdt_addr_t base;
|
||||
int emmc_freq;
|
||||
int ret;
|
||||
+ int clock_id = (int)dev_get_driver_data(dev);
|
||||
|
||||
base = devfdt_get_addr(dev);
|
||||
if (base == FDT_ADDR_T_NONE)
|
||||
return -EINVAL;
|
||||
|
||||
- ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
|
||||
+ ret = bcm2835_get_mmc_clock(clock_id);
|
||||
if (ret < 0) {
|
||||
debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
|
||||
return ret;
|
||||
@@ -228,7 +229,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
|
||||
}
|
||||
|
||||
static const struct udevice_id bcm2835_sdhci_match[] = {
|
||||
- { .compatible = "brcm,bcm2835-sdhci" },
|
||||
+ {
|
||||
+ .compatible = "brcm,bcm2835-sdhci",
|
||||
+ .data = BCM2835_MBOX_CLOCK_ID_EMMC
|
||||
+ },
|
||||
+ {
|
||||
+ .compatible = "brcm,bcm2711-emmc2",
|
||||
+ .data = BCM2835_MBOX_CLOCK_ID_EMMC2
|
||||
+ },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
From 76b656349a6786fa81cf69ac7762c31675cd567e Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei@balena.io>
|
||||
Date: Fri, 12 Jul 2019 14:27:31 +0100
|
||||
Subject: [PATCH 7/7] rpi: Add memory map for bcm2838
|
||||
|
||||
Define the memory map for the BCM2838 based on the dt configuration
|
||||
available in the Raspberry Pi kernel fork.
|
||||
|
||||
Signed-off-by: Andrei Gherzan <andrei@balena.io>
|
||||
Upstream-status: Pending
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 27 ++++++++++++++++++++++++---
|
||||
1 file changed, 24 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 92c6534da6..bddf2a578d 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -249,7 +249,8 @@ static uint32_t rev_type;
|
||||
static const struct rpi_model *model;
|
||||
|
||||
#ifdef CONFIG_ARM64
|
||||
-static struct mm_region bcm2837_mem_map[] = {
|
||||
+#ifndef CONFIG_BCM2838
|
||||
+static struct mm_region bcm283x_mem_map[] = {
|
||||
{
|
||||
.virt = 0x00000000UL,
|
||||
.phys = 0x00000000UL,
|
||||
@@ -268,8 +269,28 @@ static struct mm_region bcm2837_mem_map[] = {
|
||||
0,
|
||||
}
|
||||
};
|
||||
-
|
||||
-struct mm_region *mem_map = bcm2837_mem_map;
|
||||
+#else
|
||||
+static struct mm_region bcm283x_mem_map[] = {
|
||||
+ {
|
||||
+ .virt = 0x00000000UL,
|
||||
+ .phys = 0x00000000UL,
|
||||
+ .size = 0xfe000000UL,
|
||||
+ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
+ PTE_BLOCK_INNER_SHARE
|
||||
+ }, {
|
||||
+ .virt = 0xfe000000UL,
|
||||
+ .phys = 0xfe000000UL,
|
||||
+ .size = 0x01800000UL,
|
||||
+ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
+ PTE_BLOCK_NON_SHARE |
|
||||
+ PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
+ }, {
|
||||
+ /* List terminator */
|
||||
+ 0,
|
||||
+ }
|
||||
+};
|
||||
+#endif
|
||||
+struct mm_region *mem_map = bcm283x_mem_map;
|
||||
#endif
|
||||
|
||||
int dram_init(void)
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
# Apply the same patches for rpi4 as u-boot recipe
|
||||
require u-boot-rpi4-${PV}.inc
|
|
@ -1,12 +0,0 @@
|
|||
FILESEXTRAPATHS_prepend_raspberrypi4 := "${THISDIR}/u-boot-2019.07:"
|
||||
UBOOT_RPI4_SUPPORT_PATCHES = " \
|
||||
file://0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch \
|
||||
file://0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch \
|
||||
file://0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch \
|
||||
file://0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch \
|
||||
file://0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch \
|
||||
file://0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch \
|
||||
file://0007-rpi-Add-memory-map-for-bcm2838.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_raspberrypi4 = "${UBOOT_RPI4_SUPPORT_PATCHES}"
|
|
@ -1,2 +0,0 @@
|
|||
# Apply the same patches for rpi4 as u-boot recipe
|
||||
require u-boot-rpi4-${PV}.inc
|
Loading…
Reference in New Issue
Block a user