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

Tom Rini trini at konsulko.com
Wed Nov 20 20:41:30 UTC 2019


On Tue, Nov 19, 2019 at 07:00:58PM -0800, Simon Glass wrote:
> Hi Tim,
> 
> On Tue, 19 Nov 2019 at 10:55, Tim Harvey <tharvey at gateworks.com> wrote:
> >
> > 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.
> 
> I've spent a bit of time looking at these. Some are OK but some need a
> little work.

Thanks Simon.  Part of the answer is that I was hoping for someone to
have a chance to chime in and look.  Otherwise, as a new platform this
is going to wait until after v2020.01 is released, JFYI.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20191120/e5e58f6a/attachment.sig>


More information about the U-Boot mailing list