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

Masami Hiramatsu
2021-05-10T06:30:54Z

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>