mbox series

[v3,00/14] arm64: synquacer: Add SynQuacer/DeveloperBox support

Message ID 162062825393.501222.13616174511857694530.stgit@localhost
Headers show
Series arm64: synquacer: Add SynQuacer/DeveloperBox support | expand

Message

Masami Hiramatsu May 10, 2021, 6:30 a.m. UTC
Hello,

Here is the 3rd version of the series (including some fixes for build
errors) to add SynQuacer/DeveloperBox 96board EE suport on U-Boot.

This series includes not only DeveloperBox support but also some fixes
for the issues which I faced while porting U-Boot on the DeveloperBox.
First 3 patches are fixes, next 1 patch is a code cleanup for generic
gpio for arm. The next 7 patches adding DeveloperBox devices
and board support. The last 2 patches are related to the UEFI capsule
update.

Previous version is here:

 https://lists.denx.de/pipermail/u-boot/2021-April/447529.html

Changes in v3
-------------

I've dropped the spi-nor-ids update patch because it causes a
regression.

[01/14]:
      - To enable USB XHCI support, I pick my pci patch again in this version.
[05/14]:
      - Change the config name to positive and selected by the
        opposite CONFIG_ARCH_*. (Build checked by Github CI)
[07/14]:
      - Rename config name to MMC_SDHCI_F_SDH30.
      - Remove unneeded wait in drivers/mmc/sdhci.c.
      - Rename probe function to f_sdh30_sdhci_probe.
[10/14]:
      - Use generic nor flash instead of specific mx25u51245g.
        (chip parameters will be searched by the register value)
[11/14]:
      - Enable CONFIG_MMC_SDHCI_F_SDH30.
      - Enable CONFIG_CMD_GENERIC (fstype command) for distro boot.
      - Remove unneeded CONFIG_ONLY_GENERIC_GPIO.
[12/14]:
      New patch to fix DFU error on MTD (for Capsule update)
[13/14]:
      - Fix a typo in dfu_alt_info.


DeveloperBox
============

DeveloperBox is a certified 96boards Enterprise Edition board. The board/SoC has: -
* Socionext SC2A11 24-cores ARM Cortex-A53 on tbe Mini-ATX form factor motherboard
* 4 DIMM slots (4GB DDR4-2400 UDIMM shipped by default)
* 1 4xPCIe Gen2 slot and 2 1xPCIe Gen2 slots
  (1x slots are connected via PCIe bridge chip)
* 4 USB-3.0 ports
* 2 SATA ports
* 1 GbE network port
* 1 USB-UART serial port (micro USB)
* 64MB SPI NOR Flash
* 8GB eMMC Flash Storage
* 96boards LS connector

The DeveloperBox schematic can be found here: -
https://www.96boards.org/documentation/enterprise/developerbox/hardware-docs/mzsc2am_v03_20180115_a.pdf

And the other documents can be found here: -
https://www.96boards.org/documentation/enterprise/developerbox/


Currently, the U-Boot port supports: -
* USB
* eMMC
* SPI-NOR
* SATA
* GbE

The DeveloperBox boots the TF-A and EDK2 as a main bootloader by default.
The DeveloperBox U-Boot port will replace the EDK2 and boot from TF-A as
BL33, but no need to combine with it.


Thank you,

---

Jassi Brar (3):
      mmc: synquacer: Add SynQuacer F_SDH30 SDHCI driver
      spi: synquacer: Add HSSPI SPI controller driver for SynQuacer
      net: synquacer: Add netsec driver

Masami Hiramatsu (11):
      pci: Update the highest subordinate bus number for bridge setup
      ata: ahci-pci: Use scsi_ops to initialize ops
      dm: pci: Skip setting VGA bridge bits if parent device is the host bus
      efi: Fix to use null handle to create new handle for efi_fmp_raw
      gpio: Introduce CONFIG_GPIO_EXTRA_HEADER to cleanup #ifdefs
      pci: synquacer: Add SynQuacer ECAM based PCIe driver
      ARM: dts: synquacer: Add device trees for DeveloperBox
      board: synquacer: Add DeveloperBox 96boards EE support
      dfu_mtd: Ignore non-implemented lock device failure
      doc: qemu: arm64: Fix the documentation of capsule update
      configs: synquacer: Enable EFI capsule update support


 arch/arm/Kconfig                                   |  108 ++
 arch/arm/dts/Makefile                              |    2 
 arch/arm/dts/synquacer-sc2a11-caches.dtsi          |   73 +
 .../dts/synquacer-sc2a11-developerbox-u-boot.dtsi  |   57 +
 arch/arm/dts/synquacer-sc2a11-developerbox.dts     |   56 +
 arch/arm/dts/synquacer-sc2a11.dtsi                 |  595 ++++++++++
 arch/arm/include/asm/gpio.h                        |    8 
 board/socionext/developerbox/Kconfig               |   36 +
 board/socionext/developerbox/MAINTAINERS           |   13 
 board/socionext/developerbox/Makefile              |    9 
 board/socionext/developerbox/developerbox.c        |  145 +++
 configs/synquacer_developerbox_defconfig           |  109 ++
 doc/board/emulation/qemu_capsule_update.rst        |   11 
 doc/board/index.rst                                |    1 
 doc/board/socionext/developerbox.rst               |   87 ++
 doc/board/socionext/index.rst                      |    9 
 drivers/ata/ahci-pci.c                             |    2 
 drivers/dfu/dfu_mtd.c                              |    2 
 drivers/mmc/Kconfig                                |   10 
 drivers/mmc/Makefile                               |    1 
 drivers/mmc/f_sdh30.c                              |   81 +
 drivers/net/Kconfig                                |    8 
 drivers/net/Makefile                               |    1 
 drivers/net/sni_netsec.c                           | 1134 ++++++++++++++++++++
 drivers/pci/Kconfig                                |   12 
 drivers/pci/Makefile                               |    1 
 drivers/pci/pci-uclass.c                           |    6 
 drivers/pci/pcie_ecam_synquacer.c                  |  600 +++++++++++
 drivers/spi/Kconfig                                |    8 
 drivers/spi/Makefile                               |    1 
 drivers/spi/spi-synquacer.c                        |  491 +++++++++
 include/configs/synquacer.h                        |  112 ++
 lib/efi_loader/efi_capsule.c                       |    2 
 33 files changed, 3774 insertions(+), 17 deletions(-)
 create mode 100644 arch/arm/dts/synquacer-sc2a11-caches.dtsi
 create mode 100644 arch/arm/dts/synquacer-sc2a11-developerbox-u-boot.dtsi
 create mode 100644 arch/arm/dts/synquacer-sc2a11-developerbox.dts
 create mode 100644 arch/arm/dts/synquacer-sc2a11.dtsi
 create mode 100644 board/socionext/developerbox/Kconfig
 create mode 100644 board/socionext/developerbox/MAINTAINERS
 create mode 100644 board/socionext/developerbox/Makefile
 create mode 100644 board/socionext/developerbox/developerbox.c
 create mode 100644 configs/synquacer_developerbox_defconfig
 create mode 100644 doc/board/socionext/developerbox.rst
 create mode 100644 doc/board/socionext/index.rst
 create mode 100644 drivers/mmc/f_sdh30.c
 create mode 100644 drivers/net/sni_netsec.c
 create mode 100644 drivers/pci/pcie_ecam_synquacer.c
 create mode 100644 drivers/spi/spi-synquacer.c
 create mode 100644 include/configs/synquacer.h

--
Masami Hiramatsu <masami.hiramatsu@linaro.org>