diff options
author | Andrei Gherzan <andrei@gherzan.ro> | 2019-07-19 16:17:38 +0100 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.ro> | 2019-07-19 16:19:42 +0100 |
commit | 6531d1d0bb23f390066fe7cead2d95ad6ac4db72 (patch) | |
tree | 9ff35e976a9ec5f24f46168cd1931e948822e8fe /recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch | |
parent | 03488c61599ddb8efdecd1a48c211d083ce4ea78 (diff) | |
download | meta-raspberrypi-ag/rpi4-uboot-update.tar.gz |
u-boot: Update patches for RPi4ag/rpi4-uboot-update
After a review in upstream, some of the patches were modified. Most
notable changes:
1. use directly the dtb passed by the firmware and make sure uboot
doesn't tweak memory/reg
2. remove known unimplemented support (usb, eth etc.)
3. drop patches that are not needed anymore with the new firmware update
(for example 0012-bcm283x-mbox-Correctly-wait-for-space-to-send.patch)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Diffstat (limited to 'recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch')
-rw-r--r-- | recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch b/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch new file mode 100644 index 0000000..5b6361f --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch | |||
@@ -0,0 +1,109 @@ | |||
1 | From 066b17eb645d2779a8fb30bd83d48af9ceae871c Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrei Gherzan <andrei@balena.io> | ||
3 | Date: Wed, 17 Jul 2019 15:33:01 +0100 | ||
4 | Subject: [PATCH 3/7] arm: mach-bcm283x: Define configs for RaspberryPi 4 | ||
5 | |||
6 | Define two target configs for Raspberry Pi 4 (32 and 64bit) and the | ||
7 | corresponding BCM2838* configs. | ||
8 | |||
9 | Be aware of the current limitation in firmware which requires an | ||
10 | explicit configuration to force the arm in 64bit mode when the | ||
11 | respective target is used: | ||
12 | https://github.com/raspberrypi/firmware/issues/1193 | ||
13 | |||
14 | Signed-off-by: Andrei Gherzan <andrei@balena.io> | ||
15 | Signed-off-by: Matthias Brugger <mbrugger@suse.com> | ||
16 | Upstream-status: Pending | ||
17 | --- | ||
18 | arch/arm/mach-bcm283x/Kconfig | 62 +++++++++++++++++++++++++++++++++++ | ||
19 | 1 file changed, 62 insertions(+) | ||
20 | |||
21 | diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig | ||
22 | index 8e69914a83..09a5b42bbb 100644 | ||
23 | --- a/arch/arm/mach-bcm283x/Kconfig | ||
24 | +++ b/arch/arm/mach-bcm283x/Kconfig | ||
25 | @@ -26,6 +26,23 @@ config BCM2837_64B | ||
26 | select BCM2837 | ||
27 | select ARM64 | ||
28 | |||
29 | +config BCM2838 | ||
30 | + bool "Broadcom BCM2838 SoC support" | ||
31 | + depends on ARCH_BCM283X | ||
32 | + | ||
33 | +config BCM2838_32B | ||
34 | + bool "Broadcom BCM2838 SoC 32-bit support" | ||
35 | + depends on ARCH_BCM283X | ||
36 | + select BCM2838 | ||
37 | + select ARMV7_LPAE | ||
38 | + select CPU_V7A | ||
39 | + | ||
40 | +config BCM2838_64B | ||
41 | + bool "Broadcom BCM2838 SoC 64-bit support" | ||
42 | + depends on ARCH_BCM283X | ||
43 | + select BCM2838 | ||
44 | + select ARM64 | ||
45 | + | ||
46 | menu "Broadcom BCM283X family" | ||
47 | depends on ARCH_BCM283X | ||
48 | |||
49 | @@ -127,6 +144,50 @@ config TARGET_RPI_3 | ||
50 | This option creates a build targeting the ARMv8/AArch64 ISA. | ||
51 | select BCM2837_64B | ||
52 | |||
53 | +config TARGET_RPI_4_32B | ||
54 | + bool "Raspberry Pi 4 32-bit build" | ||
55 | + help | ||
56 | + Support for all BCM2838-based Raspberry Pi variants, such as | ||
57 | + the RPi 4 model B, in AArch32 (32-bit) mode. | ||
58 | + | ||
59 | + This option assumes the VideoCore firmware is configured to use the | ||
60 | + mini UART (rather than PL011) for the serial console. This is the | ||
61 | + default on the RPi 4. To enable the UART console, the following non- | ||
62 | + default option must be present in config.txt: enable_uart=1. This is | ||
63 | + required for U-Boot to operate correctly, even if you only care | ||
64 | + about the HDMI/usbkbd console. | ||
65 | + | ||
66 | + Due to hardware incompatibilities, this can't be used with | ||
67 | + BCM283/5/6/7. | ||
68 | + | ||
69 | + This option creates a build targeting the ARMv7/AArch32 ISA. | ||
70 | + select BCM2838_32B | ||
71 | + | ||
72 | +config TARGET_RPI_4 | ||
73 | + bool "Raspberry Pi 4 64-bit build" | ||
74 | + help | ||
75 | + Support for all BCM2838-based Raspberry Pi variants, such as | ||
76 | + the RPi 4 model B, in AArch64 (64-bit) mode. | ||
77 | + | ||
78 | + This option assumes the VideoCore firmware is configured to use the | ||
79 | + mini UART (rather than PL011) for the serial console. This is the | ||
80 | + default on the RPi 4. To enable the UART console, the following non- | ||
81 | + default option must be present in config.txt: enable_uart=1. This is | ||
82 | + required for U-Boot to operate correctly, even if you only care | ||
83 | + about the HDMI/usbkbd console. | ||
84 | + | ||
85 | + Due to hardware incompatibilities, this can't be used with | ||
86 | + BCM283/5/6/7. | ||
87 | + | ||
88 | + Also, due to a bug in firmware, switching to 64bit mode doesn't | ||
89 | + happen automatically based on the kernel's image filename. See | ||
90 | + https://github.com/raspberrypi/firmware/issues/1193 for more details. | ||
91 | + Until that is resolved, the configuration (config.txt) needs to | ||
92 | + explicitly set: arm_64bit=1. | ||
93 | + | ||
94 | + This option creates a build targeting the ARMv8/AArch64 ISA. | ||
95 | + select BCM2838_64B | ||
96 | + | ||
97 | endchoice | ||
98 | |||
99 | config SYS_BOARD | ||
100 | @@ -145,5 +206,6 @@ config BCM283x_BASE | ||
101 | hex | ||
102 | default "0x20000000" if BCM2835 | ||
103 | default "0x3f000000" if BCM2836 || BCM2837 | ||
104 | + default "0xfe000000" if BCM2838 | ||
105 | |||
106 | endmenu | ||
107 | -- | ||
108 | 2.22.0 | ||
109 | |||