summaryrefslogtreecommitdiff
path: root/conf/machine/verdin-imx8mm.conf
blob: 72f07dcfcb723481e47bf9ddf7f856887d54f85d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#@TYPE: Machine
#@NAME: Toradex Verdin iMX8M Mini
#@SOC: i.MX8MM
#@DESCRIPTION: Machine configuration for Toradex Verdin iMX8M Mini SoM
#@MAINTAINER: Max Krummenacher <max.krummenacher@toradex.com>

MACHINE_NAME = "Verdin-iMX8MM"

MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:"

MACHINE_EXTRA_RRECOMMENDS:append = " mwifiexconf"

IMX_DEFAULT_BSP = "nxp"
IMX_DEFAULT_BSP:upstream = "mainline"

require conf/machine/include/imx-base.inc
# override imx-base.inc which sets this to cortexa53-crypto
DEFAULTTUNE:mx8mm-generic-bsp = "armv8a-crypto"
require conf/machine/include/arm/armv8a/tune-cortexa53.inc

# Don't include kernels in standard images
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""

KERNEL_DTB_PREFIX = "freescale/"
KERNEL_DEVICETREE = " \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dahlia.dtb \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-dev.dtb \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-nonwifi-yavia.dtb \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dahlia.dtb \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-dev.dtb \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-yavia.dtb \
"
KERNEL_IMAGETYPE:aarch64 = "Image.gz"

UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "verdin-imx8mm_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"

UBOOT_DTB_LOADADDRESS:mx8mm-generic-bsp = "0x50200000"
UBOOT_DTBO_LOADADDRESS:mx8mm-generic-bsp = "0x50240000"
UBOOT_ENTRYPOINT:mx8mm-generic-bsp  = "0x48200000"
UBOOT_RD_LOADADDRESS = "0x52300000"

# Set u-boot DTB
UBOOT_DTB_NAME = "imx8mm-verdin.dtb"
UBOOT_DTB_NAME:use-mainline-bsp:use-head-next = "imx8mm-verdin-wifi-dev.dtb"

# Set DDR FIRMWARE
DDR_FIRMWARE_NAME = " \
    lpddr4_pmu_train_1d_imem.bin \
    lpddr4_pmu_train_1d_dmem.bin \
    lpddr4_pmu_train_2d_imem.bin \
    lpddr4_pmu_train_2d_dmem.bin \
"

ATF_PLATFORM = "imx8mm"
SOC_ATF_BOOT_UART_BASE:verdin-imx8mm = "0x30860000"

BOOT_SPACE = "65536"

# Set imx-mkimage boot target
IMXBOOT_TARGETS = "flash_evk_emmc_fastboot"
IMX_BOOT_SOC_TARGET = "iMX8MM"

IMAGE_BOOT_FILES:append = " boot.scr-${MACHINE};boot.scr"
WKS_FILE_DEPENDS:append = " u-boot-default-script"
PREFERRED_PROVIDER_u-boot-default-script = "u-boot-distro-boot"

LOADADDR = ""
UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
IMX_BOOT_SEEK = "33"

SERIAL_CONSOLES = "115200;ttymxc0"

MACHINE_FEATURES += "3g bluetooth alsa ext2 pci screen touchscreen usbgadget usbhost vfat wifi"

PREFERRED_PROVIDER_virtual/kernel = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:preempt-rt = "linux-toradex"
PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp = "linux-toradex-upstream"
PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt"
PREFERRED_PROVIDER_virtual/dtb:use-mainline-bsp = "device-tree-overlays-mainline"
PREFERRED_VERSION_linux-imx-headers = "5.15"

IMX_DEFAULT_BOOTLOADER = "u-boot-toradex"
# Currently we use the nxp 2022.04 downstream for mx8
PREFERRED_VERSION_u-boot-toradex = "2022.04%"
# With use-mainline-bsp build mainline U-Boot
PREFERRED_VERSION_u-boot-toradex:use-mainline-bsp = "mainline"
# variables to control imx-boot with u-boot
ATF_LOAD_ADDR = "0x920000"
IMX_EXTRA_FIRMWARE = "firmware-imx-8m"
TEE_LOAD_ADDR = "0xbe000000"
UBOOT_MAKE_TARGET:use-mainline-bsp = "all"

# handle machine firmware
MACHINE_FIRMWARE:append = " linux-firmware-ath10k linux-firmware-imx-sdma-imx7d"
MACHINE_FIRMWARE:append = " linux-firmware-sd8997"
MACHINE_FIRMWARE:append = " firmware-imx-vpu-imx8"

BOARD_TYPE = "verdin"

IMAGE_CLASSES:append = " image_type_tezi"
IMAGE_FSTYPES += "teziimg"

UBOOT_BINARY_TEZI_EMMC = "imx-boot"
OFFSET_BOOTROM_PAYLOAD = "2"

TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT = "verdin-imx8mm_dsi-to-hdmi_overlay.dtbo verdin-imx8mm_spidev_overlay.dtbo"

TORADEX_PRODUCT_IDS = "0055 0057 0059 0060 0068"
TORADEX_PRODUCT_IDS[0055] = "imx8mm-verdin-wifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0057] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0059] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0060] = "imx8mm-verdin-wifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0068] = "imx8mm-verdin-wifi-v1.1-dev.dtb"