All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: u-boot@lists.denx.de
Subject: [PATCH v4 0/5] ARM: arbitrary virtual-physical mappings for RPi4 XHCI support
Date: Tue,  2 Jun 2020 14:04:18 +0200	[thread overview]
Message-ID: <20200602120423.6285-1-m.szyprowski@samsung.com> (raw)
In-Reply-To: CGME20200602120704eucas1p29ca38e04d720f89bb6d1a099d41d9abb@eucas1p2.samsung.com

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:

v4:
- 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 (4):
  powerpc: move ADDR_MAP to Kconfig
  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

 arch/arm/include/asm/mmu.h                    |  8 +++++++
 arch/arm/include/asm/system.h                 | 11 +++++++++
 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 ++
 .../P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig  |  1 +
 configs/P1010RDB-PA_36BIT_NAND_defconfig      |  1 +
 .../P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PA_36BIT_NOR_defconfig       |  1 +
 configs/P1010RDB-PA_36BIT_SDCARD_defconfig    |  1 +
 ...010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig |  1 +
 configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig  |  1 +
 .../P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig  |  1 +
 configs/P1010RDB-PB_36BIT_NAND_defconfig      |  1 +
 .../P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig   |  1 +
 configs/P1010RDB-PB_36BIT_NOR_defconfig       |  1 +
 configs/P1010RDB-PB_36BIT_SDCARD_defconfig    |  1 +
 ...010RDB-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 ++
 .../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 ++
 ...trolcenterd_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, 369 insertions(+), 107 deletions(-)
 create mode 100644 arch/arm/include/asm/mmu.h

-- 
2.17.1

       reply	other threads:[~2020-06-02 12:04 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200602120704eucas1p29ca38e04d720f89bb6d1a099d41d9abb@eucas1p2.samsung.com>
2020-06-02 12:04 ` Marek Szyprowski [this message]
     [not found]   ` <CGME20200602120705eucas1p208a323aa45431cf267e12ae157c507c3@eucas1p2.samsung.com>
2020-06-02 12:04     ` [PATCH v4 1/5] powerpc: move ADDR_MAP to Kconfig Marek Szyprowski
2020-06-02 14:28       ` Tom Rini
     [not found]   ` <CGME20200602120706eucas1p1d0bba520d15d775bc5d7d1928b1e5cb5@eucas1p1.samsung.com>
2020-06-02 12:04     ` [PATCH v4 2/5] arm: provide a function for boards init code to modify MMU virtual-physical map Marek Szyprowski
2020-06-02 14:28       ` Tom Rini
     [not found]   ` <CGME20200602120707eucas1p1b4e31f4f658bcf218550c483eb513705@eucas1p1.samsung.com>
2020-06-02 12:04     ` [PATCH v4 3/5] mmc: bcm283x: fix int to pointer cast Marek Szyprowski
     [not found]   ` <CGME20200602120707eucas1p1a4472732abbbf0ae089daa39ed050c3c@eucas1p1.samsung.com>
2020-06-02 12:04     ` [PATCH v4 4/5] rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) Marek Szyprowski
     [not found]   ` <CGME20200602120708eucas1p2e1d1b2afd0228f6568489623ec3f307c@eucas1p2.samsung.com>
2020-06-02 12:04     ` [PATCH v4 5/5] config: Enable support for the XHCI controller on RPI4 board Marek Szyprowski

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=20200602120423.6285-1-m.szyprowski@samsung.com \
    --to=m.szyprowski@samsung.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.