Message ID | 20200603124345.18595-1-m.szyprowski@samsung.com |
---|---|
Headers | show |
Series | ARM: arbitrary virtual-physical mappings for RPi4 XHCI support | expand |
On 03/06/2020 14:43, Marek Szyprowski wrote: > Hi All, > > This patchset adds support for creating a mapping for the arbitrary > physical address at the given virtual address. This is needed to enable > support for XHCI USB controller on PCIe bridge on Raspberry Pi 4 board, > on which the USB controller's MMIO area 0x600000000 has to be remapped > somewhere to fit in 4GiB virtual address space when running in ARM 32bit > mode. > > This patchset is a continuation of the Raspberry Pi 4 XHCI/PCIe patchset: > https://patchwork.ozlabs.org/project/uboot/list/?series=179078 > and the following discussion: > https://lists.denx.de/pipermail/u-boot/2020-May/411086.html > > Best regards > Marek Szyprowski > Samsung R&D Institute Poland > > > Changelog: > > v5: > - fixed issues pointed by Tom Rini (comments style, ifdefs, spdx) > > v4: https://lists.denx.de/pipermail/u-boot/2020-June/414531.html > - added a patch, which moves ADDR_MAP config entry to Kconfig system > as requested by Simon Glass > - rebased onto v4 of the "USB host support for Raspberry Pi 4 board > (64-bit)" patchset > > v3: https://lists.denx.de/pipermail/u-boot/2020-May/412427.html > - fixed broken RPi3 and lack of the identity mapping for map_physmem > (for example for the itest command was broken) > - added a patch fixing a new build warning > > v2: https://lists.denx.de/pipermail/u-boot/2020-May/411765.html > - fixed ARM64 build > > v1: https://lists.denx.de/pipermail/u-boot/2020-May/411765.html > - initial RFC > > > Patch summary: > > Marek Szyprowski (5): > powerpc: move ADDR_MAP to Kconfig > arm: update comments to the common style > arm: provide a function for boards init code to modify MMU > virtual-physical map > rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM > 32bit) > config: Enable support for the XHCI controller on RPI4 board > > Seung-Woo Kim (1): > mmc: bcm283x: fix int to pointer cast > Series looks good to me. The problem is that on RPi4 with 8 GB the USB FW get's loaded via the RPi FW. Nicolas provided a series which is under review right now. Without this series the 8 GB RPi4 won't boot. As soon as the series is ready I'll take all the RPi4 PCI/USB related patches into the next branch. Regards, Matthias > arch/arm/include/asm/mmu.h | 8 +++++ > arch/arm/include/asm/system.h | 36 ++++++++++++++++------ > arch/arm/lib/cache-cp15.c | 24 +++++++++++---- > arch/arm/mach-bcm283x/Kconfig | 1 + > arch/arm/mach-bcm283x/include/mach/base.h | 8 +++++ > arch/arm/mach-bcm283x/init.c | 21 +++++++++++++ > configs/B4420QDS_NAND_defconfig | 2 ++ > configs/B4420QDS_SPIFLASH_defconfig | 2 ++ > configs/B4420QDS_defconfig | 2 ++ > configs/B4860QDS_NAND_defconfig | 2 ++ > configs/B4860QDS_SECURE_BOOT_defconfig | 2 ++ > configs/B4860QDS_SPIFLASH_defconfig | 2 ++ > configs/B4860QDS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/B4860QDS_defconfig | 2 ++ > configs/C29XPCIE_NAND_defconfig | 1 + > configs/C29XPCIE_NOR_SECBOOT_defconfig | 1 + > configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig | 1 + > configs/C29XPCIE_SPIFLASH_defconfig | 1 + > configs/C29XPCIE_defconfig | 1 + > configs/Cyrus_P5020_defconfig | 2 ++ > configs/Cyrus_P5040_defconfig | 2 ++ > configs/MPC8536DS_36BIT_defconfig | 1 + > configs/MPC8548CDS_36BIT_defconfig | 1 + > configs/MPC8572DS_36BIT_defconfig | 1 + > configs/MPC8641HPCN_36BIT_defconfig | 2 ++ > configs/MPC8641HPCN_defconfig | 2 ++ > configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig | 1 + > configs/P1010RDB-PA_36BIT_NAND_defconfig | 1 + > configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig | 1 + > configs/P1010RDB-PA_36BIT_NOR_defconfig | 1 + > configs/P1010RDB-PA_36BIT_SDCARD_defconfig | 1 + > .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig | 1 + > configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig | 1 + > configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig | 1 + > configs/P1010RDB-PB_36BIT_NAND_defconfig | 1 + > configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig | 1 + > configs/P1010RDB-PB_36BIT_NOR_defconfig | 1 + > configs/P1010RDB-PB_36BIT_SDCARD_defconfig | 1 + > .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig | 1 + > configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig | 1 + > configs/P1020MBG-PC_36BIT_SDCARD_defconfig | 1 + > configs/P1020MBG-PC_36BIT_defconfig | 1 + > configs/P1020RDB-PC_36BIT_NAND_defconfig | 1 + > configs/P1020RDB-PC_36BIT_SDCARD_defconfig | 1 + > configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig | 1 + > configs/P1020RDB-PC_36BIT_defconfig | 1 + > configs/P1020UTM-PC_36BIT_SDCARD_defconfig | 1 + > configs/P1020UTM-PC_36BIT_defconfig | 1 + > configs/P1021RDB-PC_36BIT_NAND_defconfig | 1 + > configs/P1021RDB-PC_36BIT_SDCARD_defconfig | 1 + > configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig | 1 + > configs/P1021RDB-PC_36BIT_defconfig | 1 + > configs/P1022DS_36BIT_NAND_defconfig | 1 + > configs/P1022DS_36BIT_SDCARD_defconfig | 1 + > configs/P1022DS_36BIT_SPIFLASH_defconfig | 1 + > configs/P1022DS_36BIT_defconfig | 1 + > configs/P1024RDB_36BIT_defconfig | 1 + > configs/P1025RDB_36BIT_defconfig | 1 + > configs/P2020RDB-PC_36BIT_NAND_defconfig | 1 + > configs/P2020RDB-PC_36BIT_SDCARD_defconfig | 1 + > configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig | 1 + > configs/P2020RDB-PC_36BIT_defconfig | 1 + > configs/P2041RDB_NAND_defconfig | 2 ++ > configs/P2041RDB_SDCARD_defconfig | 2 ++ > configs/P2041RDB_SECURE_BOOT_defconfig | 2 ++ > configs/P2041RDB_SPIFLASH_defconfig | 2 ++ > configs/P2041RDB_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/P2041RDB_defconfig | 2 ++ > configs/P3041DS_NAND_SECURE_BOOT_defconfig | 2 ++ > configs/P3041DS_NAND_defconfig | 2 ++ > configs/P3041DS_SDCARD_defconfig | 2 ++ > configs/P3041DS_SECURE_BOOT_defconfig | 2 ++ > configs/P3041DS_SPIFLASH_defconfig | 2 ++ > configs/P3041DS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/P3041DS_defconfig | 2 ++ > configs/P4080DS_SDCARD_defconfig | 2 ++ > configs/P4080DS_SECURE_BOOT_defconfig | 2 ++ > configs/P4080DS_SPIFLASH_defconfig | 2 ++ > configs/P4080DS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/P4080DS_defconfig | 2 ++ > configs/P5020DS_NAND_SECURE_BOOT_defconfig | 2 ++ > configs/P5020DS_NAND_defconfig | 2 ++ > configs/P5020DS_SDCARD_defconfig | 2 ++ > configs/P5020DS_SECURE_BOOT_defconfig | 2 ++ > configs/P5020DS_SPIFLASH_defconfig | 2 ++ > configs/P5020DS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/P5020DS_defconfig | 2 ++ > configs/P5040DS_NAND_SECURE_BOOT_defconfig | 2 ++ > configs/P5040DS_NAND_defconfig | 2 ++ > configs/P5040DS_SDCARD_defconfig | 2 ++ > configs/P5040DS_SECURE_BOOT_defconfig | 2 ++ > configs/P5040DS_SPIFLASH_defconfig | 2 ++ > configs/P5040DS_defconfig | 2 ++ > configs/T1023RDB_NAND_defconfig | 2 ++ > configs/T1023RDB_SDCARD_defconfig | 2 ++ > configs/T1023RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T1023RDB_SPIFLASH_defconfig | 2 ++ > configs/T1023RDB_defconfig | 2 ++ > configs/T1024QDS_DDR4_SECURE_BOOT_defconfig | 2 ++ > configs/T1024QDS_DDR4_defconfig | 2 ++ > configs/T1024QDS_NAND_defconfig | 2 ++ > configs/T1024QDS_SDCARD_defconfig | 2 ++ > configs/T1024QDS_SECURE_BOOT_defconfig | 2 ++ > configs/T1024QDS_SPIFLASH_defconfig | 2 ++ > configs/T1024QDS_defconfig | 2 ++ > configs/T1024RDB_NAND_defconfig | 2 ++ > configs/T1024RDB_SDCARD_defconfig | 2 ++ > configs/T1024RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T1024RDB_SPIFLASH_defconfig | 2 ++ > configs/T1024RDB_defconfig | 2 ++ > configs/T1040D4RDB_NAND_defconfig | 2 ++ > configs/T1040D4RDB_SDCARD_defconfig | 2 ++ > configs/T1040D4RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T1040D4RDB_SPIFLASH_defconfig | 2 ++ > configs/T1040D4RDB_defconfig | 2 ++ > configs/T1040QDS_DDR4_defconfig | 2 ++ > configs/T1040QDS_SECURE_BOOT_defconfig | 2 ++ > configs/T1040QDS_defconfig | 2 ++ > configs/T1040RDB_NAND_defconfig | 2 ++ > configs/T1040RDB_SDCARD_defconfig | 2 ++ > configs/T1040RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T1040RDB_SPIFLASH_defconfig | 2 ++ > configs/T1040RDB_defconfig | 2 ++ > configs/T1042D4RDB_NAND_defconfig | 2 ++ > configs/T1042D4RDB_SDCARD_defconfig | 2 ++ > configs/T1042D4RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T1042D4RDB_SPIFLASH_defconfig | 2 ++ > configs/T1042D4RDB_defconfig | 2 ++ > configs/T1042RDB_PI_NAND_SECURE_BOOT_defconfig | 2 ++ > configs/T1042RDB_PI_NAND_defconfig | 2 ++ > configs/T1042RDB_PI_SDCARD_defconfig | 2 ++ > configs/T1042RDB_PI_SPIFLASH_defconfig | 2 ++ > configs/T1042RDB_PI_defconfig | 2 ++ > configs/T1042RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T1042RDB_defconfig | 2 ++ > configs/T2080QDS_NAND_defconfig | 2 ++ > configs/T2080QDS_SDCARD_defconfig | 2 ++ > configs/T2080QDS_SECURE_BOOT_defconfig | 2 ++ > configs/T2080QDS_SPIFLASH_defconfig | 2 ++ > configs/T2080QDS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/T2080QDS_defconfig | 2 ++ > configs/T2080RDB_NAND_defconfig | 2 ++ > configs/T2080RDB_SDCARD_defconfig | 2 ++ > configs/T2080RDB_SECURE_BOOT_defconfig | 2 ++ > configs/T2080RDB_SPIFLASH_defconfig | 2 ++ > configs/T2080RDB_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/T2080RDB_defconfig | 2 ++ > configs/T2081QDS_NAND_defconfig | 2 ++ > configs/T2081QDS_SDCARD_defconfig | 2 ++ > configs/T2081QDS_SPIFLASH_defconfig | 2 ++ > configs/T2081QDS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/T2081QDS_defconfig | 2 ++ > configs/T4160QDS_NAND_defconfig | 2 ++ > configs/T4160QDS_SDCARD_defconfig | 2 ++ > configs/T4160QDS_SECURE_BOOT_defconfig | 2 ++ > configs/T4160QDS_defconfig | 2 ++ > configs/T4160RDB_defconfig | 2 ++ > configs/T4240QDS_NAND_defconfig | 2 ++ > configs/T4240QDS_SDCARD_defconfig | 2 ++ > configs/T4240QDS_SECURE_BOOT_defconfig | 2 ++ > configs/T4240QDS_SRIO_PCIE_BOOT_defconfig | 2 ++ > configs/T4240QDS_defconfig | 2 ++ > configs/T4240RDB_SDCARD_defconfig | 2 ++ > configs/T4240RDB_defconfig | 2 ++ > .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 1 + > configs/controlcenterd_36BIT_SDCARD_defconfig | 1 + > configs/kmcoge4_defconfig | 2 ++ > configs/qemu-ppce500_defconfig | 1 + > configs/rpi_4_32b_defconfig | 11 +++++++ > drivers/mmc/bcm2835_sdhci.c | 2 +- > include/configs/B4860QDS.h | 5 --- > include/configs/C29XPCIE.h | 3 -- > include/configs/MPC8536DS.h | 5 --- > include/configs/MPC8548CDS.h | 5 --- > include/configs/MPC8572DS.h | 5 --- > include/configs/MPC8641HPCN.h | 2 -- > include/configs/P1010RDB.h | 5 --- > include/configs/P1022DS.h | 5 --- > include/configs/P2041RDB.h | 5 --- > include/configs/T102xQDS.h | 5 --- > include/configs/T102xRDB.h | 5 --- > include/configs/T1040QDS.h | 3 -- > include/configs/T104xRDB.h | 3 -- > include/configs/T208xQDS.h | 5 --- > include/configs/T208xRDB.h | 5 --- > include/configs/T4240RDB.h | 3 -- > include/configs/controlcenterd.h | 5 --- > include/configs/corenet_ds.h | 5 --- > include/configs/cyrus.h | 5 --- > include/configs/kmp204x.h | 3 -- > include/configs/p1_p2_rdb_pc.h | 5 --- > include/configs/qemu-ppce500.h | 3 -- > include/configs/t4qds.h | 3 -- > lib/Kconfig | 13 ++++++++ > scripts/config_whitelist.txt | 2 -- > 195 files changed, 385 insertions(+), 116 deletions(-) > create mode 100644 arch/arm/include/asm/mmu.h >
Hi Matthias, On 11.06.2020 10:39, Matthias Brugger wrote: > ... > Series looks good to me. The problem is that on RPi4 with 8 GB the USB FW get's > loaded via the RPi FW. Nicolas provided a series which is under review right > now. Without this series the 8 GB RPi4 won't boot. As soon as the series is > ready I'll take all the RPi4 PCI/USB related patches into the next branch. I've noticed that You took both required patchsets to rpi-next branch. May I ask for taking this one too? Best regards
Hi Marek, On 09/07/2020 08:33, Marek Szyprowski wrote: > Hi Matthias, > > On 11.06.2020 10:39, Matthias Brugger wrote: >> ... >> Series looks good to me. The problem is that on RPi4 with 8 GB the USB FW get's >> loaded via the RPi FW. Nicolas provided a series which is under review right >> now. Without this series the 8 GB RPi4 won't boot. As soon as the series is >> ready I'll take all the RPi4 PCI/USB related patches into the next branch. > > I've noticed that You took both required patchsets to rpi-next branch. > May I ask for taking this one too? > I didn't forgot that series. The thing is, that it is assigned to Tom in patchwork, so I wanted to sync with him, if he is OK that I take the series. He provided already his Reviewed-by tags for the parts that I was concerned about. @Tom, is it OK if I take this series through my rpi-next branch? Regards, Matthias