[PATCH 00/52] mips: octeon: Add ethernet support

Stefan Roese sr at denx.de
Wed Mar 30 12:30:09 CEST 2022


Add Daniel to Cc (sorry, I forgot you Daniel).

Thanks,
Stefan

On 3/30/22 12:06, Stefan Roese wrote:
> This patchset adds the networking files and drivers including device
> helper headers and C files. Please excuse the massive amount of files
> in this patch series. Also the sometimes huge files (mostly headers
> with register definitions) that I needed to include.
> 
> The infrastructure code with all the headers is ported mistly without
> any intended functional changes from the 2013 Cavium / Marvell U-Boot
> version. It has undergone many hours of extensive code cleanup and
> reformatting. Some of it done by using tools (checkpatch, Lindent, clang
> format etc) and also some of it done manually, as I couldn't find some
> tools that could do the needed work in a reliable and functional way.
> The result is that checkpatch now only throws a "few" warnings that are
> left. Some of those can't be removed without an even more extensive
> cleanup / rewrite of the code, like the addition of typedefs.
> 
> The added header, helper and infrastructure files in the first part of
> the patch-series (patches 1-43) are the foundation, that is used by the
> main Octeon U-Boot ethernet driver (patch 50/52). Patches 47-49 add the
> DT nodes and properties to the corresponding dtsi / dts files. Patches
> 51 & 52 finally enable the ethernet support both MIPS Octeon boards,
> EBB7304 & NIC23.
> 
> All this is tested on the 2 Cavium / Marvell MIPS Octeon boards:
> EBB7304 & NIC23
> 
> This patchset including the small Marvell PHY patches is available in
> this gitlab branch:
> 
> https://source.denx.de/u-boot/custodians/u-boot-marvell/-/tree/mips-octeon-ethernet-v1-2022-03-30
> 
> Thanks,
> Stefan
> 
> Aaron Williams (40):
>    mips: octeon: Add misc cvmx-* header files
>    mips: octeon: Add cvmx-ilk-defs.h header file
>    mips: octeon: Add cvmx-iob-defs.h header file
>    mips: octeon: Add cvmx-lbk-defs.h header file
>    mips: octeon: Add cvmx-npei-defs.h header file
>    mips: octeon: Add cvmx-pcsxx-defs.h header file
>    mips: octeon: Add cvmx-xcv-defs.h header file
>    mips: octeon: Add cvmx-helper-agl.c
>    mips: octeon: Add cvmx-helper-bgx.c
>    mips: octeon: Add cvmx-helper-board.c
>    mips: octeon: Add cvmx-helper-fpa.c
>    mips: octeon: Add cvmx-helper-igl.c
>    mips: octeon: Add cvmx-helper-ipd.c
>    mips: octeon: Add cvmx-helper-loop.c
>    mips: octeon: Add cvmx-helper-npi.c
>    mips: octeon: Add cvmx-helper-pki.c
>    mips: octeon: Add cvmx-helper-pko.c
>    mips: octeon: Add cvmx-helper-pko3.c
>    mips: octeon: Add cvmx-helper-rgmii.c
>    mips: octeon: Add cvmx-helper-sgmii.c
>    mips: octeon: Add cvmx-helper-sfp.c
>    mips: octeon: Add cvmx-helper-xaui.c
>    mips: octeon: Add cvmx-agl.c
>    mips: octeon: Add cvmx-cmd-queue.c
>    mips: octeon: Add cvmx-fau-compat.c
>    mips: octeon: Add cvmx-fpa.c
>    mips: octeon: Add cvmx-fpa-resource.c
>    mips: octeon: Add cvmx-global-resource.c
>    mips: octeon: Add cvmx-ilk.c
>    mips: octeon: Add cvmx-ipd.c
>    mips: octeon: Add cvmx-pki.c
>    mips: octeon: Add cvmx-pki-resources.c
>    mips: octeon: Add cvmx-pko.c
>    mips: octeon: Add cvmx-pko3.c
>    mips: octeon: Add cvmx-pko3-queue.c
>    mips: octeon: Add cvmx-pko3-compat.c
>    mips: octeon: Add cvmx-pko3-resources.c
>    mips: octeon: Add cvmx-pko-internal-ports-range.c
>    mips: octeon: Add cvmx-qlm-tables.c
>    mips: octeon: Add cvmx-range.c
> 
> Stefan Roese (12):
>    mips: octeon: Misc changes to existing headers for upcoming eth
>      support
>    mips: octeon: Misc changes to existing C files for upcoming eth
>      support
>    mips: octeon: Makefile: Enable building of the newly added C files
>    mips: octeon: cpu.c: Move bootmem init to arch_early_init_r()
>    mips: octeon: cpu.c: Implement configure_lmtdma_window()
>    mips: octeon: octeon_common.h: Move init SP because of increased image
>      size
>    mips: octeon: mrvl,cn73xx.dtsi: Add ethernet (BGX) and SMI DT nodes
>    mips: octeon: mrvl,octeon-ebb7304.dts: Add ethernet DT support
>    mips: octeon: mrvl,octeon-nic23.dts: Add ethernet DT support
>    net: Add ethernet support for MIPS Octeon
>    mips: octeon: ebb7304: Enable ethernet support
>    mips: octeon: nic23: Enable ethernet support
> 
>   arch/mips/Kconfig                             |    1 +
>   arch/mips/dts/mrvl,cn73xx.dtsi                |   35 +
>   arch/mips/dts/mrvl,octeon-ebb7304.dts         |   45 +
>   arch/mips/dts/mrvl,octeon-nic23.dts           |  238 ++
>   arch/mips/mach-octeon/Makefile                |   35 +-
>   arch/mips/mach-octeon/cpu.c                   |   47 +-
>   arch/mips/mach-octeon/cvmx-agl.c              |  216 +
>   arch/mips/mach-octeon/cvmx-bootmem.c          |    3 +-
>   arch/mips/mach-octeon/cvmx-cmd-queue.c        |  449 +++
>   arch/mips/mach-octeon/cvmx-fau-compat.c       |   53 +
>   arch/mips/mach-octeon/cvmx-fpa-resource.c     |  305 ++
>   arch/mips/mach-octeon/cvmx-fpa.c              | 1672 ++++++++
>   arch/mips/mach-octeon/cvmx-global-resources.c |  639 +++
>   arch/mips/mach-octeon/cvmx-helper-agl.c       |  231 ++
>   arch/mips/mach-octeon/cvmx-helper-bgx.c       | 3215 +++++++++++++++
>   arch/mips/mach-octeon/cvmx-helper-board.c     | 2030 ++++++++++
>   arch/mips/mach-octeon/cvmx-helper-cfg.c       |   67 +-
>   arch/mips/mach-octeon/cvmx-helper-fdt.c       |  645 ++-
>   arch/mips/mach-octeon/cvmx-helper-fpa.c       |  329 ++
>   arch/mips/mach-octeon/cvmx-helper-ilk.c       |  926 +++++
>   arch/mips/mach-octeon/cvmx-helper-ipd.c       |  313 ++
>   arch/mips/mach-octeon/cvmx-helper-loop.c      |  178 +
>   arch/mips/mach-octeon/cvmx-helper-npi.c       |  146 +
>   arch/mips/mach-octeon/cvmx-helper-pki.c       | 2156 ++++++++++
>   arch/mips/mach-octeon/cvmx-helper-pko.c       |  312 ++
>   arch/mips/mach-octeon/cvmx-helper-pko3.c      | 1252 ++++++
>   arch/mips/mach-octeon/cvmx-helper-rgmii.c     |  431 ++
>   arch/mips/mach-octeon/cvmx-helper-sfp.c       | 1877 +++++++++
>   arch/mips/mach-octeon/cvmx-helper-sgmii.c     |  781 ++++
>   arch/mips/mach-octeon/cvmx-helper-xaui.c      |  587 +++
>   arch/mips/mach-octeon/cvmx-helper.c           |   45 +-
>   arch/mips/mach-octeon/cvmx-ilk.c              | 1618 ++++++++
>   arch/mips/mach-octeon/cvmx-ipd.c              |  690 ++++
>   arch/mips/mach-octeon/cvmx-pki-resources.c    |  519 +++
>   arch/mips/mach-octeon/cvmx-pki.c              | 1619 ++++++++
>   .../cvmx-pko-internal-ports-range.c           |  164 +
>   arch/mips/mach-octeon/cvmx-pko.c              | 1110 ++++++
>   arch/mips/mach-octeon/cvmx-pko3-compat.c      |  656 +++
>   arch/mips/mach-octeon/cvmx-pko3-queue.c       | 1331 ++++++
>   arch/mips/mach-octeon/cvmx-pko3-resources.c   |  229 ++
>   arch/mips/mach-octeon/cvmx-pko3.c             | 2143 ++++++++++
>   arch/mips/mach-octeon/cvmx-qlm-tables.c       |  292 ++
>   arch/mips/mach-octeon/cvmx-range.c            |  344 ++
>   arch/mips/mach-octeon/include/mach/cvmx-agl.h |   45 +
>   .../mach-octeon/include/mach/cvmx-bootmem.h   |    3 +-
>   .../mach-octeon/include/mach/cvmx-config.h    |  128 +
>   arch/mips/mach-octeon/include/mach/cvmx-fau.h |  581 +++
>   arch/mips/mach-octeon/include/mach/cvmx-fpa.h |    3 +-
>   .../mips/mach-octeon/include/mach/cvmx-fpa3.h |   37 -
>   .../include/mach/cvmx-helper-board.h          |    6 +-
>   .../include/mach/cvmx-helper-fdt.h            |   40 +-
>   .../include/mach/cvmx-helper-pko.h            |    2 +-
>   .../mach-octeon/include/mach/cvmx-helper.h    |   20 +
>   .../mach-octeon/include/mach/cvmx-ilk-defs.h  | 2269 +++++++++++
>   .../mach-octeon/include/mach/cvmx-iob-defs.h  | 1328 ++++++
>   .../mach-octeon/include/mach/cvmx-lbk-defs.h  |  157 +
>   .../mips/mach-octeon/include/mach/cvmx-mdio.h |  516 +++
>   .../mach-octeon/include/mach/cvmx-npei-defs.h | 3550 +++++++++++++++++
>   .../include/mach/cvmx-pcsxx-defs.h            |  787 ++++
>   .../include/mach/cvmx-pki-cluster.h           |  343 ++
>   arch/mips/mach-octeon/include/mach/cvmx-pko.h |  213 +
>   .../include/mach/cvmx-pko3-resources.h        |   36 +
>   .../mips/mach-octeon/include/mach/cvmx-pko3.h | 1052 +++++
>   .../mach-octeon/include/mach/cvmx-range.h     |   23 +
>   .../mips/mach-octeon/include/mach/cvmx-regs.h |  100 +-
>   .../mach-octeon/include/mach/cvmx-xcv-defs.h  |  226 ++
>   .../mach-octeon/include/mach/octeon_eth.h     |   54 +-
>   board/Marvell/octeon_nic23/board.c            |   87 +-
>   configs/octeon_ebb7304_defconfig              |    7 +
>   configs/octeon_nic23_defconfig                |   10 +-
>   drivers/net/Kconfig                           |    7 +
>   drivers/net/Makefile                          |    1 +
>   drivers/net/octeon/Makefile                   |    6 +
>   drivers/net/octeon/octeon_eth.c               | 1060 +++++
>   drivers/net/octeon/octeon_mdio.c              |  226 ++
>   include/configs/octeon_common.h               |    2 +-
>   include/configs/octeon_ebb7304.h              |    2 +
>   77 files changed, 42315 insertions(+), 586 deletions(-)
>   create mode 100644 arch/mips/mach-octeon/cvmx-agl.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-cmd-queue.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-fau-compat.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-fpa-resource.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-fpa.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-global-resources.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-agl.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-bgx.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-board.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-fpa.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-ilk.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-ipd.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-loop.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-npi.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-pki.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-pko.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-pko3.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-rgmii.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-sfp.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-sgmii.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-helper-xaui.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-ilk.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-ipd.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pki-resources.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pki.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pko-internal-ports-range.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pko.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pko3-compat.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pko3-queue.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pko3-resources.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-pko3.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-qlm-tables.c
>   create mode 100644 arch/mips/mach-octeon/cvmx-range.c
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-agl.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-config.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-fau.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-ilk-defs.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-iob-defs.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-lbk-defs.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-mdio.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-npei-defs.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-pcsxx-defs.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-pki-cluster.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-pko.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-pko3-resources.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-pko3.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-range.h
>   create mode 100644 arch/mips/mach-octeon/include/mach/cvmx-xcv-defs.h
>   create mode 100644 drivers/net/octeon/Makefile
>   create mode 100644 drivers/net/octeon/octeon_eth.c
>   create mode 100644 drivers/net/octeon/octeon_mdio.c
> 


More information about the U-Boot mailing list