summaryrefslogtreecommitdiff
path: root/conf/machine/verdin-imx8mm.conf
blob: 55ae79393f67602cca1e5ca3bbacb52f2d12af58 (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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#@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-mallow.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-mallow.dtb \
    ${KERNEL_DTB_PREFIX}imx8mm-verdin-wifi-yavia.dtb \
"
KERNEL_DEVICETREE:use-mainline-bsp = " \
    ${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:mx8-generic-bsp = "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 = "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 tpm2 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_VERSION_linux-toradex-upstream = "6.6%"
PREFERRED_PROVIDER_virtual/kernel:use-mainline-bsp:preempt-rt = "linux-toradex-upstream-rt"
PREFERRED_VERSION_linux-toradex-upstream-rt = "6.6%"
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 0086 0087"
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"
TORADEX_PRODUCT_IDS[0086] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"
TORADEX_PRODUCT_IDS[0087] = "imx8mm-verdin-nonwifi-v1.1-dev.dtb"