mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 05:38:00 +00:00
imx: add imx8m support
Add imx8m support: - add a cortexa53 subtarget to imx - move ARCH and KERNELNAME to subtargets - account for kernel modules that are not used for cortexa53 No device-specific targets or firmware images are created yet but all imx8m* dtbs will be built. enabling CONFIG_TARGET_ROOTFS_INITRAMFS results in openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin which has been successfully booted on an imx8mm-evk using the following: u-boot=> tftpboot $fdt_addr_r image-imx8mm-evk.dtb && \ tftpboot $kernel_addr_r openwrt-imx-cortexa53-imx8m-initramfs-kernel.bin && \ booti $kernel_addr_r - $fdt_addr_r Signed-off-by: Tim Harvey <tharvey@gateworks.com>
This commit is contained in:
parent
8db83d4cc0
commit
ae8bf1a26e
@ -319,7 +319,8 @@ define KernelPackage/crypto-ghash/arm-ce
|
|||||||
AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce)
|
AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
KernelPackage/crypto-ghash/imx=$(KernelPackage/crypto-ghash/arm-ce)
|
KernelPackage/crypto-ghash/imx/cortexa7=$(KernelPackage/crypto-ghash/arm-ce)
|
||||||
|
KernelPackage/crypto-ghash/imx/cortexa9=$(KernelPackage/crypto-ghash/arm-ce)
|
||||||
KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce)
|
KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce)
|
||||||
KernelPackage/crypto-ghash/mvebu/cortexa9=$(KernelPackage/crypto-ghash/arm-ce)
|
KernelPackage/crypto-ghash/mvebu/cortexa9=$(KernelPackage/crypto-ghash/arm-ce)
|
||||||
|
|
||||||
@ -952,7 +953,8 @@ define KernelPackage/crypto-sha1/aarch64-ce
|
|||||||
AUTOLOAD+=$(call AutoLoad,09,sha1-ce)
|
AUTOLOAD+=$(call AutoLoad,09,sha1-ce)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
KernelPackage/crypto-sha1/imx=$(KernelPackage/crypto-sha1/arm-neon)
|
KernelPackage/crypto-sha1/imx/cortexa7=$(KernelPackage/crypto-sha1/arm-neon)
|
||||||
|
KernelPackage/crypto-sha1/imx/cortexa9=$(KernelPackage/crypto-sha1/arm-neon)
|
||||||
KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon)
|
KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon)
|
||||||
KernelPackage/crypto-sha1/mediatek/filogic=$(KernelPackage/crypto-sha1/aarch64-ce)
|
KernelPackage/crypto-sha1/mediatek/filogic=$(KernelPackage/crypto-sha1/aarch64-ce)
|
||||||
KernelPackage/crypto-sha1/mediatek/mt7622=$(KernelPackage/crypto-sha1/aarch64-ce)
|
KernelPackage/crypto-sha1/mediatek/mt7622=$(KernelPackage/crypto-sha1/aarch64-ce)
|
||||||
@ -1085,7 +1087,8 @@ define KernelPackage/crypto-sha512/aarch64
|
|||||||
AUTOLOAD+=$(call AutoLoad,09,sha512-arm64)
|
AUTOLOAD+=$(call AutoLoad,09,sha512-arm64)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
KernelPackage/crypto-sha512/imx=$(KernelPackage/crypto-sha512/arm)
|
KernelPackage/crypto-sha512/imx/cortexa7=$(KernelPackage/crypto-sha512/arm)
|
||||||
|
KernelPackage/crypto-sha512/imx/cortexa9=$(KernelPackage/crypto-sha512/arm)
|
||||||
KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm)
|
KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm)
|
||||||
KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm)
|
KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm)
|
||||||
|
|
||||||
|
@ -448,7 +448,7 @@ $(eval $(call KernelPackage,drm-imx-hdmi))
|
|||||||
define KernelPackage/drm-imx-ldb
|
define KernelPackage/drm-imx-ldb
|
||||||
SUBMENU:=$(VIDEO_MENU)
|
SUBMENU:=$(VIDEO_MENU)
|
||||||
TITLE:=Freescale i.MX LVDS DRM support
|
TITLE:=Freescale i.MX LVDS DRM support
|
||||||
DEPENDS:=+kmod-backlight kmod-drm-imx
|
DEPENDS:=@(TARGET_imx&&!TARGET_imx_cortexa53) +kmod-backlight kmod-drm-imx
|
||||||
KCONFIG:=CONFIG_DRM_IMX_LDB \
|
KCONFIG:=CONFIG_DRM_IMX_LDB \
|
||||||
CONFIG_DRM_PANEL_SIMPLE \
|
CONFIG_DRM_PANEL_SIMPLE \
|
||||||
CONFIG_DRM_PANEL=y \
|
CONFIG_DRM_PANEL=y \
|
||||||
@ -1182,7 +1182,7 @@ $(eval $(call KernelPackage,video-dma))
|
|||||||
|
|
||||||
define KernelPackage/video-coda
|
define KernelPackage/video-coda
|
||||||
TITLE:=i.MX VPU support
|
TITLE:=i.MX VPU support
|
||||||
DEPENDS:=@(TARGET_imx&&!TARGET_imx_cortexa7) +kmod-video-mem2mem +kmod-video-dma
|
DEPENDS:=@(TARGET_imx&&TARGET_imx_cortexa9) +kmod-video-mem2mem +kmod-video-dma
|
||||||
KCONFIG:= \
|
KCONFIG:= \
|
||||||
CONFIG_VIDEO_CODA \
|
CONFIG_VIDEO_CODA \
|
||||||
CONFIG_VIDEO_IMX_VDOA
|
CONFIG_VIDEO_IMX_VDOA
|
||||||
|
@ -4,18 +4,15 @@
|
|||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
ARCH:=arm
|
|
||||||
BOARD:=imx
|
BOARD:=imx
|
||||||
BOARDNAME:=NXP i.MX
|
BOARDNAME:=NXP i.MX
|
||||||
FEATURES:=audio display fpu gpio pcie rtc usb usbgadget squashfs targz nand ubifs boot-part rootfs-part
|
FEATURES:=audio display fpu gpio pcie rtc usb usbgadget squashfs targz nand ubifs boot-part rootfs-part
|
||||||
SUBTARGETS:=cortexa7 cortexa9
|
SUBTARGETS:=cortexa7 cortexa9 cortexa53
|
||||||
|
|
||||||
KERNEL_PATCHVER:=6.1
|
KERNEL_PATCHVER:=6.1
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/target.mk
|
include $(INCLUDE_DIR)/target.mk
|
||||||
|
|
||||||
KERNELNAME:=zImage dtbs
|
|
||||||
|
|
||||||
DEFAULT_PACKAGES += uboot-envtools mkf2fs e2fsprogs blkid
|
DEFAULT_PACKAGES += uboot-envtools mkf2fs e2fsprogs blkid
|
||||||
|
|
||||||
$(eval $(call BuildTarget))
|
$(eval $(call BuildTarget))
|
||||||
|
164
target/linux/imx/cortexa53/config-default
Normal file
164
target/linux/imx/cortexa53/config-default
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
CONFIG_64BIT=y
|
||||||
|
CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
|
||||||
|
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
|
||||||
|
CONFIG_ARCH_DMA_ADDR_T_64BIT=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_NXP=y
|
||||||
|
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
||||||
|
CONFIG_ARCH_STACKWALK=y
|
||||||
|
CONFIG_ARCH_WANTS_NO_INSTR=y
|
||||||
|
CONFIG_ARCH_WANTS_THP_SWAP=y
|
||||||
|
CONFIG_ARM64=y
|
||||||
|
CONFIG_ARM64_4K_PAGES=y
|
||||||
|
CONFIG_ARM64_ERRATUM_843419=y
|
||||||
|
CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
|
||||||
|
CONFIG_ARM64_PAGE_SHIFT=12
|
||||||
|
CONFIG_ARM64_PA_BITS=48
|
||||||
|
CONFIG_ARM64_PA_BITS_48=y
|
||||||
|
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
||||||
|
CONFIG_ARM64_VA_BITS=39
|
||||||
|
CONFIG_ARM64_VA_BITS_39=y
|
||||||
|
CONFIG_ARM_AMBA=y
|
||||||
|
CONFIG_ARM_GIC=y
|
||||||
|
CONFIG_ARM_GIC_V2M=y
|
||||||
|
CONFIG_ARM_GIC_V3=y
|
||||||
|
CONFIG_ARM_GIC_V3_ITS=y
|
||||||
|
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||||
|
# CONFIG_ARM_IMX8M_DDRC_DEVFREQ is not set
|
||||||
|
CONFIG_ARM_IMX_BUS_DEVFREQ=y
|
||||||
|
CONFIG_ARM_IMX_CPUFREQ_DT=y
|
||||||
|
CONFIG_ARM_PSCI_FW=y
|
||||||
|
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||||
|
CONFIG_BLK_MQ_PCI=y
|
||||||
|
CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
|
||||||
|
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||||
|
CONFIG_CLK_IMX8MM=y
|
||||||
|
CONFIG_CLK_IMX8MN=y
|
||||||
|
CONFIG_CLK_IMX8MP=y
|
||||||
|
CONFIG_CLK_IMX8MQ=y
|
||||||
|
CONFIG_CMA=y
|
||||||
|
CONFIG_CMA_AREAS=7
|
||||||
|
# CONFIG_CMA_DEBUG is not set
|
||||||
|
# CONFIG_CMA_DEBUGFS is not set
|
||||||
|
# CONFIG_CMA_SYSFS is not set
|
||||||
|
CONFIG_CONSOLE_TRANSLATIONS=y
|
||||||
|
CONFIG_CONTIG_ALLOC=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
||||||
|
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
|
||||||
|
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA256_ARM64=y
|
||||||
|
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA512_ARM64=y
|
||||||
|
CONFIG_CRYPTO_SHA512_ARM64_CE=y
|
||||||
|
# CONFIG_DRM_IMX_DCSS is not set
|
||||||
|
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
|
||||||
|
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
|
||||||
|
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
|
||||||
|
# CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND is not set
|
||||||
|
CONFIG_DEVFREQ_GOV_USERSPACE=y
|
||||||
|
# CONFIG_DEVFREQ_THERMAL is not set
|
||||||
|
# CONFIG_DMA_CMA is not set
|
||||||
|
CONFIG_DMA_DIRECT_REMAP=y
|
||||||
|
CONFIG_DUMMY_CONSOLE=y
|
||||||
|
CONFIG_DWMAC_DWC_QOS_ETH=y
|
||||||
|
CONFIG_DWMAC_GENERIC=y
|
||||||
|
CONFIG_DWMAC_IMX8=y
|
||||||
|
CONFIG_EXTCON_USB_GPIO=y
|
||||||
|
CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx7d.bin"
|
||||||
|
CONFIG_EXTRA_FIRMWARE_DIR="firmware"
|
||||||
|
CONFIG_FRAME_POINTER=y
|
||||||
|
CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y
|
||||||
|
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
|
||||||
|
CONFIG_GENERIC_CSUM=y
|
||||||
|
CONFIG_GENERIC_IOREMAP=y
|
||||||
|
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
|
||||||
|
CONFIG_GENERIC_PHY=y
|
||||||
|
CONFIG_GPIO_PCA953X=y
|
||||||
|
CONFIG_GPIO_PCA953X_IRQ=y
|
||||||
|
CONFIG_HW_CONSOLE=y
|
||||||
|
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
||||||
|
CONFIG_IMX8MM_THERMAL=y
|
||||||
|
CONFIG_IMX_GPCV2=y
|
||||||
|
CONFIG_IMX_GPCV2_PM_DOMAINS=y
|
||||||
|
CONFIG_INPUT=y
|
||||||
|
CONFIG_INTERCONNECT=y
|
||||||
|
CONFIG_INTERCONNECT_IMX=y
|
||||||
|
CONFIG_INTERCONNECT_IMX8MM=y
|
||||||
|
CONFIG_INTERCONNECT_IMX8MN=y
|
||||||
|
CONFIG_INTERCONNECT_IMX8MP=y
|
||||||
|
CONFIG_INTERCONNECT_IMX8MQ=y
|
||||||
|
CONFIG_MEMORY_ISOLATION=y
|
||||||
|
# CONFIG_MMC_SDHCI_PCI is not set
|
||||||
|
CONFIG_MODULES_USE_ELF_RELA=y
|
||||||
|
CONFIG_NEED_SG_DMA_LENGTH=y
|
||||||
|
CONFIG_NOP_USB_XCEIV=y
|
||||||
|
CONFIG_PARTITION_PERCPU=y
|
||||||
|
CONFIG_PCI=y
|
||||||
|
CONFIG_PCIEAER=y
|
||||||
|
CONFIG_PCIEPORTBUS=y
|
||||||
|
CONFIG_PCIE_DW=y
|
||||||
|
CONFIG_PCIE_DW_HOST=y
|
||||||
|
CONFIG_PCIE_PME=y
|
||||||
|
CONFIG_PCI_DOMAINS=y
|
||||||
|
CONFIG_PCI_DOMAINS_GENERIC=y
|
||||||
|
CONFIG_PCI_IMX6=y
|
||||||
|
CONFIG_PCI_MSI=y
|
||||||
|
CONFIG_PCI_MSI_IRQ_DOMAIN=y
|
||||||
|
CONFIG_PCS_XPCS=y
|
||||||
|
CONFIG_PGTABLE_LEVELS=3
|
||||||
|
CONFIG_PHYLIB_LEDS=y
|
||||||
|
CONFIG_PHYS_ADDR_T_64BIT=y
|
||||||
|
CONFIG_PHY_FSL_IMX8MQ_USB=y
|
||||||
|
CONFIG_PHY_FSL_IMX8M_PCIE=y
|
||||||
|
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
|
||||||
|
CONFIG_PINCTRL_IMX=y
|
||||||
|
CONFIG_PINCTRL_IMX8MM=y
|
||||||
|
CONFIG_PINCTRL_IMX8MN=y
|
||||||
|
CONFIG_PINCTRL_IMX8MP=y
|
||||||
|
CONFIG_PINCTRL_IMX8MQ=y
|
||||||
|
CONFIG_PM_DEVFREQ=y
|
||||||
|
# CONFIG_PM_DEVFREQ_EVENT is not set
|
||||||
|
CONFIG_PM_GENERIC_DOMAINS=y
|
||||||
|
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||||
|
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
|
||||||
|
CONFIG_POWER_RESET=y
|
||||||
|
CONFIG_POWER_SUPPLY=y
|
||||||
|
CONFIG_QUEUED_RWLOCKS=y
|
||||||
|
CONFIG_QUEUED_SPINLOCKS=y
|
||||||
|
CONFIG_REGULATOR_MP5416=y
|
||||||
|
CONFIG_REGULATOR_PCA9450=y
|
||||||
|
CONFIG_RESET_IMX7=y
|
||||||
|
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
||||||
|
CONFIG_SOC_IMX8M=y
|
||||||
|
CONFIG_SPARSEMEM=y
|
||||||
|
CONFIG_SPARSEMEM_EXTREME=y
|
||||||
|
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||||
|
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||||
|
CONFIG_STMMAC_ETH=y
|
||||||
|
CONFIG_STMMAC_PLATFORM=y
|
||||||
|
CONFIG_SWIOTLB=y
|
||||||
|
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||||
|
CONFIG_TIMER_IMX_SYS_CTR=y
|
||||||
|
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
|
||||||
|
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||||
|
CONFIG_USB_CONN_GPIO=y
|
||||||
|
CONFIG_USB_DWC3=y
|
||||||
|
CONFIG_USB_DWC3_DUAL_ROLE=y
|
||||||
|
# CONFIG_USB_DWC3_GADGET is not set
|
||||||
|
# CONFIG_USB_DWC3_HOST is not set
|
||||||
|
CONFIG_USB_DWC3_IMX8MP=y
|
||||||
|
CONFIG_USB_XHCI_HCD=y
|
||||||
|
CONFIG_USB_XHCI_PLATFORM=y
|
||||||
|
CONFIG_VMAP_STACK=y
|
||||||
|
CONFIG_VT=y
|
||||||
|
CONFIG_VT_CONSOLE=y
|
||||||
|
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||||
|
CONFIG_ZONE_DMA32=y
|
8
target/linux/imx/cortexa53/target.mk
Normal file
8
target/linux/imx/cortexa53/target.mk
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
ARCH:=aarch64
|
||||||
|
BOARDNAME:=NXP i.MX with Cortex-A53 (ARM64)
|
||||||
|
CPU_TYPE:=cortex-a53
|
||||||
|
KERNELNAME:=Image dtbs
|
||||||
|
|
||||||
|
define Target/Description
|
||||||
|
Build firmware images for NXP i.MX (Cortex-A53) based boards.
|
||||||
|
endef
|
@ -1,6 +1,8 @@
|
|||||||
|
ARCH:=arm
|
||||||
BOARDNAME:=NXP i.MX with Cortex-A7
|
BOARDNAME:=NXP i.MX with Cortex-A7
|
||||||
CPU_TYPE:=cortex-a7
|
CPU_TYPE:=cortex-a7
|
||||||
CPU_SUBTYPE:=neon-vfpv4
|
CPU_SUBTYPE:=neon-vfpv4
|
||||||
|
KERNELNAME:=zImage dtbs
|
||||||
|
|
||||||
define Target/Description
|
define Target/Description
|
||||||
Build firmware images for NXP i.MX (Cortex-A7) based boards.
|
Build firmware images for NXP i.MX (Cortex-A7) based boards.
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
|
ARCH:=arm
|
||||||
BOARDNAME:=NXP i.MX with Cortex-A9
|
BOARDNAME:=NXP i.MX with Cortex-A9
|
||||||
CPU_TYPE:=cortex-a9
|
CPU_TYPE:=cortex-a9
|
||||||
CPU_SUBTYPE:=neon
|
CPU_SUBTYPE:=neon
|
||||||
|
KERNELNAME:=zImage dtbs
|
||||||
|
|
||||||
define Target/Description
|
define Target/Description
|
||||||
Build firmware images for NXP i.MX (Cortex-A9) based boards.
|
Build firmware images for NXP i.MX (Cortex-A9) based boards.
|
||||||
|
15
target/linux/imx/image/cortexa53.mk
Normal file
15
target/linux/imx/image/cortexa53.mk
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
define Device/Default
|
||||||
|
PROFILES := Default
|
||||||
|
FILESYSTEMS := squashfs ubifs ext4
|
||||||
|
DEVICE_DTS_DIR := $(DTS_DIR)/freescale
|
||||||
|
KERNEL_INSTALL := 1
|
||||||
|
KERNEL_NAME := Image
|
||||||
|
KERNEL := kernel-bin
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Device/imx8m
|
||||||
|
DEVICE_VENDOR := NXP
|
||||||
|
DEVICE_MODEL := i.MX8M
|
||||||
|
DEVICE_DTS := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*.dts)))
|
||||||
|
endef
|
||||||
|
TARGET_DEVICES += imx8m
|
Loading…
Reference in New Issue
Block a user