Files
openwrt/target/linux/imx/image/cortexa53.mk
T
Zoltan HERPAI 980becf1da imx: add support for Olimex i.MX8MP-SOM-EVB
This adds support for an i.MX8-based system-on-module + EVB board.

CPU:      NXP i.MX8MP @ 1600MHz (quad-core A53)
Memory:   4Gb
PCI:      1x PCIe M.2 2280 slot
Ethernet: 2x GE with Micrel PHY (no MAC in EEPROM)
USB:      2x 3.0
UART:     separate UARTs for the A53 and the M7 cores
Storage:  microSD slot, eMMC headers
Misc:     2KByte EEPROM (at24), audio via ES8328 (unsupported), 2x CAN, HDMI
Power:    5VDC

 - Patches refreshed as required
 - The cortexa53 subtarget selects Micrel PHY from now on
 - u-boot added for the board

Installation:
  Use the standard installation to an SD-card by writing out the
  squashfs image (openwrt-imx-cortexa53-olimex_imx8mp-som-squashfs-img.gz)
  to it.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2026-09-15 18:32:14 +02:00

132 lines
3.9 KiB
Makefile

DEVICE_VARS += UBOOT BOOT_SCRIPT
define Build/boot-scr
rm -f $@-boot.scr
mkimage -A arm64 -O linux -T script -C none -a 0 -e 0 \
-d bootscript-$(BOOT_SCRIPT) $@-boot.scr
endef
define Build/boot-img-ext4
rm -fR $@.boot
mkdir -p $@.boot
$(foreach dts,$(DEVICE_DTS), $(CP) $(KDIR)/image-$(dts).dtb $@.boot/$(dts).dtb;)
$(foreach dtbo,$(DEVICE_DTS_OVERLAY), $(CP) $(KDIR)/image-$(dtbo).dtbo $@.boot/$(dtbo).dtbo;)
$(CP) $(IMAGE_KERNEL) $@.boot/$(KERNEL_NAME)
-$(CP) $@-boot.scr $@.boot/boot.scr
make_ext4fs -J -L kernel -l $(CONFIG_TARGET_KERNEL_PARTSIZE)M \
$(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \
$@.bootimg $@.boot
endef
define Build/sdcard-img-ext4
SIGNATURE="$(IMG_PART_SIGNATURE)" \
PARTOFFSET="$(PARTITION_OFFSET)" PADDING=1 \
$(if $(filter $(1),efi),GUID="$(IMG_PART_DISKGUID)") $(SCRIPT_DIR)/gen_image_generic.sh \
$@ \
$(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \
$(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) \
256
endef
define Build/sdcard-img-add-uboot
dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-flash.bin of=$@ bs=1k seek=32 conv=notrunc
endef
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
define Device/gateworks_venice
$(call Device/Default)
FILESYSTEMS := squashfs ext4
DEVICE_VENDOR := Gateworks
DEVICE_MODEL := i.MX8M Venice
SUPPORTED_DEVICES := \
gw,imx8mm-gw71xx-0x \
gw,imx8mm-gw72xx-0x \
gw,imx8mp-gw72xx-2x \
gw,imx8mm-gw73xx-0x \
gw,imx8mp-gw73xx-2x \
gw,imx8mm-gw7901 \
gw,imx8mm-gw7902 \
gw,imx8mn-gw7902 \
gw,imx8mm-gw7903 \
gateworks,imx8mp-gw71xx-2x \
gateworks,imx8mp-gw72xx-2x \
gateworks,imx8mp-gw73xx-2x \
gateworks,imx8mp-gw74xx \
gateworks,imx8mm-gw75xx-0x \
gateworks,imx8mp-gw75xx-2x \
gateworks,imx8mm-gw7904 \
gateworks,imx8mm-gw7905-0x \
gateworks,imx8mp-gw7905-2x
BOOT_SCRIPT := gateworks_venice
PARTITION_OFFSET := 16M
DEVICE_DTS := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*-venice*.dts)))
DEVICE_DTS_OVERLAY := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*-venice*.dtso)))
DEVICE_PACKAGES := \
kmod-hwmon-gsc kmod-rtc-ds1672 kmod-eeprom-at24 \
kmod-gpio-button-hotplug kmod-leds-gpio kmod-pps-gpio \
kmod-lan743x kmod-sky2 kmod-iio-st_accel-i2c \
kmod-can kmod-can-flexcan kmod-can-mcp251x \
kmod-dsa-ksz9477-i2c
IMAGES := img.gz
IMAGE/img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
endef
TARGET_DEVICES += gateworks_venice
define Device/olimex_imx8mp-som
$(call Device/Default)
FILESYSTEMS := squashfs ext4
DEVICE_VENDOR := Olimex
DEVICE_MODEL := i.MX8MP-SOM-EVB
SUPPORTED_DEVICES := \
olimex,imx8mp-som-evb
BOOT_SCRIPT := olimex_imx8mp_som_evb
PARTITION_OFFSET := 16M
DEVICE_DTS := imx8mp-olimex-som-evb
DEVICE_PACKAGES := \
kmod-eeprom-at24 \
kmod-leds-gpio \
kmod-can kmod-can-flexcan
UBOOT := imx8mp_olimex_som_evb
IMAGES := img.gz
IMAGE/img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | sdcard-img-add-uboot | gzip | append-metadata
endef
TARGET_DEVICES += olimex_imx8mp-som
define Device/kontron_osm-s-imx8mp
$(call Device/Default)
FILESYSTEMS := squashfs ext4
DEVICE_VENDOR := Kontron
DEVICE_MODEL := OSM-S/BL i.MX8MP
SUPPORTED_DEVICES := \
kontron,imx8mp-bl-osm-s
BOOT_SCRIPT := kontron_osm-s-imx8mp
PARTITION_OFFSET := 16M
DEVICE_DTS := imx8mp-kontron-bl-osm-s
DEVICE_PACKAGES := \
kmod-can kmod-can-flexcan \
kmod-eeprom-at24 \
kmod-leds-gpio \
kmod-rtc-rv3028
UBOOT := kontron-osm-s-mx8mp
IMAGES := img.gz
IMAGE/img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | sdcard-img-add-uboot | gzip | append-metadata
endef
TARGET_DEVICES += kontron_osm-s-imx8mp