From: Tim Harvey <tharvey@gateworks.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC 00/22] Add support for Cavium Octeon-TX CN80XX/CN81XX
Date: Fri, 22 Feb 2019 10:02:57 -0800 [thread overview]
Message-ID: <20190222180319.32221-1-tharvey@gateworks.com> (raw)
The Cavium Octeon-TX 64-bit ARM based SoCs include the CN80XX and CN81XX.
These SoC's have peripheral drivers based on PCI ECAM.
This series has been tested on the the following Gateworks SBC's:
- GW6100 - CN8021 dual A53 800MHz
- GW6104 - CN8031 quad A53 1500MHz
- GW6300 - CN8020 dual A53 800MHz
- GW6304 - CN8030 quad A53 1500MHz
These patches all came originally from Cavium's SDK based on a 2017 version
of U-Boot and have been refactored a bit to strip out things that didn't make
sense that I saw in the original code.
These patches apply on top of U-Boot 2018.11 and if needed I can do minor
cleanup and rebase on top of master but I can't be the maintainer.
I'm also looking for comments on the PCI related patches as I am by far not
a PCI expert and am not sure what I've done here is correct for this SoC and
the others some of the changes would affect.
I'm looking for a maintainer for this - I only have boards with the above SoC's
and can't test anything else. I also don't have the resources to be a
maintainer of this arch - I'm looking at you Cavium/Marvell as your SDK's use
old forks of U-Boot with a slew of patches and there is no reason to not
mainline this code. I've added all the cavium/marvell contacts I could find
from previous threads about OcteonTX support in U-Boot.
The way I'm using this on the above boards is to build u-boot-nodtb.bin
and package it into a FIP image that the ATF loads. I can document this process
if needed.
You can find this series on github [1]
Best Regards,
Tim
[1] https://github.com/Gateworks/uboot-newport/tree/v2018.11-newport-rc1
Tim Harvey (22):
arm: introduce ARCH_THUNDERX
arm: add thunderx_81xx
thunderx: add FDT support
thunderx: add thunderx register definitions and misc functions
thunderx: move DRAM prints to debug
dm: pci: add PCI SR-IOV EA support
fdt: add fdtdec_get_pci_bus_range
pci: add thunderx pci/ecam driver
pci: fix pce enumeration on thunderx
arm: include 64bit io accessors
gpio: add thunderx gpio driver
i2c: add thunderx I2C driver
spi: add thunderx SPI driver
xhci: add support for cavium thunderx XHCI
thunderx_81xx: add support for XHCI
thunderx_81xx: enable usb mass storage and usb ethernet
ahci: support 64bit systems
ahci: set n_ports from host caps
ahci: add support for ThunderX AHCI
thunderx_81xx: add AHCI support
net: add thunderx vnic drivers
pci: auto probe thunderx NIC devices
arch/arm/Kconfig | 6 +-
arch/arm/Makefile | 1 +
arch/arm/dts/Makefile | 3 +-
arch/arm/dts/thunderx-81xx.dts | 36 +
arch/arm/dts/thunderx-81xx.dtsi | 440 +++++
.../arm/include/asm/arch-thunderx}/atf.h | 2 +-
.../arm/include/asm/arch-thunderx}/atf_part.h | 0
arch/arm/include/asm/arch-thunderx/fdt.h | 12 +
arch/arm/include/asm/arch-thunderx/thunderx.h | 300 ++++
.../include/asm/arch-thunderx}/thunderx_svc.h | 0
.../include/asm/arch-thunderx/thunderx_vnic.h | 15 +
arch/arm/include/asm/gpio.h | 2 +-
arch/arm/include/asm/io.h | 8 +
arch/arm/mach-thunderx/Makefile | 2 +
.../thunderx => arch/arm/mach-thunderx}/atf.c | 6 +-
arch/arm/mach-thunderx/fdt.c | 218 +++
arch/arm/mach-thunderx/lowlevel_init.S | 31 +
arch/arm/mach-thunderx/misc.c | 33 +
arch/x86/cpu/baytrail/cpu.c | 3 +-
board/cavium/thunderx/Kconfig | 23 +-
board/cavium/thunderx/Makefile | 2 +-
board/cavium/thunderx/thunderx.c | 60 +-
configs/thunderx_81xx_defconfig | 65 +
configs/thunderx_88xx_defconfig | 9 +-
drivers/ata/ahci.c | 46 +-
drivers/gpio/Kconfig | 7 +
drivers/gpio/Makefile | 1 +
drivers/gpio/thunderx_gpio.c | 189 ++
drivers/i2c/Kconfig | 7 +
drivers/i2c/Makefile | 1 +
drivers/i2c/designware_i2c.c | 4 +-
drivers/i2c/intel_i2c.c | 3 +-
drivers/i2c/thunderx_i2c.c | 878 ++++++++++
drivers/mmc/pci_mmc.c | 3 +-
drivers/net/Kconfig | 34 +
drivers/net/Makefile | 1 +
drivers/net/cavium/Makefile | 8 +
drivers/net/cavium/nic.h | 569 ++++++
drivers/net/cavium/nic_main.c | 795 +++++++++
drivers/net/cavium/nic_reg.h | 228 +++
drivers/net/cavium/nicvf_main.c | 553 ++++++
drivers/net/cavium/nicvf_queues.c | 1123 ++++++++++++
drivers/net/cavium/nicvf_queues.h | 364 ++++
drivers/net/cavium/q_struct.h | 692 ++++++++
drivers/net/cavium/thunder_bgx.c | 1529 +++++++++++++++++
drivers/net/cavium/thunder_bgx.h | 259 +++
drivers/net/cavium/thunder_xcv.c | 190 ++
drivers/net/cavium/thunderx_smi.c | 388 +++++
drivers/net/e1000.c | 5 +-
drivers/net/pch_gbe.c | 3 +-
drivers/nvme/nvme.c | 3 +-
drivers/pci/Kconfig | 9 +
drivers/pci/Makefile | 1 +
drivers/pci/pci-uclass.c | 316 +++-
drivers/pci/pci_auto.c | 18 +
drivers/pci/pci_thunderx.c | 160 ++
drivers/spi/Kconfig | 6 +
drivers/spi/Makefile | 1 +
drivers/spi/thunderx_spi.c | 448 +++++
drivers/usb/host/ehci-pci.c | 3 +-
drivers/usb/host/xhci-pci.c | 10 +-
include/ahci.h | 3 +
include/configs/thunderx_81xx.h | 82 +
include/fdtdec.h | 11 +
include/pci.h | 58 +-
include/pci_ids.h | 15 +
lib/fdtdec.c | 13 +
net/eth_legacy.c | 3 +
68 files changed, 10248 insertions(+), 69 deletions(-)
create mode 100644 arch/arm/dts/thunderx-81xx.dts
create mode 100644 arch/arm/dts/thunderx-81xx.dtsi
rename {include/cavium => arch/arm/include/asm/arch-thunderx}/atf.h (96%)
rename {include/cavium => arch/arm/include/asm/arch-thunderx}/atf_part.h (100%)
create mode 100644 arch/arm/include/asm/arch-thunderx/fdt.h
create mode 100644 arch/arm/include/asm/arch-thunderx/thunderx.h
rename {include/cavium => arch/arm/include/asm/arch-thunderx}/thunderx_svc.h (100%)
create mode 100644 arch/arm/include/asm/arch-thunderx/thunderx_vnic.h
create mode 100644 arch/arm/mach-thunderx/Makefile
rename {board/cavium/thunderx => arch/arm/mach-thunderx}/atf.c (98%)
create mode 100644 arch/arm/mach-thunderx/fdt.c
create mode 100644 arch/arm/mach-thunderx/lowlevel_init.S
create mode 100644 arch/arm/mach-thunderx/misc.c
create mode 100644 configs/thunderx_81xx_defconfig
create mode 100644 drivers/gpio/thunderx_gpio.c
create mode 100644 drivers/i2c/thunderx_i2c.c
create mode 100644 drivers/net/cavium/Makefile
create mode 100644 drivers/net/cavium/nic.h
create mode 100644 drivers/net/cavium/nic_main.c
create mode 100644 drivers/net/cavium/nic_reg.h
create mode 100644 drivers/net/cavium/nicvf_main.c
create mode 100644 drivers/net/cavium/nicvf_queues.c
create mode 100644 drivers/net/cavium/nicvf_queues.h
create mode 100644 drivers/net/cavium/q_struct.h
create mode 100644 drivers/net/cavium/thunder_bgx.c
create mode 100644 drivers/net/cavium/thunder_bgx.h
create mode 100644 drivers/net/cavium/thunder_xcv.c
create mode 100644 drivers/net/cavium/thunderx_smi.c
create mode 100644 drivers/pci/pci_thunderx.c
create mode 100755 drivers/spi/thunderx_spi.c
create mode 100644 include/configs/thunderx_81xx.h
--
2.17.1
next reply other threads:[~2019-02-22 18:02 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-22 18:02 Tim Harvey [this message]
2019-02-22 18:02 ` [U-Boot] [RFC 01/22] arm: introduce ARCH_THUNDERX Tim Harvey
2019-02-24 16:08 ` Alexander Graf
2019-02-24 16:13 ` Alexander Graf
2019-02-22 18:02 ` [U-Boot] [RFC 02/22] arm: add thunderx_81xx Tim Harvey
2019-02-24 16:35 ` Alexander Graf
2019-02-22 18:03 ` [U-Boot] [RFC 03/22] thunderx: add FDT support Tim Harvey
2019-02-24 16:39 ` Alexander Graf
2019-02-22 18:03 ` [U-Boot] [RFC 04/22] thunderx: add thunderx register definitions and misc functions Tim Harvey
2019-02-24 16:42 ` Alexander Graf
2019-02-22 18:03 ` [U-Boot] [RFC 05/22] thunderx: move DRAM prints to debug Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 06/22] dm: pci: add PCI SR-IOV EA support Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 07/22] fdt: add fdtdec_get_pci_bus_range Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 08/22] pci: add thunderx pci/ecam driver Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 09/22] pci: fix pce enumeration on thunderx Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 10/22] arm: include 64bit io accessors Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 11/22] gpio: add thunderx gpio driver Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 12/22] i2c: add thunderx I2C driver Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 13/22] spi: add thunderx SPI driver Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 14/22] xhci: add support for cavium thunderx XHCI Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 15/22] thunderx_81xx: add support for XHCI Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 16/22] thunderx_81xx: enable usb mass storage and usb ethernet Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 17/22] ahci: support 64bit systems Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 18/22] ahci: set n_ports from host caps Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 19/22] ahci: add support for ThunderX AHCI Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 20/22] thunderx_81xx: add AHCI support Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 21/22] net: add thunderx vnic drivers Tim Harvey
2019-02-22 18:03 ` [U-Boot] [RFC 22/22] pci: auto probe thunderx NIC devices Tim Harvey
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=20190222180319.32221-1-tharvey@gateworks.com \
--to=tharvey@gateworks.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.