Am Mittwoch, dem 30.03.2022 um 12:06 +0200 schrieb Stefan Roese: > 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
are those 10 millions helper functions really used by the ethernet driver? Do you really need features like SFP modules in U-Boot? Maybe it helps to have a look at u-boot.map to see which functions are unused and are discarded by the linker. Those functions could be actually removed to reduce the LoC count ;) > > 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 > -- - Daniel