diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 18:04:33 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-02-18 23:42:32 +0100 |
commit | f07e572f6447465d8938679533d604e402b0f066 (patch) | |
tree | cb333bd2a67e59e7c07659514850a0fd55fc825e /target/linux/bcm27xx/patches-5.4/950-0203-arm-bcm2835-Fix-FIQ-early-ioremap.patch | |
parent | 5d3a6fd970619dfc55f8259035c3027d7613a2a6 (diff) | |
download | upstream-f07e572f6447465d8938679533d604e402b0f066.tar.gz upstream-f07e572f6447465d8938679533d604e402b0f066.tar.bz2 upstream-f07e572f6447465d8938679533d604e402b0f066.zip |
bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0203-arm-bcm2835-Fix-FIQ-early-ioremap.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0203-arm-bcm2835-Fix-FIQ-early-ioremap.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0203-arm-bcm2835-Fix-FIQ-early-ioremap.patch b/target/linux/bcm27xx/patches-5.4/950-0203-arm-bcm2835-Fix-FIQ-early-ioremap.patch deleted file mode 100644 index 1521476de1..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0203-arm-bcm2835-Fix-FIQ-early-ioremap.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 9b9474236597f87247fcf93147598e50f7f02b9e Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Wed, 20 Feb 2019 08:49:39 +0000 -Subject: [PATCH] arm: bcm2835: Fix FIQ early ioremap - -The ioremapping creates mappings within the vmalloc area. The -equivalent early function, create_mapping, now checks that the -requested explicit virtual address is between VMALLOC_START and -VMALLOC_END. As there is no reason to have any correlation between -the physical and virtual addresses, put the required mappings at -VMALLOC_START and above. - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - arch/arm/mach-bcm/board_bcm2835.c | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) - ---- a/arch/arm/mach-bcm/board_bcm2835.c -+++ b/arch/arm/mach-bcm/board_bcm2835.c -@@ -5,17 +5,20 @@ - - #include <linux/init.h> - #include <linux/irqchip.h> -+#include <linux/mm.h> - #include <linux/of_address.h> - #include <linux/of_fdt.h> - #include <asm/system_info.h> - - #include <asm/mach/arch.h> - #include <asm/mach/map.h> -+#include <asm/memory.h> -+#include <asm/pgtable.h> - - #include "platsmp.h" - --#define BCM2835_USB_VIRT_BASE 0xf0980000 --#define BCM2835_USB_VIRT_MPHI 0xf0006000 -+#define BCM2835_USB_VIRT_BASE (VMALLOC_START) -+#define BCM2835_USB_VIRT_MPHI (VMALLOC_START + 0x10000) - - static void __init bcm2835_init(void) - { -@@ -74,20 +77,26 @@ static int __init bcm2835_map_usb(unsign - - static void __init bcm2835_map_io(void) - { -- const __be32 *ranges; -+ const __be32 *ranges, *address_cells; -+ unsigned long root, addr_cells; - int soc, len; - unsigned long p2b_offset; - - debug_ll_io_init(); - -+ root = of_get_flat_dt_root(); - /* Find out how to map bus to physical address first from soc/ranges */ -- soc = of_get_flat_dt_subnode_by_name(of_get_flat_dt_root(), "soc"); -+ soc = of_get_flat_dt_subnode_by_name(root, "soc"); - if (soc < 0) - return; -+ address_cells = of_get_flat_dt_prop(root, "#address-cells", &len); -+ if (!address_cells || len < (sizeof(unsigned long))) -+ return; -+ addr_cells = be32_to_cpu(address_cells[0]); - ranges = of_get_flat_dt_prop(soc, "ranges", &len); -- if (!ranges || len < (sizeof(unsigned long) * 3)) -+ if (!ranges || len < (sizeof(unsigned long) * (2 + addr_cells))) - return; -- p2b_offset = be32_to_cpu(ranges[0]) - be32_to_cpu(ranges[1]); -+ p2b_offset = be32_to_cpu(ranges[0]) - be32_to_cpu(ranges[addr_cells]); - - /* Now search for bcm2708-usb node in device tree */ - of_scan_flat_dt(bcm2835_map_usb, &p2b_offset); |