[U-Boot] [RFC PATCH 00/29] arm: Introduce Marvell/Cavium OcteonTX

Tim Harvey tharvey at gateworks.com
Tue Nov 19 18:55:19 UTC 2019


On Tue, Oct 29, 2019 at 2:08 PM Suneel Garapati <suneelglinux at gmail.com> wrote:
>
> This series will add support for OcteonTX and OcteonTX2 processsor based
> platforms. The Marvell/Cavium Octeon-TX 64-bit ARM based SoCs include
> the CN80XX, CN81XX and CN83XX while Octeon-TX2 64-bit ARM based SoCs include
> support for CN96XX and CN95XX.
> These SoC's have peripheral drivers based on PCI ECAM.
>
> Patches
> [1 -10] Add requied changes to PCI framework
>  - [6] Add support for multi-memory region range
>  - [7] EA in bridges
>  - [8] SR-IOV
> [12] Add driver model support for RTC DS1337 driver
> [15 - 17] AHCI changes
> [18 - 27] Add OcteonTX drivers
> [28 - 29] Add OcteonTX/TX2 board files and configurations
>
> Suneel Garapati (29):
>   include: pci_ids: add vendor ID for Cavium
>   include: pci: Increase max pci region limit
>   fdtdec: add API to read pci bus-range property
>   drivers: pci-uclass: fix incorrect argument in map_sysmem
>   drivers: pci-uclass: make DT subnode parse optional
>   drivers: pci-uclass: add multi entry support for pci regions
>   drivers: pci-uclass: add support for Enhanced Allocation in Bridges
>   drivers: pci-uclass: add support for Single-Root I/O Virtualizaiton
>   drivers: pci-uclass: add VF map_bar support for Enhanced Allocation
>   drivers: pci-uclass: Add support for Alternate-RoutingID capability
>   include: arm: asm: io: add 64bit clrbits and setbits helpers
>   drivers: rtc: ds1337: add driver model support
>   arch: include: octeontx: add headers for OcteonTX
>   arch: include: octeontx2: add headers for OcteonTX2
>   drivers: ata: ahci: update max id if it is more than available ports
>   drivers: ata: ahci: fill upper 32bit buffer address in sg descriptor
>   drivers: ata: ahci: add BAR index quirk for OcteonTX
>   drivers: pci: add PCI controller driver for OcteonTX
>   drivers: gpio: add GPIO controller driver for OcteonTX
>   drivers: i2c: add I2C controller driver for OcteonTX
>   drivers: spi: add SPI controller driver for OcteonTX
>   drivers: mmc: remove static qualifier on mmc_power_init
>   drivers: mmc: add MMC controller driver for OcteonTX
>   drivers: mtd: nand: add NAND controller driver for OcteonTX
>   drivers: net: add NIC controller driver for OcteonTX
>   drivers: net: add NIC controller driver for OcteonTX2
>   drivers: watchdog: add reset support for OcteonTX
>   octeontx: Add support for OcteonTX SoC platforms
>   octeontx2: Add support for OcteonTX2 SoC platforms
>
>  arch/arm/Kconfig                              |    22 +
>  arch/arm/Makefile                             |     2 +
>  arch/arm/include/asm/arch-octeontx/board.h    |   121 +
>  arch/arm/include/asm/arch-octeontx/clock.h    |    25 +
>  .../asm/arch-octeontx/csrs/csrs-mio_emm.h     |  1193 ++
>  .../include/asm/arch-octeontx/csrs/csrs-xcv.h |   428 +
>  arch/arm/include/asm/arch-octeontx/gpio.h     |     6 +
>  arch/arm/include/asm/arch-octeontx/smc.h      |    20 +
>  arch/arm/include/asm/arch-octeontx/soc.h      |    31 +
>  arch/arm/include/asm/arch-octeontx2/board.h   |   123 +
>  arch/arm/include/asm/arch-octeontx2/clock.h   |    24 +
>  .../asm/arch-octeontx2/csrs/csrs-cgx.h        |  7835 ++++++++++++
>  .../asm/arch-octeontx2/csrs/csrs-lmt.h        |    60 +
>  .../asm/arch-octeontx2/csrs/csrs-mio_emm.h    |  1193 ++
>  .../asm/arch-octeontx2/csrs/csrs-nix.h        | 10482 ++++++++++++++++
>  .../asm/arch-octeontx2/csrs/csrs-npa.h        |  2296 ++++
>  .../asm/arch-octeontx2/csrs/csrs-npc.h        |  1930 +++
>  .../asm/arch-octeontx2/csrs/csrs-rvu.h        |  2430 ++++
>  arch/arm/include/asm/arch-octeontx2/gpio.h    |     6 +
>  arch/arm/include/asm/arch-octeontx2/smc-id.h  |    32 +
>  arch/arm/include/asm/arch-octeontx2/smc.h     |    18 +
>  arch/arm/include/asm/arch-octeontx2/soc.h     |    31 +
>  arch/arm/include/asm/io.h                     |     8 +
>  arch/arm/mach-octeontx/Kconfig                |    23 +
>  arch/arm/mach-octeontx/Makefile               |     9 +
>  arch/arm/mach-octeontx/clock.c                |    35 +
>  arch/arm/mach-octeontx/cpu.c                  |    76 +
>  arch/arm/mach-octeontx/lowlevel_init.S        |    33 +
>  arch/arm/mach-octeontx2/Kconfig               |    23 +
>  arch/arm/mach-octeontx2/Makefile              |     9 +
>  arch/arm/mach-octeontx2/clock.c               |    35 +
>  arch/arm/mach-octeontx2/config.mk             |     4 +
>  arch/arm/mach-octeontx2/cpu.c                 |    72 +
>  arch/arm/mach-octeontx2/lowlevel_init.S       |    33 +
>  board/Marvell/octeontx/Kconfig                |    14 +
>  board/Marvell/octeontx/MAINTAINERS            |     9 +
>  board/Marvell/octeontx/Makefile               |     9 +
>  board/Marvell/octeontx/board-fdt.c            |   271 +
>  board/Marvell/octeontx/board.c                |   137 +
>  board/Marvell/octeontx/smc.c                  |    30 +
>  board/Marvell/octeontx/soc-utils.c            |    53 +
>  board/Marvell/octeontx2/Kconfig               |    15 +
>  board/Marvell/octeontx2/MAINTAINERS           |     9 +
>  board/Marvell/octeontx2/Makefile              |     9 +
>  board/Marvell/octeontx2/board-fdt.c           |   155 +
>  board/Marvell/octeontx2/board.c               |   232 +
>  board/Marvell/octeontx2/smc.c                 |    62 +
>  board/Marvell/octeontx2/soc-utils.c           |    49 +
>  configs/octeontx2_95xx_defconfig              |   105 +
>  configs/octeontx2_96xx_defconfig              |   131 +
>  configs/octeontx_81xx_defconfig               |   133 +
>  configs/octeontx_83xx_defconfig               |   130 +
>  drivers/ata/ahci.c                            |    15 +
>  drivers/gpio/Kconfig                          |     7 +
>  drivers/gpio/Makefile                         |     1 +
>  drivers/gpio/octeontx_gpio.c                  |   218 +
>  drivers/i2c/Kconfig                           |     7 +
>  drivers/i2c/Makefile                          |     1 +
>  drivers/i2c/octeontx_i2c.c                    |   968 ++
>  drivers/mmc/Kconfig                           |     9 +
>  drivers/mmc/Makefile                          |     1 +
>  drivers/mmc/mmc.c                             |     2 +-
>  drivers/mmc/octeontx_hsmmc.c                  |  3233 +++++
>  drivers/mmc/octeontx_hsmmc.h                  |   191 +
>  drivers/mtd/nand/raw/Kconfig                  |    16 +
>  drivers/mtd/nand/raw/Makefile                 |     2 +
>  drivers/mtd/nand/raw/octeontx_bch.c           |   424 +
>  drivers/mtd/nand/raw/octeontx_bch.h           |   142 +
>  drivers/mtd/nand/raw/octeontx_bch_regs.h      |   169 +
>  drivers/mtd/nand/raw/octeontx_nand.c          |  2261 ++++
>  drivers/net/Kconfig                           |    29 +
>  drivers/net/Makefile                          |     4 +
>  drivers/net/octeontx/Makefile                 |     9 +
>  drivers/net/octeontx/bgx.c                    |  1546 +++
>  drivers/net/octeontx/bgx.h                    |   259 +
>  drivers/net/octeontx/nic.h                    |   518 +
>  drivers/net/octeontx/nic_main.c               |   777 ++
>  drivers/net/octeontx/nic_reg.h                |   252 +
>  drivers/net/octeontx/nicvf_main.c             |   575 +
>  drivers/net/octeontx/nicvf_queues.c           |  1141 ++
>  drivers/net/octeontx/nicvf_queues.h           |   355 +
>  drivers/net/octeontx/q_struct.h               |   697 +
>  drivers/net/octeontx/smi.c                    |   382 +
>  drivers/net/octeontx/xcv.c                    |   129 +
>  drivers/net/octeontx2/Makefile                |    11 +
>  drivers/net/octeontx2/cgx.c                   |   297 +
>  drivers/net/octeontx2/cgx.h                   |   105 +
>  drivers/net/octeontx2/cgx_intf.c              |   421 +
>  drivers/net/octeontx2/cgx_intf.h              |   370 +
>  drivers/net/octeontx2/lmt.h                   |    51 +
>  drivers/net/octeontx2/nix.c                   |   824 ++
>  drivers/net/octeontx2/nix.h                   |   355 +
>  drivers/net/octeontx2/nix_af.c                |  1103 ++
>  drivers/net/octeontx2/npc.h                   |    92 +
>  drivers/net/octeontx2/rvu.h                   |   127 +
>  drivers/net/octeontx2/rvu_af.c                |   172 +
>  drivers/net/octeontx2/rvu_common.c            |    74 +
>  drivers/net/octeontx2/rvu_pf.c                |   118 +
>  drivers/pci/Kconfig                           |    17 +
>  drivers/pci/Makefile                          |     1 +
>  drivers/pci/pci-uclass.c                      |   211 +-
>  drivers/pci/pci_octeontx.c                    |   538 +
>  drivers/rtc/Kconfig                           |     7 +
>  drivers/rtc/ds1337.c                          |   170 +
>  drivers/spi/Kconfig                           |     6 +
>  drivers/spi/Makefile                          |     1 +
>  drivers/spi/octeontx_spi.c                    |   750 ++
>  drivers/watchdog/Kconfig                      |    10 +
>  drivers/watchdog/Makefile                     |     1 +
>  drivers/watchdog/octeontx_wdt.c               |    76 +
>  include/configs/octeontx2_95xx.h              |    80 +
>  include/configs/octeontx2_96xx.h              |    90 +
>  include/configs/octeontx_common.h             |    98 +
>  include/fdtdec.h                              |    12 +
>  include/mmc.h                                 |     1 +
>  include/pci.h                                 |    23 +-
>  include/pci_ids.h                             |     2 +
>  lib/fdtdec.c                                  |    16 +
>  118 files changed, 50774 insertions(+), 17 deletions(-)
>  create mode 100644 arch/arm/include/asm/arch-octeontx/board.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx/clock.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx/csrs/csrs-mio_emm.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx/csrs/csrs-xcv.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx/gpio.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx/smc.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx/soc.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/board.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/clock.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-cgx.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-lmt.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-mio_emm.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-nix.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-npa.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-npc.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/csrs/csrs-rvu.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/gpio.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/smc-id.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/smc.h
>  create mode 100644 arch/arm/include/asm/arch-octeontx2/soc.h
>  create mode 100644 arch/arm/mach-octeontx/Kconfig
>  create mode 100644 arch/arm/mach-octeontx/Makefile
>  create mode 100644 arch/arm/mach-octeontx/clock.c
>  create mode 100644 arch/arm/mach-octeontx/cpu.c
>  create mode 100644 arch/arm/mach-octeontx/lowlevel_init.S
>  create mode 100644 arch/arm/mach-octeontx2/Kconfig
>  create mode 100644 arch/arm/mach-octeontx2/Makefile
>  create mode 100644 arch/arm/mach-octeontx2/clock.c
>  create mode 100644 arch/arm/mach-octeontx2/config.mk
>  create mode 100644 arch/arm/mach-octeontx2/cpu.c
>  create mode 100644 arch/arm/mach-octeontx2/lowlevel_init.S
>  create mode 100644 board/Marvell/octeontx/Kconfig
>  create mode 100644 board/Marvell/octeontx/MAINTAINERS
>  create mode 100644 board/Marvell/octeontx/Makefile
>  create mode 100644 board/Marvell/octeontx/board-fdt.c
>  create mode 100644 board/Marvell/octeontx/board.c
>  create mode 100644 board/Marvell/octeontx/smc.c
>  create mode 100644 board/Marvell/octeontx/soc-utils.c
>  create mode 100644 board/Marvell/octeontx2/Kconfig
>  create mode 100644 board/Marvell/octeontx2/MAINTAINERS
>  create mode 100644 board/Marvell/octeontx2/Makefile
>  create mode 100644 board/Marvell/octeontx2/board-fdt.c
>  create mode 100644 board/Marvell/octeontx2/board.c
>  create mode 100644 board/Marvell/octeontx2/smc.c
>  create mode 100644 board/Marvell/octeontx2/soc-utils.c
>  create mode 100644 configs/octeontx2_95xx_defconfig
>  create mode 100644 configs/octeontx2_96xx_defconfig
>  create mode 100644 configs/octeontx_81xx_defconfig
>  create mode 100644 configs/octeontx_83xx_defconfig
>  create mode 100644 drivers/gpio/octeontx_gpio.c
>  create mode 100644 drivers/i2c/octeontx_i2c.c
>  create mode 100644 drivers/mmc/octeontx_hsmmc.c
>  create mode 100644 drivers/mmc/octeontx_hsmmc.h
>  create mode 100644 drivers/mtd/nand/raw/octeontx_bch.c
>  create mode 100644 drivers/mtd/nand/raw/octeontx_bch.h
>  create mode 100644 drivers/mtd/nand/raw/octeontx_bch_regs.h
>  create mode 100644 drivers/mtd/nand/raw/octeontx_nand.c
>  create mode 100644 drivers/net/octeontx/Makefile
>  create mode 100644 drivers/net/octeontx/bgx.c
>  create mode 100644 drivers/net/octeontx/bgx.h
>  create mode 100644 drivers/net/octeontx/nic.h
>  create mode 100644 drivers/net/octeontx/nic_main.c
>  create mode 100644 drivers/net/octeontx/nic_reg.h
>  create mode 100644 drivers/net/octeontx/nicvf_main.c
>  create mode 100644 drivers/net/octeontx/nicvf_queues.c
>  create mode 100644 drivers/net/octeontx/nicvf_queues.h
>  create mode 100644 drivers/net/octeontx/q_struct.h
>  create mode 100644 drivers/net/octeontx/smi.c
>  create mode 100644 drivers/net/octeontx/xcv.c
>  create mode 100644 drivers/net/octeontx2/Makefile
>  create mode 100644 drivers/net/octeontx2/cgx.c
>  create mode 100644 drivers/net/octeontx2/cgx.h
>  create mode 100644 drivers/net/octeontx2/cgx_intf.c
>  create mode 100644 drivers/net/octeontx2/cgx_intf.h
>  create mode 100644 drivers/net/octeontx2/lmt.h
>  create mode 100644 drivers/net/octeontx2/nix.c
>  create mode 100644 drivers/net/octeontx2/nix.h
>  create mode 100644 drivers/net/octeontx2/nix_af.c
>  create mode 100644 drivers/net/octeontx2/npc.h
>  create mode 100644 drivers/net/octeontx2/rvu.h
>  create mode 100644 drivers/net/octeontx2/rvu_af.c
>  create mode 100644 drivers/net/octeontx2/rvu_common.c
>  create mode 100644 drivers/net/octeontx2/rvu_pf.c
>  create mode 100644 drivers/pci/pci_octeontx.c
>  create mode 100644 drivers/spi/octeontx_spi.c
>  create mode 100644 drivers/watchdog/octeontx_wdt.c
>  create mode 100644 include/configs/octeontx2_95xx.h
>  create mode 100644 include/configs/octeontx2_96xx.h
>  create mode 100644 include/configs/octeontx_common.h
>
> --
> 2.23.0
>

Tom,

I haven't seen any reviews or comments of any of Suneel's patch series
here other than the testing I performed.

What are the next steps in being able to get this code merged? The
patches to pci-uclass are perhaps the only ones that would even affect
other boards as pretty much everything else is adding a new driver.

Regards,

Tim


More information about the U-Boot mailing list