[openwrt/openwrt] armvirt: 64: add support for other SystemReady-compatible vendors

LEDE Commits lede-commits at lists.infradead.org
Tue Jun 13 07:50:12 PDT 2023


ynezz pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/2bec445c1d40f1d9a3d92708a99588cb83fcf272

commit 2bec445c1d40f1d9a3d92708a99588cb83fcf272
Author: Mathew McBride <matt at traverse.com.au>
AuthorDate: Fri Jul 15 02:38:02 2022 +0000

    armvirt: 64: add support for other SystemReady-compatible vendors
    
    These changes are to support other vendors that have SystemReady/EFI
    support, including:
    * Marvell Armada
    ** (This is speculative as I don't have a machine of my own to test)
    * Amazon Graviton (tested bare-metal and virtualized instances)
    * VMware (Fusion for ARM Mac preview)
    * NXP/Freescale (Layerscape series not already selected)
    * HiSilicon
    * Allwinner/sunxi
    * Rockchip (untested, options taken from arm64 defconfig)
    
    To give an idea of the hardware certified for SystemReady,
    see
    https://www.arm.com/architecture/system-architectures/systemready-certification-program/ir
    and
    https://www.arm.com/architecture/system-architectures/systemready-certification-program/es
    
    Other vendors that _should_ work include Marvell Octeon 10
    and Ampere. I understand these systems should work
    "out of the box" in ACPI mode but may require other drivers
    (e.g PCIe NICs and storage controllers).
    
    Signed-off-by: Mathew McBride <matt at traverse.com.au>
    (23.05/5.15 version of c3151b6f04579a937b7cb166bbeff0d0ee539946)
---
 target/linux/armvirt/64/config-5.15 | 220 +++++++++++++++++++++++++++++++++++-
 target/linux/armvirt/config-5.15    |   2 +
 target/linux/armvirt/image/Makefile |   5 +-
 target/linux/armvirt/modules.mk     |  84 ++++++++++++++
 4 files changed, 308 insertions(+), 3 deletions(-)

diff --git a/target/linux/armvirt/64/config-5.15 b/target/linux/armvirt/64/config-5.15
index fc9128a064..bcae79c8fb 100644
--- a/target/linux/armvirt/64/config-5.15
+++ b/target/linux/armvirt/64/config-5.15
@@ -1,14 +1,23 @@
 CONFIG_64BIT=y
+CONFIG_ARCH_HISI=y
+CONFIG_ARCH_INTEL_SOCFPGA=y
 CONFIG_ARCH_LAYERSCAPE=y
 CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
 CONFIG_ARCH_MMAP_RND_BITS=18
 CONFIG_ARCH_MMAP_RND_BITS_MAX=24
 CONFIG_ARCH_MMAP_RND_BITS_MIN=18
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
+CONFIG_ARCH_MVEBU=y
 CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ARCH_ROCKCHIP=y
 CONFIG_ARCH_STACKWALK=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_SYNQUACER=y
+CONFIG_ARCH_THUNDER=y
+CONFIG_ARCH_THUNDER2=y
 CONFIG_ARCH_VEXPRESS=y
 CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_ARCH_ZYNQMP=y
 CONFIG_ARM64=y
 CONFIG_ARM64_4K_PAGES=y
 CONFIG_ARM64_CNP=y
@@ -37,8 +46,12 @@ CONFIG_ARM64_VA_BITS_48=y
 CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
 CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
 CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
+# CONFIG_ARMADA_37XX_RWTM_MBOX is not set
+CONFIG_ARMADA_37XX_WATCHDOG=y
+CONFIG_ARMADA_THERMAL=y
 CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
 # CONFIG_ARM_DMC620_PMU is not set
+# CONFIG_ARM_MHU_V2 is not set
 CONFIG_ARM_SBSA_WATCHDOG=y
 CONFIG_ARM_SMC_WATCHDOG=y
 CONFIG_ARM_SMMU=y
@@ -49,16 +62,43 @@ CONFIG_ARM_SMMU_V3=y
 # CONFIG_ARM_SMMU_V3_SVA is not set
 CONFIG_ATOMIC64_SELFTEST=y
 CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+# CONFIG_AXI_DMAC is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BLK_PM=y
 CONFIG_CAVIUM_TX2_ERRATUM_219=y
 CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
+CONFIG_CLK_INTEL_SOCFPGA=y
+CONFIG_CLK_INTEL_SOCFPGA64=y
 CONFIG_CLK_LS1028A_PLLDIG=y
+CONFIG_CLK_PX30=y
 CONFIG_CLK_QORIQ=y
+CONFIG_CLK_RK3308=y
+CONFIG_CLK_RK3328=y
+CONFIG_CLK_RK3368=y
+CONFIG_CLK_RK3399=y
+CONFIG_CLK_RK3568=y
 CONFIG_CLK_SP810=y
+CONFIG_CLK_SUNXI=y
+CONFIG_CLK_SUNXI_CLOCKS=y
+# CONFIG_CLK_SUNXI_PRCM_SUN6I is not set
+# CONFIG_CLK_SUNXI_PRCM_SUN8I is not set
+# CONFIG_CLK_SUNXI_PRCM_SUN9I is not set
 CONFIG_CLK_VEXPRESS_OSC=y
 # CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
 # CONFIG_COMMON_CLK_FSL_SAI is not set
+CONFIG_COMMON_CLK_HI3516CV300=y
+CONFIG_COMMON_CLK_HI3519=y
+CONFIG_COMMON_CLK_HI3559A=y
+CONFIG_COMMON_CLK_HI3660=y
+CONFIG_COMMON_CLK_HI3670=y
+CONFIG_COMMON_CLK_HI3798CV200=y
+CONFIG_COMMON_CLK_HI6220=y
+CONFIG_COMMON_CLK_HI655X=y
+CONFIG_COMMON_CLK_ROCKCHIP=y
+CONFIG_COMMON_CLK_SCPI=y
+CONFIG_COMMON_CLK_ZYNQMP=y
+CONFIG_COMMON_RESET_HI3660=y
+CONFIG_COMMON_RESET_HI6220=y
 # CONFIG_COMPAT_32BIT_TIME is not set
 CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_GOV_MENU=y
@@ -75,7 +115,14 @@ CONFIG_CRYPTO_BLAKE2S=y
 CONFIG_CRYPTO_CHACHA20=y
 CONFIG_CRYPTO_CHACHA20_NEON=y
 CONFIG_CRYPTO_CRYPTD=y
+# CONFIG_CRYPTO_DEV_ALLWINNER is not set
 # CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM is not set
+# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
+# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
+# CONFIG_CRYPTO_DEV_HISI_TRNG is not set
+# CONFIG_CRYPTO_DEV_OCTEONTX2_CPT is not set
+# CONFIG_CRYPTO_DEV_ROCKCHIP is not set
+# CONFIG_CRYPTO_DEV_ZYNQMP_AES is not set
 CONFIG_CRYPTO_GHASH_ARM64_CE=y
 CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
 CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
@@ -87,6 +134,7 @@ CONFIG_CRYPTO_SHA512_ARM64=y
 CONFIG_CRYPTO_SIMD=y
 CONFIG_DMA_DIRECT_REMAP=y
 CONFIG_DMA_SHARED_BUFFER=y
+CONFIG_DMA_SUN6I=y
 CONFIG_DRM=y
 CONFIG_DRM_BOCHS=y
 CONFIG_DRM_BRIDGE=y
@@ -100,6 +148,10 @@ CONFIG_DRM_TTM=y
 CONFIG_DRM_TTM_HELPER=y
 CONFIG_DRM_VIRTIO_GPU=y
 CONFIG_DRM_VRAM_HELPER=y
+# CONFIG_DWMAC_SUN8I is not set
+# CONFIG_DWMAC_SUNXI is not set
+CONFIG_DW_WATCHDOG=y
+CONFIG_ENA_ETHERNET=y
 CONFIG_FB=y
 CONFIG_FB_ARMCLCD=y
 CONFIG_FB_CFB_COPYAREA=y
@@ -107,11 +159,11 @@ CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_IMAGEBLIT=y
 CONFIG_FB_CMDLINE=y
 CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_XILINX is not set
 CONFIG_FRAME_POINTER=y
 # CONFIG_FSL_DPAA is not set
 # CONFIG_FSL_DPAA2_QDMA is not set
 CONFIG_FSL_ERRATUM_A008585=y
-# CONFIG_FSL_FMAN is not set
 # CONFIG_FSL_IMX8_DDR_PMU is not set
 # CONFIG_FSL_PQ_MDIO is not set
 CONFIG_FUJITSU_ERRATUM_010001=y
@@ -122,17 +174,34 @@ CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_GPIO_GENERIC=y
 CONFIG_GPIO_GENERIC_PLATFORM=y
 CONFIG_GPIO_MPC8XXX=y
+CONFIG_GPIO_ROCKCHIP=y
+CONFIG_GPIO_THUNDERX=y
+CONFIG_GPIO_XLP=y
+CONFIG_GPIO_ZYNQ=y
 CONFIG_HDMI=y
-# CONFIG_HISI_PMU is not set
+CONFIG_HI3660_MBOX=y
+CONFIG_HI6220_MBOX=y
+CONFIG_HISILICON_LPC=y
+CONFIG_HISI_PMU=y
+CONFIG_HISI_THERMAL=y
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
+# CONFIG_HW_RANDOM_HISI is not set
 CONFIG_HW_RANDOM_VIRTIO=y
 CONFIG_I2C=y
 CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_ALTERA=y
 CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_HIX5HD2 is not set
 CONFIG_I2C_IMX=y
+CONFIG_I2C_SYNQUACER=y
+CONFIG_I2C_THUNDERX=y
+# CONFIG_I2C_XLP9XX is not set
 CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
 # CONFIG_IMX2_WDT is not set
+# CONFIG_INPUT_HISI_POWERKEY is not set
+# CONFIG_INTEL_STRATIX10_RSU is not set
+# CONFIG_INTEL_STRATIX10_SERVICE is not set
 # CONFIG_IOMMU_DEBUGFS is not set
 # CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
 CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
@@ -140,35 +209,121 @@ CONFIG_IOMMU_DEFAULT_PASSTHROUGH=y
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
 # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
 CONFIG_IOMMU_SUPPORT=y
+# CONFIG_K3_DMA is not set
 CONFIG_KCMP=y
+# CONFIG_KEYBOARD_SUN4I_LRADC is not set
 CONFIG_LCD_CLASS_DEVICE=m
 # CONFIG_LCD_PLATFORM is not set
+# CONFIG_MAILBOX_TEST is not set
+CONFIG_MDIO_SUN4I=y
+# CONFIG_MFD_ALTERA_A10SR is not set
+CONFIG_MFD_ALTERA_SYSMGR=y
+# CONFIG_MFD_AXP20X_RSB is not set
 CONFIG_MFD_CORE=y
+CONFIG_MFD_HI655X_PMIC=y
+# CONFIG_MFD_KHADAS_MCU is not set
+CONFIG_MFD_SUN4I_GPADC=y
+# CONFIG_MFD_SUN6I_PRCM is not set
 CONFIG_MFD_SYSCON=y
 CONFIG_MFD_VEXPRESS_SYSREG=y
 CONFIG_MMC=y
 CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_CAVIUM_THUNDERX=y
+CONFIG_MMC_DW=y
+# CONFIG_MMC_DW_BLUEFIELD is not set
+# CONFIG_MMC_DW_EXYNOS is not set
+# CONFIG_MMC_DW_HI3798CV200 is not set
+# CONFIG_MMC_DW_K3 is not set
+# CONFIG_MMC_DW_PCI is not set
+CONFIG_MMC_DW_PLTFM=y
+CONFIG_MMC_DW_ROCKCHIP=y
 CONFIG_MMC_RICOH_MMC=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_ACPI=y
 CONFIG_MMC_SDHCI_OF_ESDHC=y
 CONFIG_MMC_SDHCI_PCI=y
 CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SUNXI=y
 CONFIG_MODULES_USE_ELF_RELA=y
+# CONFIG_MV_XOR is not set
 CONFIG_NEED_SG_DMA_LENGTH=y
+# CONFIG_NET_VENDOR_ALLWINNER is not set
 CONFIG_NO_HZ=y
 CONFIG_NO_HZ_COMMON=y
 CONFIG_NO_HZ_IDLE=y
 CONFIG_NR_CPUS=64
 CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
 # CONFIG_NVMEM_LAYERSCAPE_SFP is not set
+CONFIG_NVMEM_ROCKCHIP_EFUSE=y
+# CONFIG_NVMEM_ROCKCHIP_OTP is not set
+# CONFIG_NVMEM_SUNXI_SID is not set
+# CONFIG_NVMEM_ZYNQMP is not set
+CONFIG_PCC=y
+CONFIG_PCIE_HISI_STB=y
 CONFIG_PCIE_LAYERSCAPE=y
+CONFIG_PCIE_MOBIVEIL_PLAT=y
+CONFIG_PCIE_ROCKCHIP=y
+# CONFIG_PCIE_ROCKCHIP_DW_HOST is not set
+CONFIG_PCIE_ROCKCHIP_HOST=y
+CONFIG_PCIE_XILINX_CPM=y
+CONFIG_PCIE_XILINX_NWL=y
+CONFIG_PCI_AARDVARK=y
 CONFIG_PCI_LAYERSCAPE=y
+CONFIG_PHY_HI3660_USB=y
+CONFIG_PHY_HI3670_USB=y
+CONFIG_PHY_HI6220_USB=y
+CONFIG_PHY_HISI_INNO_USB2=y
+# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_MVEBU_A3700_COMPHY=y
+CONFIG_PHY_MVEBU_A3700_UTMI=y
+CONFIG_PHY_MVEBU_A38X_COMPHY=y
+CONFIG_PHY_MVEBU_CP110_COMPHY=y
+# CONFIG_PHY_ROCKCHIP_DP is not set
+# CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set
+CONFIG_PHY_ROCKCHIP_EMMC=y
+# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set
+# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set
+# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+CONFIG_PHY_ROCKCHIP_PCIE=y
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+# CONFIG_PHY_ROCKCHIP_USB is not set
+CONFIG_PHY_SUN4I_USB=y
+CONFIG_PHY_SUN50I_USB3=y
+# CONFIG_PHY_SUN6I_MIPI_DPHY is not set
+CONFIG_PHY_SUN9I_USB=y
+# CONFIG_PHY_XILINX_ZYNQMP is not set
+CONFIG_PINCTRL_ROCKCHIP=y
+CONFIG_PINCTRL_SUN4I_A10=y
+CONFIG_PINCTRL_SUN50I_A100=y
+CONFIG_PINCTRL_SUN50I_A100_R=y
+CONFIG_PINCTRL_SUN50I_A64=y
+CONFIG_PINCTRL_SUN50I_A64_R=y
+CONFIG_PINCTRL_SUN50I_H5=y
+CONFIG_PINCTRL_SUN50I_H6=y
+CONFIG_PINCTRL_SUN50I_H616=y
+CONFIG_PINCTRL_SUN50I_H616_R=y
+CONFIG_PINCTRL_SUN50I_H6_R=y
+CONFIG_PINCTRL_SUN5I=y
+# CONFIG_PINCTRL_SUN6I_A31 is not set
+# CONFIG_PINCTRL_SUN6I_A31_R is not set
+# CONFIG_PINCTRL_SUN8I_A23 is not set
+# CONFIG_PINCTRL_SUN8I_A23_R is not set
+# CONFIG_PINCTRL_SUN8I_A33 is not set
+# CONFIG_PINCTRL_SUN8I_A83T is not set
+# CONFIG_PINCTRL_SUN8I_A83T_R is not set
+# CONFIG_PINCTRL_SUN8I_H3 is not set
+# CONFIG_PINCTRL_SUN8I_H3_R is not set
+# CONFIG_PINCTRL_SUN8I_V3S is not set
+# CONFIG_PINCTRL_SUN9I_A80 is not set
+# CONFIG_PINCTRL_SUN9I_A80_R is not set
+CONFIG_PINCTRL_ZYNQMP=y
 CONFIG_PM=y
 CONFIG_PM_CLK=y
 CONFIG_PM_GENERIC_DOMAINS=y
 CONFIG_PM_GENERIC_DOMAINS_OF=y
 CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_HISI=y
 CONFIG_POWER_RESET_VEXPRESS=y
 CONFIG_POWER_SUPPLY=y
 CONFIG_QORIQ_THERMAL=y
@@ -176,27 +331,88 @@ CONFIG_QUEUED_RWLOCKS=y
 CONFIG_QUEUED_SPINLOCKS=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_MMIO=y
+CONFIG_REGULATOR_AXP20X=y
+CONFIG_REGULATOR_HI655X=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_ROCKCHIP_IOMMU=y
+# CONFIG_ROCKCHIP_MBOX is not set
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+# CONFIG_ROCKCHIP_SARADC is not set
+# CONFIG_ROCKCHIP_THERMAL is not set
 CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
 # CONFIG_RTC_DRV_FSL_FTM_ALARM is not set
+CONFIG_RTC_DRV_MV=y
 CONFIG_RTC_I2C_AND_SPI=y
+# CONFIG_SERIAL_8250_EXAR is not set
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_MVEBU_CONSOLE=y
+CONFIG_SERIAL_MVEBU_UART=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
 CONFIG_SMC91X=y
+# CONFIG_SND_SUN4I_I2S is not set
+# CONFIG_SND_SUN50I_CODEC_ANALOG is not set
+# CONFIG_SND_SUN50I_DMIC is not set
+# CONFIG_SND_SUN8I_CODEC is not set
+# CONFIG_SND_SUN8I_CODEC_ANALOG is not set
+# CONFIG_SNI_NETSEC is not set
 CONFIG_SPARSEMEM=y
 CONFIG_SPARSEMEM_EXTREME=y
 CONFIG_SPARSEMEM_VMEMMAP=y
 CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPI_ARMADA_3700=y
 # CONFIG_SPI_FSL_QUADSPI is not set
 # CONFIG_SPI_HISI_KUNPENG is not set
+# CONFIG_SPI_HISI_SFC is not set
 # CONFIG_SPI_HISI_SFC_V3XX is not set
+# CONFIG_SPI_ROCKCHIP_SFC is not set
+# CONFIG_SPI_SUN4I is not set
+# CONFIG_SPI_SUN6I is not set
+# CONFIG_SPI_SYNQUACER is not set
+CONFIG_SPI_THUNDERX=y
+# CONFIG_SPI_XLP is not set
+CONFIG_STUB_CLK_HI3660=y
+CONFIG_STUB_CLK_HI6220=y
+CONFIG_SUN50I_A100_CCU=y
+CONFIG_SUN50I_A100_R_CCU=y
+CONFIG_SUN50I_A64_CCU=y
+CONFIG_SUN50I_H616_CCU=y
+CONFIG_SUN50I_H6_CCU=y
+CONFIG_SUN50I_H6_R_CCU=y
+CONFIG_SUN50I_IOMMU=y
+CONFIG_SUN6I_MSGBOX=y
+# CONFIG_SUN8I_A83T_CCU is not set
+CONFIG_SUN8I_DE2_CCU=y
+# CONFIG_SUN8I_H3_CCU is not set
+CONFIG_SUN8I_R_CCU=y
+CONFIG_SUN8I_THERMAL=y
+CONFIG_SUNXI_CCU=y
+CONFIG_SUNXI_RSB=y
+CONFIG_SUNXI_WATCHDOG=y
 CONFIG_SYNC_FILE=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
+# CONFIG_TCG_TIS_SYNQUACER is not set
 CONFIG_THREAD_INFO_IN_TASK=y
+# CONFIG_TURRIS_MOX_RWTM is not set
 CONFIG_UNMAP_KERNEL_AT_EL0=y
 CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_XILINX=y
 CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_HISTB=y
+CONFIG_USB_XHCI_MVEBU=y
 CONFIG_USB_XHCI_PLATFORM=y
 CONFIG_VEXPRESS_CONFIG=y
 CONFIG_VIDEOMODE_HELPERS=y
+# CONFIG_VIDEO_SUN4I_CSI is not set
+# CONFIG_VIDEO_SUN6I_CSI is not set
 CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
 # CONFIG_VIRTIO_IOMMU is not set
 CONFIG_VMAP_STACK=y
+CONFIG_WDAT_WDT=y
+# CONFIG_XILINX_AMS is not set
+# CONFIG_XILINX_INTC is not set
 CONFIG_ZONE_DMA32=y
+CONFIG_ZYNQMP_FIRMWARE=y
+# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
+CONFIG_ZYNQMP_PM_DOMAINS=y
+CONFIG_ZYNQMP_POWER=y
diff --git a/target/linux/armvirt/config-5.15 b/target/linux/armvirt/config-5.15
index d609207bbe..a45126ead2 100644
--- a/target/linux/armvirt/config-5.15
+++ b/target/linux/armvirt/config-5.15
@@ -190,6 +190,7 @@ CONFIG_MIGRATION=y
 CONFIG_MMC_SDHCI_ACPI=y
 CONFIG_MODULES_USE_ELF_RELA=y
 CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_MVMDIO=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NET_9P=y
@@ -297,5 +298,6 @@ CONFIG_VIRTIO_PCI_LEGACY=y
 CONFIG_VIRTIO_PCI_LIB=y
 CONFIG_VMAP_STACK=y
 CONFIG_WATCHDOG_CORE=y
+CONFIG_WDAT_WDT=y
 CONFIG_XPS=y
 CONFIG_ZONE_DMA32=y
diff --git a/target/linux/armvirt/image/Makefile b/target/linux/armvirt/image/Makefile
index e88544c963..5a2004345c 100644
--- a/target/linux/armvirt/image/Makefile
+++ b/target/linux/armvirt/image/Makefile
@@ -107,7 +107,10 @@ define Device/generic
   FILESYSTEMS := ext4 squashfs
   DEVICE_PACKAGES += kmod-amazon-ena kmod-e1000e kmod-vmxnet3 kmod-rtc-rx8025 \
 	kmod-i2c-mux-pca954x kmod-gpio-pca953x partx-utils kmod-wdt-sp805 \
-	kmod-fsl-dpaa2-net
+	kmod-mvneta kmod-mvpp2 kmod-fsl-dpaa1-net kmod-fsl-dpaa2-net \
+	kmod-fsl-enetc-net \
+	kmod-phy-aquantia kmod-phy-broadcom kmod-phy-marvell \
+	kmod-phy-marvell-10g kmod-atlantic
 endef
 TARGET_DEVICES += generic
 
diff --git a/target/linux/armvirt/modules.mk b/target/linux/armvirt/modules.mk
index 3ac3f6a27d..f1dc28083a 100644
--- a/target/linux/armvirt/modules.mk
+++ b/target/linux/armvirt/modules.mk
@@ -48,6 +48,44 @@ endef
 
 $(eval $(call KernelPackage,fsl-mc-dpio))
 
+define KernelPackage/fsl-enetc-net
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=:NXP ENETC (LS1028A) Ethernet
+  DEPENDS:=@(TARGET_armvirt_64) +kmod-phylink +kmod-fsl-pcs-lynx
+  KCONFIG:= \
+    CONFIG_FSL_ENETC \
+    CONFIG_FSL_ENETC_VF \
+    CONFIG_FSL_ENETC_QOS
+  FILES:= \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/enetc/fsl-enetc.ko \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/enetc/fsl-enetc-vf.ko \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio.ko \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb.ko
+  AUTOLOAD=$(call AutoLoad,35,fsl-enetc)
+endef
+
+$(eval $(call KernelPackage,fsl-enetc-net))
+
+define KernelPackage/fsl-dpaa1-net
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=NXP DPAA1 (LS1043/LS1046) Ethernet
+  DEPENDS:=@(TARGET_armvirt_64) +kmod-fsl-xgmac-mdio +kmod-libphy +kmod-crypto-crc32
+  KCONFIG:= \
+    CONFIG_FSL_DPAA=y \
+    CONFIG_FSL_DPAA_ETH \
+    CONFIG_FSL_FMAN \
+    CONFIG_FSL_DPAA_CHECKING=n \
+    CONFIG_FSL_BMAN_TEST=n \
+    CONFIG_FSL_QMAN_TEST=n
+  MODULES:= \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/dpaa/fsl_dpa.ko \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/fman/fsl_dpaa_fman.ko \
+    $(LINUX_DIR)/drivers/net/ethernet/freescale/fman/fsl_dpaa_mac.ko
+  AUTOLOAD=$(call AutoLoad,35,fsl-dpa)
+endef
+
+$(eval $(call KernelPackage,fsl-dpaa1-net))
+
 define KernelPackage/fsl-dpaa2-net
   SUBMENU:=$(NETWORK_DEVICES_MENU)
   TITLE:=NXP DPAA2 Ethernet
@@ -79,6 +117,51 @@ endef
 
 $(eval $(call KernelPackage,fsl-dpaa2-console))
 
+define KernelPackage/marvell-mdio
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Marvell Armada platform MDIO driver
+  DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy +kmod-of-mdio +kmod-acpi-mdio
+  KCONFIG:=CONFIG_MVMDIO
+  FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvmdio.ko
+  AUTOLOAD=$(call AutoLoad,30,marvell-mdio)
+endef
+
+$(eval $(call KernelPackage,marvell-mdio))
+
+define KernelPackage/phy-marvell-10g
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Marvell Alaska 10G PHY driver
+  DEPENDS:=@(TARGET_armvirt_64) +kmod-libphy
+  KCONFIG:=CONFIG_MARVELL_10G_PHY
+  FILES=$(LINUX_DIR)/drivers/net/phy/marvell10g.ko
+  AUTOLOAD=$(call AutoLoad,35,marvell10g)
+endef
+
+$(eval $(call KernelPackage,phy-marvell-10g))
+
+define KernelPackage/mvneta
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Marvell Armada 370/38x/XP/37xx network driver
+  DEPENDS:=@(TARGET_armvirt_64) +kmod-marvell-mdio +kmod-phylink
+  KCONFIG:=CONFIG_MVNETA
+  FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvneta.ko
+  AUTOLOAD=$(call AutoLoad,40,mvneta)
+endef
+
+$(eval $(call KernelPackage,mvneta))
+
+define KernelPackage/mvpp2
+  SUBMENU:=$(NETWORK_DEVICES_MENU)
+  TITLE:=Marvell Armada 375/7K/8K network driver
+  DEPENDS:=@(TARGET_armvirt_64) +kmod-marvell-mdio +kmod-phylink
+  KCONFIG:=CONFIG_MVPP2 \
+    CONFIG_MVPP2_PTP=n
+  FILES=$(LINUX_DIR)/drivers/net/ethernet/marvell/mvpp2/mvpp2.ko
+  AUTOLOAD=$(call AutoLoad,40,mvpp2)
+endef
+
+$(eval $(call KernelPackage,mvpp2))
+
 define KernelPackage/wdt-sp805
   SUBMENU:=$(OTHER_MENU)
   TITLE:=ARM SP805 Watchdog
@@ -94,3 +177,4 @@ define KernelPackage/wdt-sp805/description
 endef
 
 $(eval $(call KernelPackage,wdt-sp805))
+




More information about the lede-commits mailing list