public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Matthias Brugger <mbrugger@suse.com>
To: u-boot@lists.denx.de
Subject: [PATCH v5 0/6] ARM: arbitrary virtual-physical mappings for RPi4 XHCI support
Date: Thu, 11 Jun 2020 10:39:09 +0200	[thread overview]
Message-ID: <0d4b22df-d682-8a04-449d-af8012e2cd7e@suse.com> (raw)
In-Reply-To: <20200603124345.18595-1-m.szyprowski@samsung.com>



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
> 

  parent reply	other threads:[~2020-06-11  8:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200603124402eucas1p16e3f9864e02f863656b8640f14255fb9@eucas1p1.samsung.com>
2020-06-03 12:43 ` [PATCH v5 0/6] ARM: arbitrary virtual-physical mappings for RPi4 XHCI support Marek Szyprowski
2020-06-03 12:43   ` [PATCH v5 1/6] powerpc: move ADDR_MAP to Kconfig Marek Szyprowski
2020-07-10 20:21     ` Tom Rini
2020-06-03 12:43   ` [PATCH v5 2/6] arm: update comments to the common style Marek Szyprowski
2020-06-03 13:55     ` Tom Rini
2020-07-10 20:21     ` Tom Rini
2020-06-03 12:43   ` [PATCH v5 3/6] arm: provide a function for boards init code to modify MMU virtual-physical map Marek Szyprowski
2020-06-03 13:55     ` Tom Rini
2020-07-10 20:22     ` Tom Rini
2020-07-23 16:32       ` Patrick DELAUNAY
2020-08-03 12:32         ` Marek Szyprowski
2020-06-03 12:43   ` [PATCH v5 4/6] mmc: bcm283x: fix int to pointer cast Marek Szyprowski
2020-07-10 20:22     ` Tom Rini
2020-06-03 12:43   ` [PATCH v5 5/6] rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) Marek Szyprowski
2020-07-10 20:22     ` Tom Rini
2020-06-03 12:43   ` [PATCH v5 6/6] config: Enable support for the XHCI controller on RPI4 board Marek Szyprowski
2020-07-10 20:22     ` Tom Rini
2020-06-11  8:39   ` Matthias Brugger [this message]
2020-07-09  6:33     ` [PATCH v5 0/6] ARM: arbitrary virtual-physical mappings for RPi4 XHCI support Marek Szyprowski
2020-07-09  7:14       ` Matthias Brugger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0d4b22df-d682-8a04-449d-af8012e2cd7e@suse.com \
    --to=mbrugger@suse.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox