Browse Source

raspberry-pi5: add basic support

Waldemar Brodkorb 3 months ago
parent
commit
9c6f42b55b

+ 9 - 9
scripts/install.sh

@@ -155,7 +155,7 @@ tgt=$2
 src=$3
 
 case $target {
-(atmel-ngw100|banana-pro|banana-pro-zero|orange-pi0|pcengines-apu|phytec-imx6|phytec-wega|raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|rockpi4-plus|solidrun-imx6|solidrun-clearfog|imgtec-ci20|default) ;;
+(atmel-ngw100|banana-pro|banana-pro-zero|orange-pi0|pcengines-apu|phytec-imx6|phytec-wega|raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5|rockpi4-plus|solidrun-imx6|solidrun-clearfog|imgtec-ci20|default) ;;
 (*)
 	print -u2 "Unknown target '$target', exiting"
 	exit 1 ;;
@@ -178,7 +178,7 @@ case $ostype {
 	basedev=$tgt
 	rootpart=${basedev}s1
 	datapart=${basedev}s2
-	if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = phytec-wega ]]; then
+	if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega ]]; then
 		bootpart=${basedev}s1
 		rootpart=${basedev}s2
 		datapart=${basedev}s3
@@ -229,7 +229,7 @@ case $ostype {
 
 	rootpart=${basedev}${partitionsep}1
 	datapart=${basedev}${partitionsep}2
-	if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 ]]; then
+	if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 ]]; then
 		bootpart=${basedev}${partitionsep}1
 		rootpart=${basedev}${partitionsep}2
 		datapart=${basedev}${partitionsep}3
@@ -294,7 +294,7 @@ syspartno=0
 # data - flexible (parameter)
 # system - everything else
 
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = phytec-wega ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega ]]; then
 	syspartno=1
 	bootfssz=100
 	if (( grub )); then
@@ -351,7 +351,7 @@ fi
 #(( partofs = ((coreendsec / secs) + 1) * secs ))
 # we just use 2048 all the time, since some loaders are longer
 partofs=2048
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = phytec-wega || $target = rockpi4-plus ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega || $target = rockpi4-plus ]]; then
 	(( spartofs = partofs + (100 * 2048) ))
 else
 	spartofs=$partofs
@@ -462,7 +462,7 @@ if (( datafssz )); then
 	    dd of="$T/firsttrack" conv=notrunc bs=1 seek=$((0x1CE)) 2>/dev/null
 fi
 
-if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = phytec-wega ]]; then
+if [[ $target = raspberry-pi || $target = raspberry-pi0 || $target = raspberry-pi2 || $target = raspberry-pi3 || $target = raspberry-pi3-64 || $target = raspberry-pi4 || $target = raspberry-pi4-64 || $target = raspberry-pi5 || $target = phytec-wega ]]; then
 	# move system and data partition from #0/#1 to #1/#2
 	dd if="$T/firsttrack" bs=1 skip=$((0x1BE)) count=32 of="$T/x" 2>/dev/null
 	dd of="$T/firsttrack" conv=notrunc bs=1 seek=$((0x1CE)) if="$T/x" 2>/dev/null
@@ -563,7 +563,7 @@ case $target {
 	dd if="$fwdir/SPL" of="$tgt" bs=1024 seek=1 > /dev/null 2>&1
 	dd if="$fwdir/u-boot.img" of="$tgt" bs=1024 seek=69 > /dev/null 2>&1
 	;;
-(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64)
+(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5)
 	(( noformat )) || create_fs "$bootpart" ADKBOOT vfat
 	;;
 (phytec-wega)
@@ -590,7 +590,7 @@ if (( datafssz )); then
 	((keep)) || create_fs "$datapart" ADKDATA ext4
 	((keep)) || tune_fs "$datapart"
 	case $target {
-	(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|phytec-wega)
+	(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5|phytec-wega)
 		echo "/dev/mmcblk0p3	/data	ext4	rw	0	0" >> "$R"/etc/fstab 
 	;;
 	(banana-pro|orange-pi0|solidrun-clearfog|rockpi4-plus)
@@ -612,7 +612,7 @@ fi
 
 (( quiet )) || print Finishing up with bootloader and kernel ...
 case $target {
-(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64)
+(raspberry-pi|raspberry-pi0|raspberry-pi2|raspberry-pi3|raspberry-pi3-64|raspberry-pi4|raspberry-pi4-64|raspberry-pi5)
 	mount_fs "$bootpart" "$B" vfat
 	for x in "$R"/boot/*; do
 		[[ -e "$x" ]] && mv -f "$R"/boot/* "$B/"

+ 196 - 0
target/aarch64/kernel/raspberry-pi5

@@ -0,0 +1,196 @@
+CONFIG_ARM64=y
+CONFIG_64BIT=y
+CONFIG_ARCH_BCM=y
+CONFIG_ARCH_BCM2835=y
+CONFIG_ARCH_BRCMSTB=y
+CONFIG_ARM_AMBA=y
+CONFIG_PCI=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCIE_BRCMSTB=y
+CONFIG_RASPBERRYPI_FIRMWARE=y
+CONFIG_BRCM_CHAR_DRIVERS=y
+CONFIG_BCM2708_VCMEM=y
+CONFIG_BCM_VCIO=y
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+CONFIG_SPI_DW_DMA=y
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_DYNAMIC=y
+CONFIG_PINCTRL=y
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+CONFIG_PINCTRL_RP1=y
+CONFIG_PINCTRL_BCM2712=y
+CONFIG_PINCTRL_BCM2835=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_RASPBERRYPI_EXP=y
+CONFIG_GPIO_BCM_VIRT=y
+CONFIG_GPIO_BRCMSTB=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_STMPE=y
+CONFIG_MFD_CORE=y
+CONFIG_MFD_RP1=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_GPIO=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_HID_GENERIC=y
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_NINTENDO_FF=y
+CONFIG_PLAYSTATION_FF=y
+CONFIG_SONY_FF=y
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_DUAL_ROLE=y
+CONFIG_USB_DWC3_HAPS=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_DWC2_DUAL_ROLE=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_BRCM_USB_PINMAP=y
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_USB_BDC_UDC=y
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_G_MULTI_RNDIS=y
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_BCM2835_MMC=y
+CONFIG_MMC_BCM2835_DMA=y
+CONFIG_MMC_BCM2835_PIO_DMA_BARRIER=2
+CONFIG_MMC_BCM2835_SDHOST=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_IPROC=y
+CONFIG_MMC_CQHCI=y
+CONFIG_MMC_SDHCI_BRCMSTB=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_NVMEM=y
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_DRV_RPI=y
+CONFIG_RTC_DRV_BRCMSTB=y
+CONFIG_RTC_I2C_AND_SPI=y
+CONFIG_RTC_DRV_DS3232_HWMON=y
+CONFIG_RTC_DRV_RV3029_HWMON=y
+CONFIG_DMADEVICES=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+CONFIG_DMA_BCM2835=y
+CONFIG_DW_AXI_DMAC=y
+CONFIG_DMA_BCM2708=y
+CONFIG_BCM_VIDEOCORE=y
+CONFIG_BCM2835_VCHIQ=y
+CONFIG_VCHIQ_CDEV=y
+CONFIG_SURFACE_PLATFORMS=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_COMMON_CLK_RP1=y
+CONFIG_COMMON_CLK_RP1_SDIO=y
+CONFIG_CLK_BCM2711_DVP=y
+CONFIG_CLK_BCM2835=y
+CONFIG_CLK_RASPBERRYPI=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_ARM_TIMER_SP804=y
+CONFIG_MAILBOX=y
+CONFIG_BCM2835_MBOX=y
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_BCM2712_IOMMU=y
+CONFIG_BCM2835_POWER=y
+CONFIG_RASPBERRYPI_POWER=y
+CONFIG_SOC_BRCMSTB=y
+CONFIG_BRCMSTB_PM=y
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_BRCMSTB=y
+CONFIG_PWM_RP1=y
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+CONFIG_BCM2712_MIP=y
+CONFIG_BCM7038_L1_IRQ=y
+CONFIG_BCM7120_L2_IRQ=y
+CONFIG_BRCMSTB_L2_IRQ=y
+CONFIG_PARTITION_PERCPU=y
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_BRCMSTB=y
+CONFIG_RESET_BRCMSTB_RESCAL=y
+CONFIG_RESET_RASPBERRYPI=y
+CONFIG_RESET_SIMPLE=y
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+CONFIG_PHY_BRCM_USB=y
+CONFIG_ARM_PMU=y
+CONFIG_RAS=y

+ 26 - 0
target/aarch64/systems/raspberry-pi5

@@ -0,0 +1,26 @@
+config ADK_TARGET_SYSTEM_RASPBERRY_PI5
+	bool "Raspberry PI 5"
+	select ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_AARCH64_CORTEX_A76
+	select ADK_TARGET_BOARD_BCM28XX
+	select ADK_TARGET_WITH_VGA
+	select ADK_TARGET_WITH_SERIAL
+	select ADK_TARGET_WITH_CPU_FREQ
+	select ADK_TARGET_WITH_USB
+	select ADK_TARGET_WITH_INPUT
+	select ADK_TARGET_WITH_SD
+	select ADK_TARGET_WITH_I2C
+	select ADK_TARGET_WITH_SPI
+	select ADK_TARGET_WITH_SMP
+	select ADK_TARGET_WITH_NET
+	select ADK_TARGET_WITH_NETDEVICE
+	select ADK_TARGET_WITH_WIFI
+	select ADK_TARGET_WITH_BLOCK
+	select ADK_TARGET_WITH_SOUND
+	select ADK_TARGET_WITH_SDIO
+	select ADK_PACKAGE_BCM28XX_BOOTLOADER
+	select ADK_TARGET_WITH_ROOT_RW
+	select ADK_TARGET_KERNEL_IMAGE
+	help
+	  Raspberry PI 5
+

+ 11 - 0
target/config/Config.in.cpu

@@ -31,6 +31,16 @@ config ADK_TARGET_CPU_AARCH64_CORTEX_A72
 	select ADK_TARGET_CPU_WITH_THUMB2
 	depends on ADK_TARGET_ARCH_AARCH64
 
+config ADK_TARGET_CPU_AARCH64_CORTEX_A76
+        bool "cortex-a76"
+	select ADK_TARGET_SUPPORTS_THREADS
+	select ADK_TARGET_SUPPORTS_NPTL
+	select ADK_TARGET_SUPPORTS_LT
+	select ADK_TARGET_CPU_WITH_FPU_VFPV4
+	select ADK_TARGET_CPU_WITH_NEON
+	select ADK_TARGET_CPU_WITH_THUMB2
+	depends on ADK_TARGET_ARCH_AARCH64
+
 # alpha
 config ADK_TARGET_CPU_ALPHA_EV4
 	bool "ev4"
@@ -1964,6 +1974,7 @@ config ADK_TARGET_GCC_CPU
 	default "cortex-a57" if ADK_TARGET_CPU_ARM_CORTEX_A57
 	default "cortex-a53" if ADK_TARGET_CPU_AARCH64_CORTEX_A53
 	default "cortex-a57" if ADK_TARGET_CPU_AARCH64_CORTEX_A57
+	default "cortex-a76" if ADK_TARGET_CPU_AARCH64_CORTEX_A76
 	default "cortex-m0" if ADK_TARGET_CPU_ARM_CORTEX_M0
 	default "cortex-m3" if ADK_TARGET_CPU_ARM_CORTEX_M3
 	default "cortex-m4" if ADK_TARGET_CPU_ARM_CORTEX_M4

+ 3 - 0
target/config/Config.in.runtime

@@ -173,6 +173,7 @@ config ADK_RUNTIME_TMPFS_SIZE
 	default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI2
 	default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI3
 	default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+	default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
 	default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
 	default "32768" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
@@ -299,6 +300,7 @@ config ADK_RUNTIME_GETTY_VGA
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI2
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
 	default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
@@ -321,6 +323,7 @@ config ADK_RUNTIME_GETTY_SERIAL
 	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI2
 	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI3
 	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI4
+	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
 	default n if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
 	default n if ADK_TARGET_SYSTEM_LEMOTE_YEELONG

+ 1 - 0
target/linux/Config.in.kernelcfg

@@ -34,6 +34,7 @@ config ADK_TARGET_LINUX_KERNEL_DEFCONFIG
 	default "bcm2711_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI4
 	default "bcmrpi3_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI3_64
 	default "bcm2711_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
+	default "bcm2712_defconfig" if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default "twr-k70f120m_defconfig" if ADK_TARGET_SYSTEM_KINETIS_K70
 	default "imx_v7_cbi_hb_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 && ADK_TARGET_LINUX_KERNEL_VERSION_GIT
 	default "imx_v6_v7_defconfig" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6

+ 6 - 4
target/linux/config/Config.in.ethernet

@@ -9,7 +9,7 @@ config ADK_LINUX_KERNEL_NET_ETHERNET
 	bool
 	default y
 
-config ADK_LINUX_KERNEL_NET_CADENCE
+config ADK_LINUX_KERNEL_NET_VENDOR_CADENCE
 	bool
 
 config ADK_LINUX_KERNEL_NET_VENDOR_ARC
@@ -164,7 +164,7 @@ config ADK_LINUX_KERNEL_BCMGENET
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
 		   ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI4 || \
-		     ADK_TARGET_SYSTEM_RAPSBERRY_PI4_64
+		     ADK_TARGET_SYSTEM_RASPBERRY_PI4_64
 	default n
 	help
 	  Broadcom GENET internal MAC support
@@ -436,13 +436,15 @@ config ADK_LINUX_KERNEL_IBMVETH
 	  IBM ethernet driver
 
 config ADK_LINUX_KERNEL_MACB
-	tristate "Atmel AT32/AT91 network driver"
-	select ADK_LINUX_KERNEL_NET_CADENCE
+	tristate "Cadence MACB network driver"
+	select ADK_LINUX_KERNEL_NET_VENDOR_CADENCE
 	depends on ADK_TARGET_CPU_AVR32 \
+		|| ADK_TARGET_SYSTEM_RASPBERRY_PI5 \
 		|| ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
 	default y if ADK_TARGET_SYSTEM_ATMEL_NGW100
 	default y if ADK_TARGET_SYSTEM_ATMEL_GRASSHOPPER
 	default y if ADK_TARGET_SYSTEM_QEMU_ARM_XILINX_ZYNQ
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default n
 	help
 	  Ethernet Driver for Atmel AT32 and AT91 parts. This driver

+ 10 - 3
target/linux/config/Config.in.usb

@@ -7,6 +7,9 @@ depends on ADK_TARGET_WITH_USB \
 	|| ADK_TARGET_SYSTEM_QEMU_X86 \
 	|| ADK_TARGET_GENERIC
 
+config ADK_LINUX_KERNEL_USB_PCI
+	bool
+
 config ADK_LINUX_KERNEL_USB_SUPPORT
 	bool
 
@@ -54,7 +57,7 @@ config ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI
 config ADK_LINUX_KERNEL_USB_EHCI_HCD_PCI
 	bool
 
-config ADK_LINUX_KERNEL_USB_XHCI_HCD_PCI
+config ADK_LINUX_KERNEL_USB_XHCI_PCI
 	bool
 
 config ADK_LINUX_KERNEL_USB_LIBUSUAL
@@ -81,6 +84,7 @@ config ADK_LINUX_KERNEL_USB
 	default y if ADK_TARGET_SYSTEM_KINETIS_K70
 	default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
 	default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default n
 	help
 	  Universal Serial Bus (USB) is a specification for a serial bus
@@ -116,9 +120,11 @@ menu "USB controller support"
 config ADK_LINUX_KERNEL_USB_XHCI_HCD
 	tristate "Support for USB xHCI HCD (USB 3.0)"
 	depends on ADK_LINUX_KERNEL_USB
-	select ADK_LINUX_KERNEL_USB_XHCI_HCD_PLATFORM if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
-	select ADK_LINUX_KERNEL_USB_XHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+	select ADK_LINUX_KERNEL_USB_PCI
+	select ADK_LINUX_KERNEL_USB_XHCI_PLATFORM
+	select ADK_LINUX_KERNEL_USB_XHCI_PCI
 	default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default n
 	help
           The eXtensible Host Controller Interface (xHCI) is standard for USB 3.0
@@ -147,6 +153,7 @@ config ADK_LINUX_KERNEL_USB_EHCI_HCD
 	default y if ADK_TARGET_SYSTEM_KINETIS_K70
 	default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
 	default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default n
 	help
 	  The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0

+ 2 - 0
target/linux/config/Config.in.wireless

@@ -152,6 +152,7 @@ config ADK_LINUX_KERNEL_BRCMFMAC
 	default m if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 	default m if ADK_TARGET_SYSTEM_BANANA_P2_ZERO
 	default m if ADK_TARGET_SYSTEM_ROCKPI4_ZERO
+	default m if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default n
 
 config ADK_LINUX_KERNEL_BRCMFMAC_SDIO
@@ -161,6 +162,7 @@ config ADK_LINUX_KERNEL_BRCMFMAC_SDIO
 	default y if ADK_TARGET_SYSTEM_PHYTEC_IMX6
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI0
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI3
+	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
 	default y if ADK_TARGET_SYSTEM_BANANA_P2_ZERO
 	default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
 	default n