Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# Prepend path to override files from upstream recipe
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
PACKAGE_ARCH:imx-generic-bsp = "${MACHINE_ARCH}"
|
||||
PACKAGE_ARCH:qoriq-generic-bsp = "${MACHINE_ARCH}"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,459 @@
|
||||
defaults.pcm.rate_converter "linear"
|
||||
|
||||
pcm.dmix_48000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 48000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_44100{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 44100
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_32000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 32000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_24000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 24000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_22050{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 22050
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_16000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 16000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_12000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 12000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_11025{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 11025
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_8000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 8000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_48000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 48000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_44100{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 44100
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_32000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 32000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_24000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 24000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_22050{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 22050
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_16000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 16000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_12000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 12000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_11025{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 11025
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_8000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 8000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.asymed{
|
||||
type asym
|
||||
playback.pcm "dmix_48000"
|
||||
capture.pcm "dsnoop_48000"
|
||||
}
|
||||
|
||||
pcm.dsp0{
|
||||
type plug
|
||||
slave.pcm "asymed"
|
||||
}
|
||||
|
||||
pcm.!default{
|
||||
type plug
|
||||
route_policy "average"
|
||||
slave.pcm "asymed"
|
||||
}
|
||||
|
||||
ctl.!default{
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
ctl.mixer0{
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
pcm_slave.esai{
|
||||
pcm "hw:0,0"
|
||||
channels 8
|
||||
rate 48000
|
||||
period_time 40000
|
||||
}
|
||||
|
||||
pcm.esaich1to6{
|
||||
type dshare
|
||||
ipc_key 5778293
|
||||
slave esai
|
||||
bindings.0 0
|
||||
bindings.1 4
|
||||
bindings.2 1
|
||||
bindings.3 5
|
||||
bindings.4 2
|
||||
bindings.5 6
|
||||
}
|
||||
|
||||
pcm.esaich78{
|
||||
type dshare
|
||||
ipc_key 5778293
|
||||
slave esai
|
||||
bindings.0 3
|
||||
bindings.1 7
|
||||
}
|
||||
|
||||
pcm_slave.sai5 {
|
||||
pcm "hw:5,0"
|
||||
channels 8
|
||||
}
|
||||
|
||||
pcm.sai5_ch1to8 {
|
||||
type dsnoop
|
||||
ipc_key 5185558
|
||||
slave sai5
|
||||
bindings.0 0
|
||||
bindings.1 4
|
||||
bindings.2 1
|
||||
bindings.3 5
|
||||
bindings.4 2
|
||||
bindings.5 6
|
||||
bindings.6 3
|
||||
bindings.7 7
|
||||
}
|
||||
|
||||
pcm.sai5_ch1to6 {
|
||||
type dsnoop
|
||||
ipc_key 5165558
|
||||
slave sai5
|
||||
bindings.0 0
|
||||
bindings.1 4
|
||||
bindings.2 1
|
||||
bindings.3 5
|
||||
bindings.4 2
|
||||
bindings.5 6
|
||||
}
|
||||
|
||||
pcm.sai5_ch1to4 {
|
||||
type dsnoop
|
||||
ipc_key 5145558
|
||||
slave sai5
|
||||
bindings.0 0
|
||||
bindings.1 4
|
||||
bindings.2 1
|
||||
bindings.3 5
|
||||
}
|
||||
|
||||
pcm_slave.sai1{
|
||||
pcm "hw:4,0"
|
||||
channels 16
|
||||
}
|
||||
|
||||
pcm.sai1to16{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
bindings.4 2
|
||||
bindings.5 10
|
||||
bindings.6 3
|
||||
bindings.7 11
|
||||
bindings.8 4
|
||||
bindings.9 12
|
||||
bindings.10 5
|
||||
bindings.11 13
|
||||
bindings.12 6
|
||||
bindings.13 14
|
||||
bindings.14 7
|
||||
bindings.15 15
|
||||
}
|
||||
|
||||
pcm.sai1to14{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
bindings.4 2
|
||||
bindings.5 10
|
||||
bindings.6 3
|
||||
bindings.7 11
|
||||
bindings.8 4
|
||||
bindings.9 12
|
||||
bindings.10 5
|
||||
bindings.11 13
|
||||
bindings.12 6
|
||||
bindings.13 14
|
||||
}
|
||||
|
||||
pcm.sai1to12{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
bindings.4 2
|
||||
bindings.5 10
|
||||
bindings.6 3
|
||||
bindings.7 11
|
||||
bindings.8 4
|
||||
bindings.9 12
|
||||
bindings.10 5
|
||||
bindings.11 13
|
||||
}
|
||||
|
||||
pcm.sai1to10{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
bindings.4 2
|
||||
bindings.5 10
|
||||
bindings.6 3
|
||||
bindings.7 11
|
||||
bindings.8 4
|
||||
bindings.9 12
|
||||
}
|
||||
|
||||
pcm.sai1to8{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
bindings.4 2
|
||||
bindings.5 10
|
||||
bindings.6 3
|
||||
bindings.7 11
|
||||
}
|
||||
|
||||
pcm.sai1to6{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
bindings.4 2
|
||||
bindings.5 10
|
||||
}
|
||||
|
||||
pcm.sai1to4{
|
||||
type dshare
|
||||
slave sai1
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 8
|
||||
bindings.2 1
|
||||
bindings.3 9
|
||||
}
|
||||
|
||||
pcm.cdnhdmi4ch {
|
||||
type dshare
|
||||
slave {
|
||||
pcm "hw:3,0"
|
||||
channels 4
|
||||
}
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 2
|
||||
bindings.2 1
|
||||
bindings.3 3
|
||||
}
|
||||
|
||||
pcm.cdnhdmi8ch {
|
||||
type dshare
|
||||
slave {
|
||||
pcm "hw:3,0"
|
||||
channels 8
|
||||
}
|
||||
ipc_key 5144458
|
||||
bindings.0 0
|
||||
bindings.1 4
|
||||
bindings.2 1
|
||||
bindings.3 5
|
||||
bindings.4 2
|
||||
bindings.5 6
|
||||
bindings.6 3
|
||||
bindings.7 7
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
defaults.pcm.rate_converter "linear"
|
||||
|
||||
pcm.dmix_48000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 48000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_44100{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 44100
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_32000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 32000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_24000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 24000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_22050{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 22050
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_16000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 16000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_12000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 12000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_11025{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 11025
|
||||
}
|
||||
}
|
||||
|
||||
pcm.dmix_8000{
|
||||
type dmix
|
||||
ipc_key 5678293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 8000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_48000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 48000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_44100{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 44100
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_32000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 32000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_24000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 24000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_22050{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 22050
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_16000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 16000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_12000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 12000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_11025{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 11025
|
||||
}
|
||||
}
|
||||
|
||||
pcm.!dsnoop_8000{
|
||||
type dsnoop
|
||||
ipc_key 5778293
|
||||
ipc_key_add_uid yes
|
||||
slave{
|
||||
pcm "hw:0,0"
|
||||
period_time 40000
|
||||
format S16_LE
|
||||
rate 8000
|
||||
}
|
||||
}
|
||||
|
||||
pcm.asymed{
|
||||
type asym
|
||||
playback.pcm "dmix_48000"
|
||||
capture.pcm "dsnoop_48000"
|
||||
}
|
||||
|
||||
pcm.dsp0{
|
||||
type plug
|
||||
slave.pcm "asymed"
|
||||
}
|
||||
|
||||
pcm.!default{
|
||||
type plug
|
||||
route_policy "average"
|
||||
slave.pcm "asymed"
|
||||
}
|
||||
|
||||
ctl.!default{
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
ctl.mixer0{
|
||||
type hw
|
||||
card 0
|
||||
}
|
||||
|
||||
pcm_slave.esai{
|
||||
pcm "hw:0,0"
|
||||
channels 8
|
||||
rate 48000
|
||||
period_time 40000
|
||||
}
|
||||
|
||||
pcm.esaich1to6{
|
||||
type dshare
|
||||
ipc_key 5778293
|
||||
slave esai
|
||||
bindings.0 0
|
||||
bindings.1 4
|
||||
bindings.2 1
|
||||
bindings.3 5
|
||||
bindings.4 2
|
||||
bindings.5 6
|
||||
}
|
||||
|
||||
pcm.esaich78{
|
||||
type dshare
|
||||
ipc_key 5778293
|
||||
slave esai
|
||||
bindings.0 3
|
||||
bindings.1 7
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
imx-generic-bsp
|
||||
@@ -0,0 +1 @@
|
||||
imx-mainline-bsp
|
||||
@@ -0,0 +1 @@
|
||||
imx-nxp-bsp
|
||||
12
sources/meta-freescale/recipes-bsp/atf/qoriq-atf-2.6.inc
Normal file
12
sources/meta-freescale/recipes-bsp/atf/qoriq-atf-2.6.inc
Normal file
@@ -0,0 +1,12 @@
|
||||
DESCRIPTION = "ARM Trusted Firmware"
|
||||
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
|
||||
|
||||
ATF_BRANCH ?= "lf_v2.6"
|
||||
ATF_SRC ?= "git://github.com/nxp-qoriq/atf.git;protocol=https"
|
||||
SRC_URI = "${ATF_SRC};branch=${ATF_BRANCH}"
|
||||
SRCREV = "616a4588f333522d50a55bedd2b9a90a51474a75"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
require qoriq-atf-${PV}.inc
|
||||
|
||||
DEPENDS += "openssl"
|
||||
|
||||
PV:append = "+${SRCPV}"
|
||||
|
||||
EXTRA_OEMAKE = "fiptool V=1 PLAT=lx2162aqds HOSTCC='${CC} ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}'"
|
||||
|
||||
do_install () {
|
||||
install -m 0755 -d ${D}/${bindir}
|
||||
install -m 0755 ${S}/tools/fiptool/fiptool ${D}/${bindir}/
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 9ceeb0cadffee1b1476718795d0568f6b244bf44 Mon Sep 17 00:00:00 2001
|
||||
From: Jun Zhu <junzhu@nxp.com>
|
||||
Date: Mon, 31 Oct 2022 21:24:15 +0800
|
||||
Subject: [PATCH] tf-a-tests-no-warn-rwx-segments
|
||||
|
||||
Binutils 2.39 now warns when a segment has RXW permissions[1]:
|
||||
|
||||
aarch64-poky-linux-musl-ld: tftf.elf has a LOAD segment with RWX permissions
|
||||
|
||||
There is a ticket filed upstream[2], so until that is resolved just disable the warning
|
||||
[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=ba951afb99912da01a6e8434126b8fac7aa75107
|
||||
[2] https://developer.trustedfirmware.org/T996
|
||||
|
||||
Upstream-Status: Backport [https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/19401]
|
||||
Signed-off-by: Jun Zhu <junzhu@nxp.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index dccf0121d..0d082344b 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -445,7 +445,7 @@ TF_LDFLAGS += --gc-sections
|
||||
# ld.lld doesn't recognize the errata flags,
|
||||
# therefore don't add those in that case
|
||||
ifeq ($(findstring ld.lld,$(notdir $(LD))),)
|
||||
-TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH))
|
||||
+TF_LDFLAGS += $(TF_LDFLAGS_$(ARCH)) --no-warn-rwx-segments
|
||||
endif
|
||||
endif
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
189
sources/meta-freescale/recipes-bsp/atf/qoriq-atf_2.6.bb
Normal file
189
sources/meta-freescale/recipes-bsp/atf/qoriq-atf_2.6.bb
Normal file
@@ -0,0 +1,189 @@
|
||||
require qoriq-atf-${PV}.inc
|
||||
|
||||
inherit deploy
|
||||
|
||||
DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native rcw qoriq-cst-native bc-native"
|
||||
do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
|
||||
|
||||
PV:append = "+${SRCPV}"
|
||||
|
||||
SRC_URI += "git://github.com/ARMmbed/mbedtls;protocol=https;nobranch=1;destsuffix=git/mbedtls;name=mbedtls \
|
||||
git://github.com/nxp/ddr-phy-binary;protocol=https;nobranch=1;destsuffix=git/ddr-phy-binary;name=ddr \
|
||||
file://tf-a-tests-no-warn-rwx-segments.patch \
|
||||
"
|
||||
SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708"
|
||||
SRCREV_ddr = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
|
||||
SRCREV_FORMAT = "atf"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
PLATFORM = "${MACHINE}"
|
||||
PLATFORM:ls1088ardb-pb = "ls1088ardb"
|
||||
PLATFORM:lx2160ardb-rev2 = "lx2160ardb"
|
||||
PLATFORM_ADDITIONAL_TARGET ??= ""
|
||||
PLATFORM_ADDITIONAL_TARGET:ls1012afrwy = "ls1012afrwy_512mb"
|
||||
|
||||
RCW_FOLDER ?= "${MACHINE}"
|
||||
RCW_FOLDER:ls1088ardb-pb = "ls1088ardb"
|
||||
RCW_FOLDER:lx2160ardb = "lx2160ardb_rev2"
|
||||
RCW_FOLDER:lx2160ardb-rev2 = "lx2160ardb_rev2"
|
||||
|
||||
RCW_SUFFIX ?= ".bin"
|
||||
RCW_SUFFIX:ls1012a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '_default.bin', d)}"
|
||||
RCW_SUFFIX:ls1043a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
|
||||
RCW_SUFFIX:ls1046a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
|
||||
|
||||
UBOOT_BINARY ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa', d)}"
|
||||
|
||||
SECURE_EXTENTION ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sec', '', d)}"
|
||||
|
||||
BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
|
||||
|
||||
chassistype ?= "ls2088_1088"
|
||||
chassistype:ls1012a = "ls104x_1012"
|
||||
chassistype:ls1043a = "ls104x_1012"
|
||||
chassistype:ls1046a = "ls104x_1012"
|
||||
|
||||
FIP_DDR ?= ""
|
||||
FIP_DDR:lx2160a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
|
||||
FIP_DDR:lx2162a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'fip_ddr', '', d)}"
|
||||
|
||||
# requires CROSS_COMPILE set by hand as there is no configure script
|
||||
export CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
export ARCH="arm64"
|
||||
|
||||
# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
|
||||
# a standalone application
|
||||
CFLAGS[unexport] = "1"
|
||||
LDFLAGS[unexport] = "1"
|
||||
AS[unexport] = "1"
|
||||
LD[unexport] = "1"
|
||||
|
||||
EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
|
||||
EXTRA_OEMAKE += "\
|
||||
${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'BL32=${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin SPD=opteed', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'TRUSTED_BOARD_BOOT=1 CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'GENERATE_COT=1 MBEDTLS_DIR=${S}/mbedtls', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin', '', d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
|
||||
"
|
||||
PACKAGECONFIG[optee] = ",,optee-os-qoriq"
|
||||
|
||||
python() {
|
||||
if bb.utils.contains("DISTRO_FEATURES", "arm-cot", True, False, d):
|
||||
if not bb.utils.contains("DISTRO_FEATURES", "secure", True, False, d):
|
||||
bb.fatal("arm-cot needs 'secure' being set in DISTRO_FEATURES")
|
||||
}
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
|
||||
${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
|
||||
else
|
||||
cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri .
|
||||
cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub .
|
||||
fi
|
||||
|
||||
${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr \
|
||||
${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
|
||||
|
||||
for d in ${BOOTTYPE}; do
|
||||
case $d in
|
||||
nor)
|
||||
rcwimg="${RCWNOR}${RCW_SUFFIX}"
|
||||
uefiboot="${UEFI_NORBOOT}"
|
||||
;;
|
||||
nand)
|
||||
rcwimg="${RCWNAND}${RCW_SUFFIX}"
|
||||
;;
|
||||
qspi)
|
||||
rcwimg="${RCWQSPI}${RCW_SUFFIX}"
|
||||
uefiboot="${UEFI_QSPIBOOT}"
|
||||
if [ -n "${SECURE_EXTENTION}" ] && [ "${MACHINE}" = ls1046ardb ]; then
|
||||
rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
|
||||
fi
|
||||
;;
|
||||
auto)
|
||||
rcwimg="${RCWAUTO}${RCW_SUFFIX}"
|
||||
;;
|
||||
sd)
|
||||
rcwimg="${RCWSD}${RCW_SUFFIX}"
|
||||
;;
|
||||
emmc)
|
||||
rcwimg="${RCWEMMC}${RCW_SUFFIX}"
|
||||
;;
|
||||
flexspi_nor)
|
||||
rcwimg="${RCWXSPI}${RCW_SUFFIX}"
|
||||
uefiboot="${UEFI_XSPIBOOT}"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f ${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/$rcwimg ]; then
|
||||
make V=1 realclean
|
||||
if [ -f rot_key.pem ];then
|
||||
mkdir -p build/${PLATFORM}/release/
|
||||
cp *.pem build/${PLATFORM}/release/
|
||||
fi
|
||||
|
||||
oe_runmake V=1 all fip pbl ${FIP_DDR} PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
|
||||
cp build/${PLATFORM}/release/bl2_${d}${SECURE_EXTENTION}.pbl .
|
||||
cp build/${PLATFORM}/release/fip.bin fip_uboot${SECURE_EXTENTION}.bin
|
||||
if [ -e build/${PLATFORM}/release/fuse_fip.bin ]; then
|
||||
cp build/${PLATFORM}/release/fuse_fip.bin .
|
||||
fi
|
||||
|
||||
if [ -e build/${PLATFORM}/release/ddr_fip_sec.bin ] && [ ! -f ddr_fip_sec.bin ]; then
|
||||
cp build/${PLATFORM}/release/ddr_fip_sec.bin .
|
||||
fi
|
||||
|
||||
if [ -e build/${PLATFORM}/release/rot_key.pem ] && [ ! -f rot_key.pem ]; then
|
||||
cp build/${PLATFORM}/release/*.pem .
|
||||
fi
|
||||
|
||||
if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
|
||||
make V=1 realclean
|
||||
oe_runmake V=1 all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
|
||||
cp build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_${d}${SECURE_EXTENTION}.pbl bl2_${d}${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.pbl
|
||||
cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin fip_uboot${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.bin
|
||||
if [ -e build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ]; then
|
||||
cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "${SECURE_EXTENTION}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
|
||||
make V=1 realclean
|
||||
oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}
|
||||
cp build/${PLATFORM}/release/fip.bin fip_uefi.bin
|
||||
fi
|
||||
fi
|
||||
rcwimg=""
|
||||
uefiboot=""
|
||||
done
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/boot/atf/
|
||||
cp srk.pri ${D}/boot/atf/
|
||||
cp srk.pub ${D}/boot/atf/
|
||||
cp *.pbl ${D}/boot/atf/
|
||||
if [ ! -e fuse_fip.bin ]; then
|
||||
rm -f fuse_scr.bin
|
||||
fi
|
||||
cp *.bin ${D}/boot/atf/
|
||||
chown -R root:root ${D}
|
||||
}
|
||||
|
||||
do_deploy() {
|
||||
install -d ${DEPLOYDIR}/atf/
|
||||
cp ${D}/boot/atf/* ${DEPLOYDIR}/atf/
|
||||
}
|
||||
addtask deploy after do_install
|
||||
|
||||
FILES:${PN} += "/boot"
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,28 @@
|
||||
Respect LDFLAGS from environment
|
||||
|
||||
This fixes cross build using OE
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
|
||||
Index: git/Makefile
|
||||
===================================================================
|
||||
--- git.orig/Makefile
|
||||
+++ git/Makefile
|
||||
@@ -3,14 +3,14 @@
|
||||
INSTALL=install
|
||||
PREFIX=/usr
|
||||
|
||||
-CFLAGS=-Wall
|
||||
+override CFLAGS+=-Wall
|
||||
|
||||
all: boot_format
|
||||
|
||||
boot_format.o: boot_format.c boot_format.h
|
||||
|
||||
boot_format: boot_format.o
|
||||
- $(CC) $< -o $@
|
||||
+ $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
|
||||
|
||||
install: boot_format
|
||||
$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
|
||||
@@ -0,0 +1,20 @@
|
||||
DESCRIPTION = "Boot format utility for booting from eSDHC/eSPI"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
PR = "r6"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/boot-format;protocol=https;nobranch=1 \
|
||||
file://flags.patch"
|
||||
SRCREV = "4eb81a6797ef4e58bf7d9b2d58afb37a21c1f550"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
EXTRA_OEMAKE = 'CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"'
|
||||
|
||||
do_install(){
|
||||
oe_runmake DESTDIR=${D} PREFIX=${prefix} install
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-config"
|
||||
FILES:${PN}-config += "${datadir}/*"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
44
sources/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb
Normal file
44
sources/meta-freescale/recipes-bsp/ddr-phy/ddr-phy_git.bb
Normal file
@@ -0,0 +1,44 @@
|
||||
SUMMARY = "DDR firmware repository"
|
||||
LICENSE = "NXP-Binary-EULA"
|
||||
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=89cc852481956e861228286ac7430d74"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/nxp/ddr-phy-binary.git;nobranch=1;protocol=https"
|
||||
SRCREV = "fbc036b88acb6c06ffed02c898cbae9856ec75ba"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
REGLEX = "lx2160a"
|
||||
|
||||
DEPENDS += "qoriq-atf-tools-native"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}/${REGLEX}
|
||||
fiptool create --ddr-immem-udimm-1d ddr4_pmu_train_imem.bin \
|
||||
--ddr-immem-udimm-2d ddr4_2d_pmu_train_imem.bin \
|
||||
--ddr-dmmem-udimm-1d ddr4_pmu_train_dmem.bin \
|
||||
--ddr-dmmem-udimm-2d ddr4_2d_pmu_train_dmem.bin \
|
||||
--ddr-immem-rdimm-1d ddr4_rdimm_pmu_train_imem.bin \
|
||||
--ddr-immem-rdimm-2d ddr4_rdimm2d_pmu_train_imem.bin \
|
||||
--ddr-dmmem-rdimm-1d ddr4_rdimm_pmu_train_dmem.bin \
|
||||
--ddr-dmmem-rdimm-2d ddr4_rdimm2d_pmu_train_dmem.bin \
|
||||
fip_ddr_all.bin
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
install -m 755 ${S}/${REGLEX}/*.bin ${D}/boot
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/ddr-phy
|
||||
install -m 755 ${S}/${REGLEX}/*.bin ${DEPLOYDIR}/ddr-phy
|
||||
}
|
||||
addtask deploy before do_populate_sysroot after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(lx2160a|lx2162a)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
@@ -0,0 +1,28 @@
|
||||
SUMMARY = "DP firmware"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
|
||||
|
||||
inherit deploy fsl-eula-unpack
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/firmware-imx-8.16.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[sha256sum] = "65f829a9e2597bffc58a680aaefa638122144a083633d1ae09b3aec1d9f8ab84"
|
||||
|
||||
S = "${WORKDIR}/firmware-imx-8.16"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${D}/boot/ls1028a-dp-fw.bin
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/dp
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/dp_ls1028a.bin ${DEPLOYDIR}/dp/ls1028a-dp-fw.bin
|
||||
}
|
||||
addtask deploy before do_build after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq-arm64)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
@@ -0,0 +1,36 @@
|
||||
# Copyright 2021-2024 NXP
|
||||
SUMMARY = "NXP i.MX ELE firmware"
|
||||
DESCRIPTION = "EdgeLock Secure Enclave firmware for i.MX series SoCs"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359"
|
||||
|
||||
inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "d30b14a"
|
||||
SRC_URI[sha256sum] = "293a0e7957ca2a24c6c2edbc87b237141a4b7ef19b35257edce65a026d7cbc0a"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/ele
|
||||
for fw in ${SECO_FIRMWARE_NAME} ${SECOEXT_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${S}/$fw ${D}${nonarch_base_libdir}/firmware/imx/ele
|
||||
done
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
# Deploy the related firmware to be packaged by imx-boot
|
||||
install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
|
||||
}
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
FILES:${PN} = "${nonarch_base_libdir}/firmware"
|
||||
|
||||
RREPLACES:${PN} = "firmware-sentinel"
|
||||
RPROVIDES:${PN} = "firmware-sentinel"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8ulp-generic-bsp|mx9-generic-bsp)"
|
||||
@@ -0,0 +1,16 @@
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2024 NXP
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3"
|
||||
|
||||
# Note: This .inc file is used from differently named recipes, so the package
|
||||
# name must be hard-coded, i.e., ${BPN} cannot be used.
|
||||
SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "5af0ceb"
|
||||
SRC_URI[sha256sum] = "61f925e606ab020b1a36f3f7f7e459c6847f5b9dbc79421f9ef86e8fc124eb2f"
|
||||
|
||||
S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
@@ -0,0 +1,171 @@
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright 2017-2021,2024 NXP
|
||||
# Copyright (C) 2018 O.S. Systems Software LTDA.
|
||||
SUMMARY = "Freescale i.MX firmware"
|
||||
DESCRIPTION = "Freescale i.MX firmware such as for the VPU"
|
||||
|
||||
require ${BP}.inc
|
||||
|
||||
PE = "1"
|
||||
|
||||
inherit allarch
|
||||
|
||||
IMX_USE_LINUX_FIRMWARE_SDMA ?= "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx
|
||||
|
||||
# SDMA Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma
|
||||
install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma
|
||||
# Define IMX_USE_LINUX_FIRMWARE_SDMA = "0" in layer.conf, machine.conf, local.conf
|
||||
# or in .bbappend to use sdma-imx6q/7d.bin from here and not linux-firmware
|
||||
if [ ${IMX_USE_LINUX_FIRMWARE_SDMA} -gt 0 ]
|
||||
then
|
||||
rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin
|
||||
rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin
|
||||
fi
|
||||
|
||||
# EASRC Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc
|
||||
install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/
|
||||
|
||||
# XCVR Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr
|
||||
install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/
|
||||
|
||||
# XUVI Firmware section
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi
|
||||
install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/
|
||||
|
||||
# EPDC Firmware section
|
||||
# NOTE:
|
||||
# epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should
|
||||
# be installed with a different name
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc
|
||||
install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/
|
||||
install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw
|
||||
|
||||
# HDMI Firmware section
|
||||
# NOTE:
|
||||
# Only install pre-defined list of firmware files, since the source archive contains
|
||||
# also HDMI binary files for imx8m derivatives, which are taken care of by another recipe
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
|
||||
# VPU Firmware section
|
||||
# NOTE:
|
||||
# Do the same thing as above for HDMI - only install a pre-defined list of firmware files,
|
||||
# as some of other files are provided by packages from other recipes.
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/vpu
|
||||
install -m 0644 ${S}/firmware/vpu/vpu_fw_imx*.bin ${D}${nonarch_base_libdir}/firmware/vpu
|
||||
# Update i.MX8 vpu firmware path to align with kernel6.5+
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/amphion/vpu/
|
||||
mv ${D}${nonarch_base_libdir}/firmware/vpu/vpu_fw_imx8* ${D}${nonarch_base_libdir}/firmware/amphion/vpu/
|
||||
# Install i.MX 95 VPU firmware
|
||||
install -m 0644 ${S}/firmware/vpu/wave633c_codec_fw.bin ${D}${nonarch_base_libdir}/firmware
|
||||
}
|
||||
|
||||
#
|
||||
# This prepend is here to produce separate packages containing firmware,
|
||||
# which could be included separately based on the machine definition.
|
||||
#
|
||||
# It operates similar to the FILES mechanism by travesing through
|
||||
# ${D} + folder supplied as a first parameter, matches the regexp supplied
|
||||
# as second one, and for every file match - it creates a separate package,
|
||||
# which contains only files that matches the pattern.
|
||||
#
|
||||
python populate_packages:prepend() {
|
||||
# CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to
|
||||
# avoid fallback loading which is usually 40-60 seconds later after system boots up, let's
|
||||
# create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares.
|
||||
def coda_vpu_links(file, pkg, pattern, format, basename):
|
||||
# Only CODA VPU firmwares need this procedure
|
||||
if 'imx8' in basename:
|
||||
return
|
||||
|
||||
dir = os.path.dirname(file)
|
||||
dir = os.path.abspath(os.path.join(dir, os.pardir))
|
||||
cwd = os.getcwd()
|
||||
|
||||
os.chdir(dir)
|
||||
|
||||
name = os.path.basename(file)
|
||||
os.symlink(os.path.join("vpu", name), name)
|
||||
|
||||
oldfiles = d.getVar('FILES:' + pkg)
|
||||
newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name)
|
||||
d.setVar('FILES:' + pkg, oldfiles + " " + newfile)
|
||||
|
||||
os.chdir(cwd)
|
||||
|
||||
|
||||
easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d)
|
||||
do_split_packages(d, easrcdir, r'^easrc-([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-easrc-%s',
|
||||
description='Freescale IMX EASRC Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d)
|
||||
do_split_packages(d, vpudir, r'^vpu_fw_([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-vpu-%s',
|
||||
description='Freescale IMX VPU Firmware [%s]',
|
||||
hook=coda_vpu_links,
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d)
|
||||
do_split_packages(d, sdmadir, r'^sdma-([^-]*).*\.bin',
|
||||
output_pattern='firmware-imx-sdma-%s',
|
||||
description='Freescale IMX SDMA Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d)
|
||||
do_split_packages(d, xcvrdir, r'^xcvr-([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-xcvr-%s',
|
||||
description='Freescale IMX XCVR Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
|
||||
xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d)
|
||||
do_split_packages(d, xuvidir, r'^vpu_fw_([^_]*).*\.bin',
|
||||
output_pattern='firmware-imx-xuvi-%s',
|
||||
description='Freescale IMX XUVI Firmware [%s]',
|
||||
extra_depends='',
|
||||
prepend=True)
|
||||
}
|
||||
|
||||
# Declare a contract that we would provide packages produced by prepend above
|
||||
PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*"
|
||||
|
||||
#
|
||||
# Deal with the rest of Firmware packages here
|
||||
#
|
||||
# Provide EPDC and HDMI Firmware in common packages as they tend to be special in
|
||||
# terms of the content.
|
||||
#
|
||||
# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated
|
||||
# complimentary packages (-dev and -dbg).
|
||||
# This is done in order to be able to keep the main package empty and fail when
|
||||
# somebody tries to install it in the image.
|
||||
# If -dev package is present in that setup, and dev-pkgs is enabled in
|
||||
# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev
|
||||
# packages would be installed, and -dev package would fail because the main one
|
||||
# is empty.
|
||||
# Therefore, we opt-out from producing -dev package here, since also for firmware
|
||||
# files it makes no sense.
|
||||
PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi ${PN}-vpu-amphion ${PN}-vpu-wave"
|
||||
|
||||
FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/"
|
||||
FILES:${PN}-hdmi = " \
|
||||
${nonarch_base_libdir}/firmware/hdmitxfw.bin \
|
||||
${nonarch_base_libdir}/firmware/hdmirxfw.bin \
|
||||
${nonarch_base_libdir}/firmware/dpfw.bin \
|
||||
"
|
||||
FILES:${PN}-vpu-amphion = "${nonarch_base_libdir}/firmware/amphion/vpu/*"
|
||||
FILES:${PN}-vpu-wave = "${nonarch_base_libdir}/firmware/wave633c_codec_fw.bin"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
|
||||
@@ -0,0 +1,175 @@
|
||||
# Copyright 2020-2024 NXP
|
||||
|
||||
SUMMARY = "Wi-Fi firmware redistributed by NXP"
|
||||
DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \
|
||||
is available in linux-firmware, but what is here is the latest and \
|
||||
should be preferred."
|
||||
|
||||
SECTION = "kernel"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "lf-6.6.52_2.2.0"
|
||||
SRCREV = "2978f3c88d6bcc5695a7b45f1936f18d31eebfa8"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit allarch
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
do_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/nxp
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/brcm/
|
||||
|
||||
# Install bcm4359-pcie
|
||||
for f in cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie*; do
|
||||
install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/brcm/$(basename $f)
|
||||
done
|
||||
|
||||
for f in cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd; do
|
||||
install -D -m 0644 $f ${D}${sysconfdir}/firmware/$(basename $f)
|
||||
done
|
||||
|
||||
for f in nxp/FwImage_IW612_SD/*; do
|
||||
install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/$(basename $f)
|
||||
done
|
||||
|
||||
oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp
|
||||
|
||||
# Upstream SDIO8997 and IW416 driver firmwares are located on mrvl folder
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/mrvl
|
||||
ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin
|
||||
ln -frs ${D}${nonarch_base_libdir}/firmware/nxp/sdiouartiw416_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin
|
||||
}
|
||||
|
||||
PACKAGES =+ " \
|
||||
${PN}-bcm4359-pcie \
|
||||
${PN}-nxp-common \
|
||||
${PN}-nxp8801-sdio \
|
||||
${PN}-nxp8987-sdio \
|
||||
${PN}-nxp8997-common \
|
||||
${PN}-nxp8997-pcie \
|
||||
${PN}-nxp8997-sdio \
|
||||
${PN}-nxp9098-pcie \
|
||||
${PN}-nxp9098-common \
|
||||
${PN}-nxp9098-sdio \
|
||||
${PN}-nxpiw416-sdio \
|
||||
${PN}-nxpiw610-sdio \
|
||||
${PN}-nxpiw612-sdio \
|
||||
"
|
||||
|
||||
FILES:${PN}-bcm4359-pcie = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/brcmfmac4359-pcie.* \
|
||||
${sysconfdir}/firmware/BCM4349B1_*.hcd \
|
||||
"
|
||||
|
||||
FILES:${PN}-nxp-common = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \
|
||||
"
|
||||
|
||||
FILES:${PN}-nxp8801-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/*8801* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8801-sdio += "${PN}-nxp-common"
|
||||
|
||||
FILES:${PN}-nxp8987-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/*8987* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
|
||||
RREPLACES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
|
||||
RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio"
|
||||
|
||||
FILES:${PN}-nxp8997-common = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/uart8997_bt_v4.bin \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
|
||||
RREPLACES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
|
||||
RCONFLICTS:${PN}-nxp8997-common = "linux-firmware-nxp8997-common"
|
||||
|
||||
FILES:${PN}-nxp8997-pcie = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/pci*8997* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common"
|
||||
RPROVIDES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
|
||||
RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
|
||||
RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie"
|
||||
|
||||
FILES:${PN}-nxp8997-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/mrvl/sdiouart8997_combo_v4.bin \
|
||||
${nonarch_base_libdir}/firmware/nxp/sdio*8997* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
|
||||
RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
|
||||
RREPLACES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
|
||||
RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio"
|
||||
|
||||
FILES:${PN}-nxp9098-common = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \
|
||||
${nonarch_base_libdir}/firmware/nxp/uart9098_bt_v1.bin \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
|
||||
RREPLACES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
|
||||
RCONFLICTS:${PN}-nxp9098-common = "linux-firmware-nxp9098-common"
|
||||
|
||||
FILES:${PN}-nxp9098-pcie = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/pcie*9098* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common"
|
||||
RPROVIDES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
|
||||
RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
|
||||
RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie"
|
||||
|
||||
FILES:${PN}-nxp9098-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/sdio*9098* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
|
||||
RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
|
||||
RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
|
||||
RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio"
|
||||
|
||||
FILES:${PN}-nxpiw416-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/mrvl/sdiouartiw416_combo_v0.bin \
|
||||
${nonarch_base_libdir}/firmware/nxp/*iw416* \
|
||||
"
|
||||
RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
|
||||
RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
|
||||
RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio"
|
||||
|
||||
FILES:${PN}-nxpiw610-sdio += " \
|
||||
${nonarch_base_libdir}/firmware/nxp/sd_iw610.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/sduart_iw610.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/uart_iw610_bt.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/uartspi_iw610.bin.se \
|
||||
"
|
||||
RDEPENDS:${PN}-nxpiw610-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
|
||||
RREPLACES:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
|
||||
RCONFLICTS:${PN}-nxpiw610-sdio = "linux-firmware-nxpiw610-sdio"
|
||||
|
||||
FILES:${PN}-nxpiw612-sdio = " \
|
||||
${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \
|
||||
${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \
|
||||
${nonarch_base_libdir}/firmware/nxp/uartuart_n61x_v1.bin.se \
|
||||
"
|
||||
RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common"
|
||||
RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
|
||||
RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
|
||||
RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio"
|
||||
@@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2020-2022 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Sound Open Firmware"
|
||||
HOMEPAGE = "https://www.sofproject.org"
|
||||
SECTION = "base"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz"
|
||||
SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b"
|
||||
|
||||
S = "${WORKDIR}/sof-imx-${PV}"
|
||||
|
||||
inherit allarch
|
||||
|
||||
do_install() {
|
||||
# Install sof and sof-tplg folder
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/imx/
|
||||
cp -r sof* ${D}${nonarch_base_libdir}/firmware/imx/
|
||||
}
|
||||
|
||||
FILES:${PN} = "${nonarch_base_libdir}/firmware/imx"
|
||||
@@ -0,0 +1,61 @@
|
||||
# Copyright (C) 2018-2024 NXP
|
||||
SUMMARY = "Freescale i.MX Firmware files used for boot"
|
||||
|
||||
require firmware-imx-${PV}.inc
|
||||
|
||||
inherit deploy nopackages
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
DEPLOY_FOR = ""
|
||||
DEPLOY_FOR:mx8-generic-bsp = "mx8"
|
||||
DEPLOY_FOR:mx8m-generic-bsp = "mx8m"
|
||||
DEPLOY_FOR:mx9-generic-bsp = "mx9"
|
||||
|
||||
deploy_for_mx8() {
|
||||
# Cadence HDMI
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR}
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR}
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
deploy_for_mx8m() {
|
||||
# Synopsys DDR
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
|
||||
done
|
||||
|
||||
# Cadence DP and HDMI
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR}
|
||||
install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
|
||||
deploy_for_mx9() {
|
||||
# Synopsys DDR
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR}
|
||||
done
|
||||
}
|
||||
|
||||
python () {
|
||||
# Manually add the required functions as dependencies otherwise they won't be included in the
|
||||
# final run script.
|
||||
deploy_for = d.getVar('DEPLOY_FOR', True).split()
|
||||
for soc in deploy_for:
|
||||
d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc)
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
for soc in ${DEPLOY_FOR}; do
|
||||
bbnote "Running deploy for $soc"
|
||||
deploy_for_$soc
|
||||
done
|
||||
}
|
||||
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
|
||||
COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)"
|
||||
@@ -0,0 +1,30 @@
|
||||
# Copyright 2021-2022 NXP
|
||||
DESCRIPTION = "NXP i.MX uPower firmware"
|
||||
LICENSE = "Proprietary"
|
||||
SECTION = "BSP"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
|
||||
|
||||
S = "${WORKDIR}/${PN}-${PV}"
|
||||
|
||||
inherit fsl-eula-unpack pkgconfig deploy
|
||||
|
||||
SRC_URI[sha256sum] = "1df3a03d69feb38a450ee63abc7713d78cf6339988476e4c9f95ebbf63790f66"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
|
||||
do_deploy () {
|
||||
# Deploy the related firmware to be package by imx-boot
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${S}/${UPOWER_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/upower.bin
|
||||
}
|
||||
addtask deploy after do_install before do_build
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp)"
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=0
|
||||
HAVE_KEYBOARD=1
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,13 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=1
|
||||
HAVE_KEYBOARD=0
|
||||
|
||||
TSLIB_TSDEVICE="/dev/input/touchscreen0"
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=0
|
||||
HAVE_KEYBOARD=1
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
#HAVE_TOUCHSCREEN=1
|
||||
HAVE_KEYBOARD=0
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=1
|
||||
HAVE_KEYBOARD=0
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=1
|
||||
HAVE_KEYBOARD=0
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=1
|
||||
HAVE_KEYBOARD=0
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,11 @@
|
||||
# Display options
|
||||
HAVE_TOUCHSCREEN=0
|
||||
HAVE_KEYBOARD=0
|
||||
|
||||
#DISPLAY_CAN_ROTATE=0
|
||||
#DISPLAY_ORIENTATION=0
|
||||
#DISPLAY_WIDTH_PIXELS=1024
|
||||
#DISPLAY_HEIGHT_PIXELS=720
|
||||
#DISPLAY_BPP=16
|
||||
#DISPLAY_DPI=150
|
||||
#DISPLAY_SUBPIXEL_ORDER=vrgb
|
||||
@@ -0,0 +1,2 @@
|
||||
# Append path for i.MX custom matchconfig
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
20
sources/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
Normal file
20
sources/meta-freescale/recipes-bsp/fsl-tlu/fsl-tlu_1.0.0.bb
Normal file
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "Freescale TLU(Table Lookup Unit) test package"
|
||||
DESCRIPTION = "This package includes the TLU(Table Lookup Unit) test scripts \
|
||||
and configuration files."
|
||||
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-qoriq-yocto-sdk/fsl-tlu;protocol=https;nobranch=1"
|
||||
SRCREV = "8837cce3c86b30c0931c319e9e1a8ca622ae5354"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${sbindir}/fsl_tlu
|
||||
find . -type f -exec cp {} ${D}${sbindir}/fsl_tlu/ \;
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(e500mc)"
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
82
sources/meta-freescale/recipes-bsp/imx-atf/imx-atf_2.10.bb
Normal file
82
sources/meta-freescale/recipes-bsp/imx-atf/imx-atf_2.10.bb
Normal file
@@ -0,0 +1,82 @@
|
||||
# Copyright (C) 2017-2024 NXP
|
||||
|
||||
DESCRIPTION = "i.MX ARM Trusted Firmware"
|
||||
SECTION = "BSP"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
|
||||
|
||||
PV .= "+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-atf.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "lf_v2.10_6.6.52_2.2.x"
|
||||
SRCREV = "7e374c5f57328949a2b141a567175b6a2939e964"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit deploy
|
||||
|
||||
ATF_PLATFORM ??= "INVALID"
|
||||
|
||||
# FIXME: We should return INVALID here but currently only i.MX8M has support to override the UART
|
||||
# base address in source code.
|
||||
ATF_BOOT_UART_BASE ?= ""
|
||||
|
||||
EXTRA_OEMAKE += " \
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
PLAT=${ATF_PLATFORM} \
|
||||
"
|
||||
|
||||
# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application
|
||||
CFLAGS[unexport] = "1"
|
||||
LDFLAGS[unexport] = "1"
|
||||
AS[unexport] = "1"
|
||||
LD[unexport] = "1"
|
||||
|
||||
# Baremetal, just need a compiler
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
DEPENDS = "virtual/${HOST_PREFIX}gcc"
|
||||
|
||||
# Bring in clang compiler if using clang as default
|
||||
DEPENDS:append:toolchain-clang = " clang-cross-${TARGET_ARCH}"
|
||||
|
||||
BUILD_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
|
||||
|
||||
# CC and LD introduce arguments which conflict with those otherwise provided by
|
||||
# this recipe. The heads of these variables excluding those arguments
|
||||
# are therefore used instead.
|
||||
def remove_options_tail (in_string):
|
||||
from itertools import takewhile
|
||||
return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
|
||||
|
||||
# LD can have linker suffix in its name e.g. aarch64-yoe-linux-ld.lld so we need to
|
||||
# drop .lld as well along with options from LD
|
||||
EXTRA_OEMAKE += 'LD="${HOST_PREFIX}ld.bfd"'
|
||||
|
||||
EXTRA_OEMAKE += 'CC="${@remove_options_tail(d.getVar('CC'))}"'
|
||||
|
||||
# Set the UART to use during the boot.
|
||||
EXTRA_OEMAKE += 'IMX_BOOT_UART_BASE=${ATF_BOOT_UART_BASE}'
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
# Clear LDFLAGS to avoid the option -Wl recognize issue
|
||||
oe_runmake bl31
|
||||
if ${BUILD_OPTEE}; then
|
||||
oe_runmake clean BUILD_BASE=build-optee
|
||||
oe_runmake BUILD_BASE=build-optee SPD=opteed bl31
|
||||
fi
|
||||
}
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
addtask deploy after do_compile
|
||||
do_deploy() {
|
||||
install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin
|
||||
if ${BUILD_OPTEE}; then
|
||||
install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin-optee
|
||||
fi
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
|
||||
@@ -0,0 +1,34 @@
|
||||
From c183a648958ab4454247cfd88d01da7730a53d19 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 11 May 2017 00:59:07 -0700
|
||||
Subject: [PATCH] Add missing includes as pointed out by musl
|
||||
|
||||
These headers are indrectly included when building with
|
||||
glibc, this is exposed when compiling with musl systems
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/mtd.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/mtd.h b/src/mtd.h
|
||||
index 6cb0ca2..0eaea48 100644
|
||||
--- a/src/mtd.h
|
||||
+++ b/src/mtd.h
|
||||
@@ -25,9 +25,12 @@
|
||||
#ifndef MTD_H
|
||||
#define MTD_H
|
||||
|
||||
+#define _GNU_SOURCE
|
||||
+#include <fcntl.h>
|
||||
#include <mtd/mtd-user.h>
|
||||
#include <endian.h>
|
||||
#include <stdint.h>
|
||||
+#include <stddef.h>
|
||||
|
||||
#include "BootControlBlocks.h"
|
||||
#include "rom_nand_hamming_code_ecc.h"
|
||||
--
|
||||
2.12.2
|
||||
|
||||
19
sources/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb
Normal file
19
sources/meta-freescale/recipes-bsp/imx-kobs/imx-kobs_git.bb
Normal file
@@ -0,0 +1,19 @@
|
||||
# Copyright (C) 2013-2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2019,2024 NXP
|
||||
# Copyright 2018 (C) O.S. Systems Software LTDA.
|
||||
|
||||
SUMMARY = "Nand boot write source"
|
||||
SECTION = "base"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
|
||||
|
||||
PV = "5.5+git${SRCPV}"
|
||||
SRC_URI = "git://github.com/NXPmicro/imx-kobs.git;protocol=https;branch=master \
|
||||
file://0001-Add-missing-includes-as-pointed-out-by-musl.patch \
|
||||
"
|
||||
SRCREV = "ff13a99a22aa73cca0e09a33c2ebb6a94ad698da"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
|
||||
50
sources/meta-freescale/recipes-bsp/imx-lib/imx-lib_git.bb
Normal file
50
sources/meta-freescale/recipes-bsp/imx-lib/imx-lib_git.bb
Normal file
@@ -0,0 +1,50 @@
|
||||
# Copyright (C) 2012-2016 Freescale Semiconductor
|
||||
# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
|
||||
# Copyright 2017 NXP
|
||||
|
||||
DESCRIPTION = "Platform specific libraries for imx platform"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
SECTION = "multimedia"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=fbc093901857fcd118f065f900982c24"
|
||||
|
||||
PE = "1"
|
||||
|
||||
PV = "5.9+${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-lib.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "lf-6.6.36_2.1.0"
|
||||
SRCREV = "8f124c3914d82019849fb697baeb730e4cb1b547"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit use-imx-headers
|
||||
|
||||
PLATFORM:mx6q-nxp-bsp = "IMX6Q"
|
||||
PLATFORM:mx6dl-nxp-bsp = "IMX6Q"
|
||||
PLATFORM:mx6sl-nxp-bsp = "IMX6S"
|
||||
PLATFORM:mx6sll-nxp-bsp = "IMX6UL"
|
||||
PLATFORM:mx6sx-nxp-bsp = "IMX6S"
|
||||
PLATFORM:mx6ul-nxp-bsp = "IMX6UL"
|
||||
PLATFORM:mx6ull-nxp-bsp = "IMX6UL"
|
||||
PLATFORM:mx7d-nxp-bsp = "IMX7"
|
||||
PLATFORM:mx7ulp-nxp-bsp = "IMX7"
|
||||
PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
|
||||
PLATFORM:mx9-nxp-bsp = "IMX8ULP"
|
||||
|
||||
PARALLEL_MAKE="-j 1"
|
||||
EXTRA_OEMAKE = ""
|
||||
|
||||
do_compile () {
|
||||
INCLUDE_DIR="-I${STAGING_INCDIR_IMX}"
|
||||
oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
|
||||
}
|
||||
|
||||
do_install () {
|
||||
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
|
||||
|
||||
# Remove .go file for Android
|
||||
find ${D}/ -name *.go -exec rm {} \;
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6-nxp-bsp|mx7-nxp-bsp|mx8ulp-nxp-bsp|mx9-nxp-bsp)"
|
||||
@@ -0,0 +1,81 @@
|
||||
From 3e0f78a4efeac4ea0651ac763099d780447a18b4 Mon Sep 17 00:00:00 2001
|
||||
From: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
|
||||
Date: Wed, 19 Jul 2023 18:34:32 +0300
|
||||
Subject: [PATCH] iMX8M: soc.mak: use native mkimage from sysroot
|
||||
|
||||
mkimage tool is provided as a part of sysroot from Yocto build. Current
|
||||
implementation on the imx-mkimge on the other hand copies it locally in
|
||||
order to invoke it from within the build folder.
|
||||
|
||||
Since recent updates, mkimage requires openssl.so to be installed, which
|
||||
when local copy is used causes the tool not to operate and fails the
|
||||
build.
|
||||
|
||||
Use it from the build sysroot, and do not pull the local version of it.
|
||||
|
||||
Reinjected the original patch from Andrey Zhizhikin <andrey.z@gmail.com>
|
||||
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io>
|
||||
---
|
||||
|
||||
iMX8M/soc.mak | 11 +++++------
|
||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: git/iMX8M/soc.mak
|
||||
===================================================================
|
||||
--- git.orig/iMX8M/soc.mak
|
||||
+++ git/iMX8M/soc.mak
|
||||
@@ -160,7 +160,7 @@ u-boot.itb: $(dtb) $(supp_dtbs)
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb) $(supp_dtbs)
|
||||
BL32=$(TEE) DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb) $(supp_dtbs) > u-boot.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot.its u-boot.itb
|
||||
@rm -f u-boot.its $(dtb)
|
||||
|
||||
dtb_ddr3l = valddr3l.dtb
|
||||
@@ -172,7 +172,7 @@ u-boot-ddr3l.itb: $(dtb_ddr3l) $(supp_dt
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l) $(supp_dtbs) > u-boot-ddr3l.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l.its u-boot-ddr3l.itb
|
||||
@rm -f u-boot.its $(dtb_ddr3l)
|
||||
|
||||
dtb_ddr3l_evk = evkddr3l.dtb
|
||||
@@ -184,7 +184,7 @@ u-boot-ddr3l-evk.itb: $(dtb_ddr3l_evk) $
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr3l_evk) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr3l_evk) $(supp_dtbs) > u-boot-ddr3l-evk.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr3l-evk.its u-boot-ddr3l-evk.itb
|
||||
@rm -f u-boot.its $(dtb_ddr3l_evk)
|
||||
|
||||
dtb_ddr4 = valddr4.dtb
|
||||
@@ -196,7 +196,7 @@ u-boot-ddr4.itb: $(dtb_ddr4) $(supp_dtbs
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4) $(supp_dtbs) > u-boot-ddr4.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4.its u-boot-ddr4.itb
|
||||
@rm -f u-boot.its $(dtb_ddr4)
|
||||
|
||||
dtb_ddr4_evk = evkddr4.dtb
|
||||
@@ -208,7 +208,7 @@ u-boot-ddr4-evk.itb: $(dtb_ddr4_evk) $(s
|
||||
./$(PAD_IMAGE) bl31.bin
|
||||
./$(PAD_IMAGE) u-boot-nodtb.bin $(dtb_ddr4_evk) $(supp_dtbs)
|
||||
DEK_BLOB_LOAD_ADDR=$(DEK_BLOB_LOAD_ADDR) TEE_LOAD_ADDR=$(TEE_LOAD_ADDR) ATF_LOAD_ADDR=$(ATF_LOAD_ADDR) ../$(SOC_DIR)/mkimage_fit_atf.sh $(dtb_ddr4_evk) $(supp_dtbs) > u-boot-ddr4-evk.its
|
||||
- ./mkimage_uboot -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
|
||||
+ mkimage -E -p $(FIT_EXTERNAL_POSITION) -f u-boot-ddr4-evk.its u-boot-ddr4-evk.itb
|
||||
@rm -f u-boot.its $(dtb_ddr4_evk)
|
||||
|
||||
ifeq ($(HDMI),yes)
|
||||
@@ -358,7 +358,6 @@ nightly :
|
||||
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/fsl-$(PLAT)-evk.dtb -O fsl-$(PLAT)-evk.dtb
|
||||
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_hdmi_imx8m.bin -O signed_hdmi_imx8m.bin
|
||||
@$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/signed_dp_imx8m.bin -O signed_dp_imx8m.bin
|
||||
- @$(WGET) -q $(SERVER)/$(DIR)/$(FW_DIR)/mkimage_uboot -O mkimage_uboot
|
||||
|
||||
archive :
|
||||
git ls-files --others --exclude-standard -z | xargs -0 tar rvf $(ARCHIVE_PATH)/$(ARCHIVE_NAME)
|
||||
422
sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
Normal file
422
sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb
Normal file
@@ -0,0 +1,422 @@
|
||||
# Copyright (C) 2017-2024 NXP
|
||||
|
||||
require imx-mkimage_git.inc
|
||||
|
||||
DESCRIPTION = "Generate Boot Loader for i.MX 8 device"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
|
||||
SECTION = "BSP"
|
||||
|
||||
inherit use-imx-security-controller-firmware uboot-config
|
||||
|
||||
DEPENDS += " \
|
||||
u-boot \
|
||||
${IMX_EXTRA_FIRMWARE} \
|
||||
imx-atf \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
|
||||
"
|
||||
# xxd is a dependency of fspi_packer.sh
|
||||
DEPENDS += "xxd-native"
|
||||
DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native"
|
||||
DEPENDS:append:mx93-generic-bsp = " u-boot-mkimage-native dtc-native"
|
||||
|
||||
inherit deploy uuu_bootloader_tag
|
||||
|
||||
UUU_BOOTLOADER = "imx-boot"
|
||||
|
||||
# Add CFLAGS with native INCDIR & LIBDIR for imx-mkimage build
|
||||
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR_NATIVE} -L ${STAGING_LIBDIR_NATIVE}"
|
||||
|
||||
# This package aggregates output deployed by other packages,
|
||||
# so set the appropriate dependencies
|
||||
do_compile[depends] += " \
|
||||
virtual/bootloader:do_deploy \
|
||||
${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
|
||||
imx-atf:do_deploy \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
|
||||
"
|
||||
|
||||
SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
|
||||
|
||||
OEI_ENABLE = "${@bb.utils.contains('DEPENDS', 'virtual/imx-oei', 'YES', 'NO', d)}"
|
||||
OEI_NAME ?= "oei-${OEI_CORE}-*.bin"
|
||||
|
||||
ATF_MACHINE_NAME ?= "bl31-${ATF_PLATFORM}.bin"
|
||||
ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
|
||||
|
||||
BOOT_VARIANT ?= ""
|
||||
|
||||
TOOLS_NAME ?= "mkimage_imx8"
|
||||
|
||||
IMX_BOOT_SOC_TARGET ?= "INVALID"
|
||||
|
||||
DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
|
||||
DEPLOY_OPTEE_STMM = "${@bb.utils.contains('MACHINE_FEATURES', 'optee stmm', 'true', 'false', d)}"
|
||||
|
||||
IMXBOOT_TARGETS ?= \
|
||||
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
|
||||
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
|
||||
'flash_multi_cores flash_dcd', d), d)}"
|
||||
|
||||
BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}"
|
||||
BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M"
|
||||
BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX"
|
||||
BOOT_STAGING:mx91-generic-bsp = "${S}/iMX91"
|
||||
BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93"
|
||||
BOOT_STAGING:mx95-generic-bsp = "${S}/iMX95"
|
||||
|
||||
SOC_FAMILY = "INVALID"
|
||||
SOC_FAMILY:mx8-generic-bsp = "mx8"
|
||||
SOC_FAMILY:mx8m-generic-bsp = "mx8m"
|
||||
SOC_FAMILY:mx8x-generic-bsp = "mx8x"
|
||||
SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp"
|
||||
SOC_FAMILY:mx91-generic-bsp = "mx91"
|
||||
SOC_FAMILY:mx93-generic-bsp = "mx93"
|
||||
SOC_FAMILY:mx95-generic-bsp = "mx95"
|
||||
|
||||
REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"
|
||||
|
||||
UBOOT_DTB_BINARY ?= "u-boot.dtb"
|
||||
MKIMAGE_EXTRA_ARGS ?= ""
|
||||
MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp ?= " \
|
||||
OEI=${OEI_ENABLE} \
|
||||
LPDDR_TYPE=${DDR_TYPE} \
|
||||
${@'LPDDR_FW_VERSION='+d.getVar('LPDDR_FW_VERSION') if d.getVar('LPDDR_FW_VERSION') else ''} \
|
||||
${@bb.utils.contains('SYSTEM_MANAGER_CONFIG', 'mx95alt', 'MSEL=1', '', d)}"
|
||||
MKIMAGE_EXTRA_ARGS:imx95-19x19-verdin ?= " \
|
||||
${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \
|
||||
QSPI_HEADER=./scripts/fspi_header_133"
|
||||
|
||||
UBOOT_DTB_BINARY ?= "u-boot.dtb"
|
||||
|
||||
compile_mx8m() {
|
||||
bbnote 8MQ/8MM/8MN/8MP boot binary build
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
|
||||
done
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/signed_dp_imx8m.bin ${BOOT_STAGING}
|
||||
cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${BOOT_STAGING}
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
|
||||
if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then
|
||||
# Use DTB binary patched with signature node
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA}
|
||||
else
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} \
|
||||
${BOOT_STAGING}
|
||||
fi
|
||||
if [ "${UBOOT_DTB_NAME_EXTRA}" != "${UBOOT_DTB_NAME}" ] ; then
|
||||
ln -sf ${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}/${UBOOT_DTB_NAME}
|
||||
fi
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-nodtb.bin
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
|
||||
}
|
||||
|
||||
compile_mx8() {
|
||||
bbnote 8QM boot binary build
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx8x() {
|
||||
bbnote 8QX boot binary build
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx8ulp() {
|
||||
bbnote 8ULP boot binary build
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/upower.bin ${BOOT_STAGING}/upower.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx91() {
|
||||
bbnote i.MX 91 boot binary build
|
||||
compile_mx93
|
||||
}
|
||||
|
||||
compile_mx93() {
|
||||
bbnote i.MX 93 boot binary build
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
|
||||
done
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING}/
|
||||
cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
|
||||
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${BOOT_STAGING}/u-boot-spl.bin
|
||||
fi
|
||||
}
|
||||
|
||||
compile_mx95() {
|
||||
bbnote i.MX 95 boot binary build
|
||||
compile_mx93
|
||||
|
||||
cp ${DEPLOY_DIR_IMAGE}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin \
|
||||
${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
# mkimage for i.MX8
|
||||
# Copy TEE binary to SoC target folder to mkimage
|
||||
if ${DEPLOY_OPTEE}; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
|
||||
if ${DEPLOY_OPTEE_STMM}; then
|
||||
# Copy tee.bin to tee.bin-stmm
|
||||
cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}/tee.bin-stmm
|
||||
fi
|
||||
fi
|
||||
# Copy OEI firmware to SoC target folder to mkimage
|
||||
if [ "${OEI_ENABLE}" = "YES" ]; then
|
||||
cp ${DEPLOY_DIR_IMAGE}/${OEI_NAME} ${BOOT_STAGING}
|
||||
fi
|
||||
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
if [ "${@d.getVarFlags('UBOOT_DTB_NAME')}" = "None" ]; then
|
||||
UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
|
||||
else
|
||||
UBOOT_DTB_NAME_FLAGS="${@' '.join(flag + ':' + dtb for flag, dtb in (d.getVarFlags('UBOOT_DTB_NAME')).items()) if d.getVarFlags('UBOOT_DTB_NAME') is not None else '' }"
|
||||
fi
|
||||
|
||||
for key_value in ${UBOOT_DTB_NAME_FLAGS}; do
|
||||
type_key="${key_value%%:*}"
|
||||
dtb_name="${key_value#*:}"
|
||||
|
||||
if [ "$type_key" = "$type" ]
|
||||
then
|
||||
bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name"
|
||||
|
||||
UBOOT_CONFIG_EXTRA="$type_key"
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${dtb_name}-${type} ] ; then
|
||||
UBOOT_DTB_NAME_EXTRA="${dtb_name}-${type}"
|
||||
else
|
||||
# backward compatibility
|
||||
UBOOT_DTB_NAME_EXTRA="${dtb_name}"
|
||||
fi
|
||||
UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
|
||||
BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
|
||||
|
||||
for target in ${IMXBOOT_TARGETS}; do
|
||||
compile_${SOC_FAMILY}
|
||||
case $target in
|
||||
*no_v2x)
|
||||
# Special target build for i.MX 8DXL with V2X off
|
||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}"
|
||||
make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4
|
||||
;;
|
||||
*stmm_capsule)
|
||||
# target for flash_evk_stmm_capsule or
|
||||
# flash_singleboot_stmm_capsule
|
||||
cp ${RECIPE_SYSROOT_NATIVE}/${bindir}/mkeficapsule ${BOOT_STAGING}
|
||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - TEE=tee.bin-stmm ${target}"
|
||||
cp ${DEPLOY_DIR_IMAGE}/CRT.* ${BOOT_STAGING}
|
||||
make SOC=${IMX_BOOT_SOC_TARGET} TEE=tee.bin-stmm dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target}
|
||||
;;
|
||||
*)
|
||||
bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} ${target}"
|
||||
make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} dtbs=${UBOOT_DTB_NAME} ${target}
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -e "${BOOT_STAGING}/flash.bin" ]; then
|
||||
cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target}
|
||||
fi
|
||||
done
|
||||
|
||||
unset UBOOT_CONFIG_EXTRA
|
||||
unset UBOOT_DTB_NAME_EXTRA
|
||||
unset UBOOT_NAME_EXTRA
|
||||
unset BOOT_CONFIG_MACHINE_EXTRA
|
||||
fi
|
||||
|
||||
unset type_key
|
||||
unset dtb_name
|
||||
done
|
||||
|
||||
unset UBOOT_DTB_NAME_FLAGS
|
||||
done
|
||||
unset type
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
|
||||
bbnote "UBOOT_CONFIG = $type"
|
||||
|
||||
UBOOT_CONFIG_EXTRA="$type"
|
||||
BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
|
||||
|
||||
for target in ${IMXBOOT_TARGETS}; do
|
||||
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${D}/boot/
|
||||
done
|
||||
|
||||
unset UBOOT_CONFIG_EXTRA
|
||||
unset BOOT_CONFIG_MACHINE_EXTRA
|
||||
done
|
||||
|
||||
unset type
|
||||
}
|
||||
|
||||
deploy_mx8m() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
done
|
||||
|
||||
install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
}
|
||||
|
||||
deploy_mx8() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx8x() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx8ulp() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx91() {
|
||||
deploy_mx93
|
||||
}
|
||||
|
||||
deploy_mx93() {
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
|
||||
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
done
|
||||
|
||||
install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
}
|
||||
|
||||
deploy_mx95() {
|
||||
deploy_mx93
|
||||
install -m 0644 ${BOOT_STAGING}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}/${SYSTEM_MANAGER_FIRMWARE_NAME}.bin
|
||||
}
|
||||
|
||||
do_deploy() {
|
||||
deploy_${SOC_FAMILY}
|
||||
|
||||
# copy tee.bin to deploy path
|
||||
if ${DEPLOY_OPTEE}; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
|
||||
# copy oei to deploy path
|
||||
if [ "${OEI_ENABLE}" = "YES" ]; then
|
||||
install -m 0644 ${BOOT_STAGING}/${OEI_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
|
||||
# copy makefile (soc.mak) for reference
|
||||
install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
|
||||
# copy stmm files to deploy path
|
||||
if ${DEPLOY_OPTEE_STMM}; then
|
||||
install -m 0644 ${BOOT_STAGING}/tee.bin-stmm ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/capsule1.bin ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${BOOT_STAGING}/CRT.* ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0755 ${BOOT_STAGING}/mkeficapsule ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
UBOOT_CONFIG_EXTRA="$type"
|
||||
UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}"
|
||||
BOOT_CONFIG_MACHINE_EXTRA="imx-boot${BOOT_VARIANT}-${MACHINE}-${UBOOT_CONFIG_EXTRA}.bin"
|
||||
|
||||
if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} ] ; then
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \
|
||||
${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
fi
|
||||
# copy the tool mkimage to deploy path and sc fw, dcd and uboot
|
||||
install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
|
||||
# copy the generated boot image to deploy path
|
||||
for target in ${IMXBOOT_TARGETS}; do
|
||||
# Use first "target" as IMAGE_IMXBOOT_TARGET
|
||||
if [ "$IMAGE_IMXBOOT_TARGET" = "" ]; then
|
||||
IMAGE_IMXBOOT_TARGET="$target"
|
||||
echo "Set boot target as $IMAGE_IMXBOOT_TARGET"
|
||||
fi
|
||||
install -m 0644 ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} ${DEPLOYDIR}
|
||||
done
|
||||
|
||||
# The first UBOOT_CONFIG listed will be the imx-boot binary
|
||||
if [ ! -f "${DEPLOYDIR}/imx-boot" ]; then
|
||||
ln -sf ${BOOT_CONFIG_MACHINE_EXTRA}-${IMAGE_IMXBOOT_TARGET} ${DEPLOYDIR}/imx-boot
|
||||
else
|
||||
bbwarn "Use custom wks.in for $UBOOT_CONFIG = $type"
|
||||
fi
|
||||
|
||||
unset UBOOT_CONFIG_EXTRA
|
||||
unset UBOOT_NAME_EXTRA
|
||||
unset BOOT_CONFIG_MACHINE_EXTRA
|
||||
done
|
||||
unset type
|
||||
}
|
||||
addtask deploy before do_build after do_compile
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
FILES:${PN} = "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)"
|
||||
@@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2022 NXP
|
||||
|
||||
require imx-mkimage_git.inc
|
||||
|
||||
DESCRIPTION = "i.MX make image"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
|
||||
SECTION = "BSP"
|
||||
|
||||
inherit deploy native
|
||||
|
||||
EXTRA_OEMAKE = "SOC=iMX8M mkimage_imx8"
|
||||
|
||||
CFLAGS = "-O2 -Wall -std=c99 -I ${STAGING_INCDIR} -L ${STAGING_LIBDIR}"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 iMX8M/mkimage_imx8 ${D}${bindir}/mkimage_imx8m
|
||||
install -m 0755 iMX8M/mkimage_fit_atf.sh ${D}${bindir}/mkimage_fit_atf.sh
|
||||
install -m 0755 iMX8M/print_fit_hab.sh ${D}${bindir}/print_fit_hab.sh
|
||||
install -m 0755 mkimage_imx8 ${D}${bindir}/mkimage_imx8
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
# Copyright 2017-2023 NXP
|
||||
|
||||
DEPENDS = "zlib-native openssl-native"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-mkimage.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://0001-iMX8M-soc.mak-use-native-mkimage-from-sysroot.patch \
|
||||
"
|
||||
SRCBRANCH = "lf-6.6.52_2.2.1"
|
||||
SRCREV = "81fca6434be0610f3f9216a762aadc4dc3e8d8db"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
SYSROOT_DIRS += "/boot"
|
||||
@@ -0,0 +1,44 @@
|
||||
# Copyright (C) 2016 Freescale Semiconductor
|
||||
# Copyright 2017-2022 NXP
|
||||
|
||||
DESCRIPTION = "i.MX System Controller Firmware"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=5a0bf11f745e68024f37b4724a5364fe"
|
||||
SECTION = "BSP"
|
||||
|
||||
inherit fsl-eula-unpack pkgconfig deploy
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[sha256sum] = "1272ac5c31a88017ef548721f3acf930a7eda6ac73aa9f41b5f0cade9d5c0e5f"
|
||||
|
||||
BOARD_TYPE ?= "mek"
|
||||
SC_FIRMWARE_NAME ?= "INVALID"
|
||||
SC_FIRMWARE_NAME:mx8qm-generic-bsp = "mx8qm-${BOARD_TYPE}-scfw-tcm.bin"
|
||||
SC_FIRMWARE_NAME:mx8qxp-generic-bsp = "mx8qx-${BOARD_TYPE}-scfw-tcm.bin"
|
||||
SC_FIRMWARE_NAME:mx8dxl-generic-bsp = "mx8dxl-${BOARD_TYPE}-scfw-tcm.bin"
|
||||
SC_FIRMWARE_NAME:mx8dx-generic-bsp = "mx8dx-${BOARD_TYPE}-scfw-tcm.bin"
|
||||
|
||||
symlink_name = "scfw_tcm.bin"
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
do_deploy() {
|
||||
install -Dm 0644 ${S}/${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME}
|
||||
ln -sf ${SC_FIRMWARE_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}/${symlink_name}
|
||||
}
|
||||
addtask deploy after do_install
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
LDFLAGS:remove = "-fuse-ld=lld"
|
||||
|
||||
DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
|
||||
@@ -0,0 +1,57 @@
|
||||
From 2eff97fe2345d8255869224404322d23193f1115 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 7 Jan 2023 21:59:15 -0800
|
||||
Subject: [PATCH] Fix return value of void* functions
|
||||
|
||||
This is found with clang
|
||||
|
||||
Fixes
|
||||
error: non-void function does not return a value [-Werror,-Wreturn-type]
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
test/hsm/hsm_test.c | 1 +
|
||||
test/she/src/she_test_storage_manager.c | 1 +
|
||||
test/v2x/v2x_test.c | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/test/hsm/hsm_test.c b/test/hsm/hsm_test.c
|
||||
index 9f29ca9..01820b8 100644
|
||||
--- a/test/hsm/hsm_test.c
|
||||
+++ b/test/hsm/hsm_test.c
|
||||
@@ -391,6 +391,7 @@ static uint32_t nvm_status;
|
||||
static void *hsm_storage_thread(void *arg)
|
||||
{
|
||||
seco_nvm_manager(NVM_FLAGS_HSM, &nvm_status);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/test/she/src/she_test_storage_manager.c b/test/she/src/she_test_storage_manager.c
|
||||
index 32a4cb9..68cdba7 100644
|
||||
--- a/test/she/src/she_test_storage_manager.c
|
||||
+++ b/test/she/src/she_test_storage_manager.c
|
||||
@@ -28,6 +28,7 @@ static uint32_t nvm_status;
|
||||
static void *she_storage_thread(void *arg)
|
||||
{
|
||||
seco_nvm_manager(NVM_FLAGS_SHE, &nvm_status);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/test/v2x/v2x_test.c b/test/v2x/v2x_test.c
|
||||
index aeb3d2a..5f02354 100644
|
||||
--- a/test/v2x/v2x_test.c
|
||||
+++ b/test/v2x/v2x_test.c
|
||||
@@ -181,6 +181,7 @@ static uint32_t nvm_status;
|
||||
static void *v2x_hsm_storage_thread(void *arg)
|
||||
{
|
||||
seco_nvm_manager(NVM_FLAGS_V2X | NVM_FLAGS_HSM, &nvm_status);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 9e89d173a7fab97c913960344ae01dfa409b6258 Mon Sep 17 00:00:00 2001
|
||||
From: Cristinel Panfir <cristinel.panfir@nxp.com>
|
||||
Date: Mon, 27 Jul 2020 18:55:30 +0000
|
||||
Subject: [PATCH] Makefile: Fix LIBDIR for multilib
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
|
||||
---
|
||||
Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index b16cebf..492d700 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -4,7 +4,8 @@ all: she_test hsm_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a
|
||||
CFLAGS = -O1 -Werror -fPIC
|
||||
DESTDIR ?= export
|
||||
BINDIR ?= /usr/bin
|
||||
-LIBDIR ?= /usr/lib
|
||||
+base_libdir ?= /lib
|
||||
+LIBDIR ?= /usr/$(base_libdir)
|
||||
INCLUDEDIR ?= /usr/include
|
||||
|
||||
ifdef COVERAGE
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From b62f020ea723dc33f28e5e865d0ddd13219971c9 Mon Sep 17 00:00:00 2001
|
||||
From: Cristinel Panfir <cristinel.panfir@nxp.com>
|
||||
Date: Mon, 29 Mar 2021 15:24:42 +0300
|
||||
Subject: [PATCH] Makefile: Add v2x test to the installed-binaries
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
|
||||
[regenerate the patch to be applied after meta-imx patches]
|
||||
Signed-off-by: Fausto Chiatante <fausto.chiatante@nxp.com>
|
||||
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 25ad333..a397814 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -61,9 +61,9 @@ hsm_doc: include/hsm/hsm_api.h
|
||||
cp doc/latex/refman.pdf doc/hsm_api_document.pdf
|
||||
rm -rf doc/latex/
|
||||
|
||||
-install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a
|
||||
+install: hsm_test she_test v2x_test she_lib.a seco_nvm_manager.a hsm_lib.a
|
||||
mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)
|
||||
cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
|
||||
- cp hsm_test she_test $(DESTDIR)$(BINDIR)
|
||||
+ cp hsm_test she_test v2x_test $(DESTDIR)$(BINDIR)
|
||||
cp -a include/* $(DESTDIR)$(INCLUDEDIR)
|
||||
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 59608dcb0f0a6f6d8154b1d331c2403d7c1143eb Mon Sep 17 00:00:00 2001
|
||||
From: Cristinel Panfir <cristinel.panfir@nxp.com>
|
||||
Date: Fri, 5 Feb 2021 19:27:00 +0200
|
||||
Subject: [PATCH] Makefile: Fix install to clear host-user-contaminated
|
||||
warnings [HSM-483]
|
||||
|
||||
WARNING: imx-seco-libs-git-r0 do_package_qa: QA Issue:
|
||||
imx-seco-libs: /usr/lib/hsm_lib.a is owned by uid 26292, which is the same as the user running bitbake. This may be due to host contamination
|
||||
imx-seco-libs: /usr/lib/she_lib.a is owned by uid 26292, which is the same as the user running bitbake. This may be due to host contamination
|
||||
imx-seco-libs: /usr/lib/seco_nvm_manager.a is owned by uid 26292, which is the same as the user running bitbake.
|
||||
This may be due to host contamination [host-user-contaminated]
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 492d700..25ad333 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -63,7 +63,7 @@ hsm_doc: include/hsm/hsm_api.h
|
||||
|
||||
install: hsm_test she_test she_lib.a seco_nvm_manager.a hsm_lib.a
|
||||
mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)
|
||||
- cp -a seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
|
||||
+ cp seco_nvm_manager.a hsm_lib.a she_lib.a $(DESTDIR)$(LIBDIR)
|
||||
cp hsm_test she_test $(DESTDIR)$(BINDIR)
|
||||
cp -a include/* $(DESTDIR)$(INCLUDEDIR)
|
||||
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,27 @@
|
||||
# Copyright 2019-22 NXP
|
||||
|
||||
SUMMARY = "NXP i.MX SECO library"
|
||||
DESCRIPTION = "Library for NXP i.MX Security Controller Subsystem"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://EULA.txt;md5=d3c315c6eaa43e07d8c130dc3a04a011"
|
||||
|
||||
DEPENDS = "zlib"
|
||||
|
||||
SRCBRANCH = "lf-6.6.3_1.0.0"
|
||||
SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://0001-Makefile-Fix-LIBDIR-for-multilib.patch \
|
||||
file://0002-Makefile-Fix-install-to-clear-host-user-contaminated.patch \
|
||||
file://0001-add-v2x_test-to-the-installed-binaries.patch \
|
||||
file://0001-Fix-return-value-of-void-functions.patch"
|
||||
SRCREV = "273553f207425f773400be7a7f3a7c425d892d6f"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
|
||||
do_install () {
|
||||
oe_runmake DESTDIR=${D} BINDIR=${bindir} LIBDIR=${libdir} install
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dxl-nxp-bsp|mx8dx-nxp-bsp)"
|
||||
@@ -0,0 +1,26 @@
|
||||
# Copyright 2019-2022 NXP
|
||||
|
||||
SUMMARY = "NXP i.MX SECO firmware"
|
||||
DESCRIPTION = "Firmware for i.MX Security Controller Subsystem"
|
||||
SECTION = "base"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a"
|
||||
|
||||
inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[sha256sum] = "9b04be33814a9cbda9bbfcb6711585cf7e4ed2527793813c95230f350323cba7"
|
||||
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install[noexec] = "1"
|
||||
|
||||
addtask deploy after do_install
|
||||
do_deploy () {
|
||||
# Deploy i.MX8 SECO firmware files
|
||||
install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8qm-generic-bsp|mx8qxp-generic-bsp|mx8dxl-generic-bsp|mx8dx-generic-bsp)"
|
||||
@@ -0,0 +1,31 @@
|
||||
SUMMARY = "NXP i.MX Secure Enclave Userspace Library"
|
||||
DESCRIPTION = "NXP i.MX Secure Enclave Userspace Library"
|
||||
SECTION = "base"
|
||||
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=8636bd68fc00cc6a3809b7b58b45f982"
|
||||
|
||||
DEPENDS = "openssl"
|
||||
|
||||
inherit systemd
|
||||
|
||||
SRC_URI = "git://github.com/NXP/imx-secure-enclave.git;protocol=https;branch=lf-6.6.52_2.2.0"
|
||||
SRCREV = "dffbb844e86f4a49058ffbb40548474059969c27"
|
||||
|
||||
PV = "lf-6.6.52_2.2.0"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE += "PLAT=ele"
|
||||
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
|
||||
do_install () {
|
||||
oe_runmake DESTDIR=${D} install
|
||||
rm -rf ${D}/usr/share
|
||||
}
|
||||
|
||||
SYSTEMD_AUTO_ENABLE = "disable"
|
||||
SYSTEMD_SERVICE:${PN} = "nvm_daemon.service"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)"
|
||||
@@ -0,0 +1 @@
|
||||
complete -o nospace -C /unit_tests/memtool memtool
|
||||
@@ -0,0 +1,10 @@
|
||||
SUMMARY = "Dummy package for SoCs lacking imx-test package"
|
||||
DESCRIPTION = "Dummy package for SoCs lacking imx-test package"
|
||||
SECTION = "base"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
|
||||
86
sources/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb
Normal file
86
sources/meta-freescale/recipes-bsp/imx-test/imx-test_git.bb
Normal file
@@ -0,0 +1,86 @@
|
||||
# Copyright (C) 2012-2016 O.S. Systems Software LTDA.
|
||||
# Copyright (C) 2013-2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2022 NXP
|
||||
|
||||
SUMMARY = "Test programs for i.MX BSP"
|
||||
DESCRIPTION = "Unit tests for the i.MX BSP"
|
||||
SECTION = "base"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-or-later;md5=fed54355545ffd980b814dab4a3b312c"
|
||||
|
||||
DEPENDS = "alsa-lib freetype libdrm"
|
||||
DEPENDS:append:imxvpu = " virtual/imxvpu"
|
||||
DEPENDS:append:mx6-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx7-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
|
||||
DEPENDS:append:mx93-nxp-bsp = " imx-lib"
|
||||
|
||||
PE = "1"
|
||||
PV = "7.0+${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/imx-test.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://memtool_profile"
|
||||
SRCBRANCH = "lf-6.6.3_1.0.0"
|
||||
SRCREV = "8a1fa37664a1e470cf86f1185c08e265e4602a9b"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit module-base use-imx-headers
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
PLATFORM:mx6q-nxp-bsp = "IMX6Q"
|
||||
PLATFORM:mx6dl-nxp-bsp = "IMX6Q"
|
||||
PLATFORM:mx6sl-nxp-bsp = "IMX6SL"
|
||||
PLATFORM:mx6sll-nxp-bsp = "IMX6SL"
|
||||
PLATFORM:mx6sx-nxp-bsp = "IMX6SX"
|
||||
PLATFORM:mx6ul-nxp-bsp = "IMX6UL"
|
||||
PLATFORM:mx7d-nxp-bsp = "IMX7D"
|
||||
PLATFORM:mx7ulp-nxp-bsp = "IMX7D"
|
||||
PLATFORM:mx8-nxp-bsp = "IMX8"
|
||||
PLATFORM:mx8ulp-nxp-bsp = "IMX8ULP"
|
||||
PLATFORM:mx93-nxp-bsp = "IMX8ULP"
|
||||
PLATFORM:mx95-nxp-bsp = "IMX8"
|
||||
|
||||
PARALLEL_MAKE = "-j 1"
|
||||
EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
|
||||
|
||||
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
|
||||
PACKAGECONFIG:append:imxvpu = " vpu"
|
||||
PACKAGECONFIG:append:mx8m-nxp-bsp = " swpdm"
|
||||
|
||||
PACKAGECONFIG[x11] = ",,libx11 libxdamage libxrender libxrandr"
|
||||
PACKAGECONFIG[vpu] = "HAS_VPU=true,HAS_VPU=false,virtual/imxvpu"
|
||||
PACKAGECONFIG[swpdm] = "HAS_IMX_SW_PDM=true,HAS_IMX_SW_PDM=false,imx-sw-pdm"
|
||||
|
||||
do_compile() {
|
||||
CFLAGS="${TOOLCHAIN_OPTIONS}"
|
||||
oe_runmake V=1 VERBOSE='' \
|
||||
CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
INC="-I${S}/include \
|
||||
-I${STAGING_INCDIR} \
|
||||
-I${STAGING_INCDIR_IMX}" \
|
||||
CC="${CC} -L${STAGING_LIBDIR} ${LDFLAGS}" \
|
||||
SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
|
||||
LINUXPATH=${STAGING_KERNEL_DIR} \
|
||||
KBUILD_OUTPUT=${STAGING_KERNEL_BUILDDIR} \
|
||||
PLATFORM=${PLATFORM}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake DESTDIR=${D}/unit_tests \
|
||||
PLATFORM=${PLATFORM} \
|
||||
install
|
||||
|
||||
if [ -e ${WORKDIR}/clocks.sh ]; then
|
||||
install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh
|
||||
fi
|
||||
install -d -m 0755 ${D}${ROOT_HOME}/
|
||||
install -m 0644 ${WORKDIR}/memtool_profile ${D}${ROOT_HOME}/.profile
|
||||
}
|
||||
|
||||
FILES:${PN} += "/unit_tests ${ROOT_HOME}/.profile"
|
||||
RDEPENDS:${PN} = "bash"
|
||||
|
||||
FILES:${PN}-dbg += "/unit_tests/.debug"
|
||||
23
sources/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb
Normal file
23
sources/meta-freescale/recipes-bsp/imx-uuc/imx-uuc_git.bb
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright (C) 2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2019,2024 NXP
|
||||
SUMMARY = "A Daemon wait for NXP mfgtools host's command"
|
||||
SECTION = "base"
|
||||
DEPENDS = "virtual/kernel dosfstools-native"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
PR = "r1"
|
||||
PV = "0.5.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/NXPmicro/imx-uuc.git;protocol=https;branch=master"
|
||||
SRCREV = "9b4adc0cde346fbae743dc21fcf5115488307b83"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
}
|
||||
|
||||
FILES:${PN} += "/linuxrc /fat"
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
|
||||
@@ -0,0 +1,36 @@
|
||||
# Copyright 2019-2022 NXP
|
||||
|
||||
DESCRIPTION = "i.MX VC8000E Encoder library"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "c0244a1"
|
||||
|
||||
SRC_URI[sha256sum] = "713ba375f25490727fcc62bab5d5508f74de03204b4c153464b696b652c5c7df"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
# SCR is the location and name of the Software Content Register file
|
||||
# relative to ${D}${D_SUBDIR}.
|
||||
SCR = "SCR.txt"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${D_SUBDIR}
|
||||
cp -r ${S}/* ${D}${D_SUBDIR}
|
||||
if [ -d "${D}/usr/lib" ] && [ "${D}/usr/lib" != "${D}${libdir}" ]; then
|
||||
mv ${D}/usr/lib ${D}${libdir}
|
||||
fi
|
||||
rm ${D}${D_SUBDIR}/COPYING
|
||||
if [ ! -f ${D}${D_SUBDIR}/${SCR} ]; then
|
||||
bbfatal "Missing Software Content Register \"${D}${D_SUBDIR}/${SCR}\""
|
||||
fi
|
||||
rm ${D}${D_SUBDIR}/${SCR}
|
||||
}
|
||||
|
||||
FILES:${PN} = "/"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
|
||||
@@ -0,0 +1,32 @@
|
||||
# Copyright 2021 NXP
|
||||
DESCRIPTION = "i.MX Hantro V4L2 Daemon"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd8bc2a79509c22fc9c1782a151210b1"
|
||||
|
||||
DEPENDS = "imx-vpu-hantro"
|
||||
DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.tar.gz"
|
||||
IMX_SRCREV_ABBREV = "75d9dd9"
|
||||
|
||||
SRC_URI[sha256sum] = "c3ac36c203fef44ef21c98a90b3fff73af9f328f16b4d85157308848f6c34823"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
|
||||
PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
|
||||
PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
|
||||
|
||||
EXTRA_OEMAKE = " \
|
||||
CROSS_COMPILE="${HOST_PREFIX}" \
|
||||
SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
|
||||
CTRLSW_HDRPATH="${STAGING_INCDIR}" \
|
||||
PLATFORM="${PLATFORM}" \
|
||||
"
|
||||
|
||||
do_install () {
|
||||
oe_runmake install DEST_DIR="${D}"
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
|
||||
@@ -0,0 +1,45 @@
|
||||
# Copyright (C) 2017-2020 NXP
|
||||
|
||||
DESCRIPTION = "i.MX Hantro VPU library"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
|
||||
PROVIDES = "virtual/imxvpu"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
|
||||
IMX_SRCREV_ABBREV = "98ff183"
|
||||
|
||||
SRC_URI[sha256sum] = "c4730cb996a3eafbc06ed0765cd509caa63cdeecdc0c4958efbc91383e0501fd"
|
||||
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
inherit fsl-eula-unpack use-imx-headers
|
||||
|
||||
PARALLEL_MAKE="-j 1"
|
||||
|
||||
PLATFORM:mx8mm-nxp-bsp = "IMX8MM"
|
||||
PLATFORM:mx8mq-nxp-bsp = "IMX8MQ"
|
||||
PLATFORM:mx8mp-nxp-bsp = "IMX8MP"
|
||||
|
||||
#| ../../source/h264high/h264decapi.c:1803:22: error: assignment to 'const u8 *' {aka 'const unsigned char *'} from incompatible pointer type 'u32 *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
|
||||
#| 1803 | ref_data = ref.virtual_address;
|
||||
#| ../../source/h264high/h264decapi.c:2086:22: error: assignment to 'const u8 *' {aka 'const unsigned char *'} from incompatible pointer type 'u32 *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
|
||||
#| 2086 | ref_data = ref.virtual_address;
|
||||
|
||||
CFLAGS += " -Wno-error=incompatible-pointer-types"
|
||||
EXTRA_OEMAKE = " \
|
||||
CROSS_COMPILE="${HOST_PREFIX}" \
|
||||
SDKTARGETSYSROOT="${STAGING_DIR_TARGET}" \
|
||||
PLATFORM="${PLATFORM}" \
|
||||
"
|
||||
|
||||
do_install () {
|
||||
oe_runmake install DEST_DIR="${D}"
|
||||
}
|
||||
|
||||
FILES:${PN} += "/unit_tests"
|
||||
|
||||
RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
|
||||
@@ -0,0 +1,29 @@
|
||||
# Copyright (C) 2013-2018 O.S. Systems Software LTDA.
|
||||
# Copyright (C) 2013-2016 Freescale Semiconductor
|
||||
# Copyright (C) 2017-2020 NXP
|
||||
|
||||
DESCRIPTION = "Freescale VPU library for Chips&Media VPU"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
|
||||
|
||||
PROVIDES = "virtual/imxvpu"
|
||||
|
||||
PE = "1"
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
|
||||
SRC_URI[sha256sum] = "87cb799a57df654db29403cb74a75ca5185a1517022d3a4a16b8d69056c36127"
|
||||
|
||||
inherit fsl-eula-unpack use-imx-headers
|
||||
|
||||
PLATFORM = "IMX6Q"
|
||||
|
||||
do_compile() {
|
||||
INCLUDE_DIR="-I${STAGING_INCDIR_IMX}"
|
||||
oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
|
||||
28
sources/meta-freescale/recipes-bsp/inphi/inphi_git.bb
Normal file
28
sources/meta-freescale/recipes-bsp/inphi/inphi_git.bb
Normal file
@@ -0,0 +1,28 @@
|
||||
SUMMARY = "Firmwares and Standalone Applications"
|
||||
LICENSE = "NXP-Binary-EULA"
|
||||
LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/nxp/qoriq-firmware-inphi.git;nobranch=1;protocol=https"
|
||||
SRCREV = "f22e9ff3bfed8342da6efb699e473b11fbad5695"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
cp -fr ${S}/in112525-phy-ucode.txt ${D}/boot
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/inphi
|
||||
cp -fr ${S}/in112525-phy-ucode.txt ${DEPLOYDIR}/inphi
|
||||
}
|
||||
addtask deploy before do_build after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq-arm64)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# Copyright 2020-2023 NXP
|
||||
|
||||
DESCRIPTION = "Basler camera binary drivers"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7"
|
||||
|
||||
inherit fsl-eula-unpack
|
||||
|
||||
SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
|
||||
|
||||
SRC_URI[sha256sum] = "ad3e98ee0c10f2b3e74af8923f44b8d5908e42eedbca12a702e35cee9328d8cf"
|
||||
|
||||
do_install() {
|
||||
dest_dir=${D}/opt/imx8-isp/bin
|
||||
install -d ${D}/${libdir}
|
||||
install -d $dest_dir
|
||||
cp -r ${S}/opt/imx8-isp/bin/* $dest_dir
|
||||
cp -r ${S}/usr/lib/* ${D}/${libdir}
|
||||
}
|
||||
|
||||
SYSTEMD_AUTO_ENABLE = "enable"
|
||||
|
||||
FILES:${PN} = "${libdir} /opt"
|
||||
INSANE_SKIP:${PN} = "already-stripped"
|
||||
RDEPENDS:${PN} += "isp-imx"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
|
||||
@@ -0,0 +1,88 @@
|
||||
# Copyright 2020-2023 NXP
|
||||
|
||||
DESCRIPTION = "i.MX Verisilicon Software ISP"
|
||||
LICENSE = "Proprietary"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837"
|
||||
DEPENDS = "boost libdrm virtual/libg2d libtinyxml2 jsoncpp patchelf-native"
|
||||
|
||||
SRC_URI = " \
|
||||
${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
|
||||
"
|
||||
IMX_SRCREV_ABBREV = "8527c7b"
|
||||
S = "${WORKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
|
||||
|
||||
SRC_URI[sha256sum] = "481e49e9da6d7783d6c28385bb68463eac7b9e9fef6ea958950260a8ad6b1e4c"
|
||||
|
||||
inherit fsl-eula-unpack cmake systemd use-imx-headers
|
||||
|
||||
PACKAGECONFIG = "tuningext"
|
||||
# Note: building with tuningext fails with boost 1.87.
|
||||
# (update to 1.87 with walnascar)
|
||||
PACKAGECONFIG[tuningext] = "-DTUNINGEXT=1,-DTUNINGEXT=0"
|
||||
|
||||
# Build the sub-folder appshell
|
||||
OECMAKE_SOURCEPATH = "${S}/appshell"
|
||||
|
||||
# Use make instead of ninja
|
||||
OECMAKE_GENERATOR = "Unix Makefiles"
|
||||
|
||||
# Workaround for linking issues seen with gold linker
|
||||
LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "imx8-isp.service"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DSDKTARGETSYSROOT=${STAGING_DIR_HOST} \
|
||||
-DCMAKE_BUILD_TYPE=release \
|
||||
-DISP_VERSION=ISP8000NANO_V1802 \
|
||||
-DPLATFORM=ARM64 \
|
||||
-DQTLESS=1 \
|
||||
-DFULL_SRC_COMPILE=1 \
|
||||
-DWITH_DRM=1 \
|
||||
-DWITH_DWE=1 \
|
||||
-DSUBDEV_V4L2=1 \
|
||||
-DPARTITION_BUILD=0 \
|
||||
-D3A_SRC_BUILD=0 \
|
||||
-DIMX_G2D=ON \
|
||||
-Wno-dev \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
# FIXME: provided by the basler-camera package, do not install them here additionally
|
||||
rm -f ${S}/dewarp/dewarp_config//daA3840_30mc*.json
|
||||
|
||||
# The Makefile unconditionally installs tuningext even if it is not built
|
||||
if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
|
||||
touch ${B}/generated/release/bin/tuningext
|
||||
fi
|
||||
|
||||
oe_runmake -f ${S}/Makefile install INSTALL_DIR=${D} SOURCE_DIR=${S}
|
||||
|
||||
if ${@bb.utils.contains('PACKAGECONFIG','tuningext','false','true',d)}; then
|
||||
rm ${D}/opt/imx8-isp/bin/tuningext
|
||||
fi
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${S}/imx/imx8-isp.service ${D}${systemd_system_unitdir}
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
# The build contains a mix of versioned and unversioned libraries, so
|
||||
# the default packaging configuration needs some modification so that
|
||||
# unversioned .so libraries go to the main package and versioned .so
|
||||
# symlinks go to -dev.
|
||||
FILES_SOLIBSDEV = ""
|
||||
FILES:${PN} += "/opt ${libdir}/lib*${SOLIBSDEV}"
|
||||
FILES:${PN}-dev += "${FILES_SOLIBS_VERSIONED}"
|
||||
FILES_SOLIBS_VERSIONED = " \
|
||||
${libdir}/libcppnetlib-client-connections.so \
|
||||
${libdir}/libcppnetlib-server-parsers.so \
|
||||
${libdir}/libcppnetlib-uri.so \
|
||||
${libdir}/libos08a20.so \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} = "libdrm"
|
||||
|
||||
COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
./test-alloc >/dev/null 2>&1
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "PASS: test-alloc"
|
||||
else
|
||||
echo "FAIL: test-alloc"
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
DESCRIPTION = 'Library for allocating and managing physically contiguous memory \
|
||||
("DMA memory" or "DMA buffers") on i.MX devices.'
|
||||
HOMEPAGE = "https://github.com/Freescale/libimxdmabuffer"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fa42a5a6425b26d2919b17b1527324"
|
||||
SECTION = "base"
|
||||
|
||||
PV .= "+git${SRCPV}"
|
||||
|
||||
SRCBRANCH ?= "master"
|
||||
SRCREV = "faf547cc2345bfbf95507ab7e86530f85289bb5b"
|
||||
SRC_URI = "git://github.com/Freescale/libimxdmabuffer.git;branch=${SRCBRANCH};protocol=https \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig waf use-imx-headers ptest
|
||||
|
||||
EXTRA_OECONF = "--imx-linux-headers-path=${STAGING_INCDIR_IMX} \
|
||||
--libdir=${libdir} \
|
||||
${@bb.utils.contains_any('PACKAGECONFIG', \
|
||||
[ 'dma-heap-cached', 'dma-heap-uncached' ], \
|
||||
'', '--with-dma-heap-allocator=no',d)} \
|
||||
${PACKAGECONFIG_CONFARGS}"
|
||||
|
||||
# If imxdpu is in use, the DPU is also used for implementing
|
||||
# libg2d. However, that implementation's g2d_alloc() function
|
||||
# is broken, so we cannot use it.
|
||||
LIBG2D_PACKAGECONFIG = "g2d"
|
||||
LIBG2D_PACKAGECONFIG:imxdpu = ""
|
||||
|
||||
# The dma-heap allocator is special in that it can use more than one heap device
|
||||
# node. In libimxdmabuffer, only heaps that allocate physically contiguous memory
|
||||
# can be used, otherwise usable DMA buffers cannot be allocated. Furthermore,
|
||||
# on NXP machines, there is a dma-heap for cached and one for uncached memory.
|
||||
#
|
||||
# One of them has to be selected by choosing either the "dma-heap-cached" or the
|
||||
# "dma-heap-uncached" PACKAGECONFIG. The uncached one is picked by default for
|
||||
# performance reasons (it does not suffer from cache coherence issues).
|
||||
#
|
||||
# Note that the uncached heap is not available prior to imx-kernel 5.15.5;
|
||||
# older kernels can only use the cached one.
|
||||
|
||||
CACHED_DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma"
|
||||
UNCACHED_DMA_HEAP_DEVICE_NODE_PATH = "/dev/dma_heap/linux,cma-uncached"
|
||||
|
||||
CACHED_DMA_HEAP_CONF = "--dma-heap-device-node-path=${CACHED_DMA_HEAP_DEVICE_NODE_PATH}"
|
||||
UNCACHED_DMA_HEAP_CONF = "--dma-heap-device-node-path=${UNCACHED_DMA_HEAP_DEVICE_NODE_PATH} \
|
||||
--dma-heap-uncached-memory"
|
||||
|
||||
PACKAGECONFIG ?= " "
|
||||
PACKAGECONFIG:append:imxgpu2d = " ${LIBG2D_PACKAGECONFIG}"
|
||||
PACKAGECONFIG:append:imxipu = " ipu"
|
||||
PACKAGECONFIG:append:imxpxp = " pxp"
|
||||
# All i.MX8 machines can use the dma-heap allocator. i.MX8m ones
|
||||
# can also use the DWL allocator, though dma-heap is preferred.
|
||||
# Vendor kernels that are older than kernel 5.6 cannot use
|
||||
# dma-heap, however, and should use ion instead, since the
|
||||
# former is not available pre-5.6. Out of the dma-heaps, we
|
||||
# pick the uncached one by default (see above).
|
||||
PACKAGECONFIG:append:mx8-nxp-bsp = " dma-heap-uncached"
|
||||
PACKAGECONFIG:append:mx8mq-nxp-bsp = " dwl"
|
||||
PACKAGECONFIG:append:mx8mm-nxp-bsp = " dwl"
|
||||
PACKAGECONFIG:append:mx8mp-nxp-bsp = " dwl"
|
||||
|
||||
HANTRO_CONF = "--hantro-headers-path=${STAGING_INCDIR}/hantro_dec --hantro-decoder-version=G2"
|
||||
|
||||
PACKAGECONFIG[dwl] = "--with-dwl-allocator=yes ${HANTRO_CONF}, --with-dwl-allocator=no,imx-vpu-hantro"
|
||||
PACKAGECONFIG[ion] = "--with-ion-allocator=yes, --with-ion-allocator=no,"
|
||||
PACKAGECONFIG[ipu] = "--with-ipu-allocator=yes, --with-ipu-allocator=no,"
|
||||
PACKAGECONFIG[g2d] = "--with-g2d-allocator=yes, --with-g2d-allocator=no,virtual/libg2d"
|
||||
PACKAGECONFIG[pxp] = "--with-pxp-allocator=yes, --with-pxp-allocator=no,"
|
||||
# --with-dma-heap-allocator=no is not added by these packageconfigs.
|
||||
# Otherwise, it would always be added, since only one of these two
|
||||
# dma-heap-* packageconfigs can be selected. Instead, that switch
|
||||
# is added to EXTRA_OECONF above.
|
||||
PACKAGECONFIG[dma-heap-cached] = "--with-dma-heap-allocator=yes ${CACHED_DMA_HEAP_CONF}, \
|
||||
,,,,dma-heap-uncached"
|
||||
PACKAGECONFIG[dma-heap-uncached] = "--with-dma-heap-allocator=yes ${UNCACHED_DMA_HEAP_CONF}, \
|
||||
,,,,dma-heap-cached"
|
||||
|
||||
# Using do_install_ptest_base instead of do_install_ptest, since
|
||||
# the default do_install_ptest_base is hardcoded to expect Makefiles.
|
||||
do_install_ptest_base() {
|
||||
install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest
|
||||
install -m 0755 ${B}/test-alloc ${D}${PTEST_PATH}
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
|
||||
28
sources/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb
Normal file
28
sources/meta-freescale/recipes-bsp/ls2-phy/ls2-phy_git.bb
Normal file
@@ -0,0 +1,28 @@
|
||||
SUMMARY = "Firmwares and Standalone Applications"
|
||||
LICENSE = "NXP-Binary-EULA"
|
||||
LIC_FILES_CHKSUM = "file://EULA.txt;md5=86d76166990962fa552f840ff08e5798"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/nxp/qoriq-firmware-cortina.git;nobranch=1;protocol=https"
|
||||
SRCREV = "9143c2a3adede595966583c00ca4edc99ec698cf"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
cp -fr ${S}/* ${D}/boot
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/ls2-phy
|
||||
cp -fr ${S}/* ${DEPLOYDIR}/ls2-phy
|
||||
}
|
||||
addtask deploy before do_build after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
45
sources/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb
Normal file
45
sources/meta-freescale/recipes-bsp/mc-utils/mc-utils_git.bb
Normal file
@@ -0,0 +1,45 @@
|
||||
DESCRIPTION = "The Management Complex (MC) is a key component of DPAA"
|
||||
SECTION = "mc-utils"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=386a6287daa6504b7e7e5014ddfb3987"
|
||||
|
||||
DEPENDS += "dtc-native"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/nxp-qoriq/mc-utils;protocol=https;nobranch=1"
|
||||
SRCREV = "5ccc2688b72c4a05119a393cbe3573b5f81d10bc"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
MC_CFG ?= ""
|
||||
MC_CFG:ls1088a = "ls1088a"
|
||||
MC_CFG:ls2088a = "ls2088a"
|
||||
MC_CFG:lx2160a = "lx2160a"
|
||||
MC_CFG:lx2162a = "lx2162a"
|
||||
|
||||
MC_FLAVOUR ?= "${@oe.utils.ifelse(d.getVar('MACHINE').endswith('qds'), 'QDS', 'RDB')}"
|
||||
MC_FOLDER ?= "${@d.getVar('MC_CFG').upper() + '-' + d.getVar('MC_FLAVOUR')}"
|
||||
|
||||
do_compile () {
|
||||
oe_runmake -C config
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot/mc-utils
|
||||
if [ -e ${S}/config/${MC_CFG}/${MC_FOLDER} ]; then
|
||||
cp -r ${S}/config/${MC_CFG}/${MC_FOLDER}/* ${D}/boot/mc-utils/
|
||||
fi
|
||||
find ${D}/boot/mc-utils/ ! -name "*.dtb" ! -type d -exec rm {} \;
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/mc-utils
|
||||
cp -r ${D}/boot/mc-utils/* ${DEPLOYDIR}/mc-utils/
|
||||
}
|
||||
addtask deploy after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(qoriq-arm64)"
|
||||
@@ -0,0 +1,29 @@
|
||||
From 2f2e1ca77b4459475e5d649bd22e6bc8c3873695 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 25 Sep 2018 01:23:02 -0700
|
||||
Subject: [PATCH] Do not ignore OE cflags and ldflags
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index afb4e32..d2763ed 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -3,8 +3,8 @@ prefix ?= "/usr/local"
|
||||
|
||||
all: mxsldr
|
||||
|
||||
-CFLAGS = `pkg-config --cflags libusb-1.0`
|
||||
-LDFLAGS = `pkg-config --libs libusb-1.0`
|
||||
+CFLAGS += `pkg-config --cflags libusb-1.0`
|
||||
+LDFLAGS += `pkg-config --libs libusb-1.0`
|
||||
|
||||
mxsldr: mxsldr.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lusb-1.0
|
||||
--
|
||||
2.19.0
|
||||
|
||||
26
sources/meta-freescale/recipes-bsp/mxsldr/mxsldr_git.bb
Normal file
26
sources/meta-freescale/recipes-bsp/mxsldr/mxsldr_git.bb
Normal file
@@ -0,0 +1,26 @@
|
||||
# Copyright (C) 2012 O.S. Systems Software LTDA.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
DESCRIPTION = "Freescale i.MX233/i.MX28 USB loader"
|
||||
DEPENDS = "libusb1"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRCREV = "c40d80472525e1d57dae5317c028b745968c0399"
|
||||
SRC_URI = "git://git.denx.de/mxsldr.git;branch=master \
|
||||
file://0001-Do-not-ignore-OE-cflags-and-ldflags.patch \
|
||||
"
|
||||
|
||||
PV = "0.0.0+git${SRCPV}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig
|
||||
|
||||
do_compile() {
|
||||
oe_runmake
|
||||
}
|
||||
do_install() {
|
||||
oe_runmake install DESTDIR="${D}"
|
||||
}
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,35 @@
|
||||
SUMMARY = "PPFE Linux firmware"
|
||||
LICENSE = "NXP-Binary-EULA"
|
||||
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA.txt;md5=92723670f432558b9e2494ed177d2a85"
|
||||
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/NXP/qoriq-engine-pfe-bin.git;nobranch=1;protocol=https"
|
||||
SRCREV = "f55ee9f72090309bbb7ab71f48a498fc02909234"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware
|
||||
install -d ${D}/boot/engine-pfe-bin
|
||||
install -m 644 ${S}/NXP-Binary-EULA.txt ${D}${nonarch_base_libdir}/firmware
|
||||
install -m 755 ${S}/ls1012a/slow_path/*.elf ${D}${nonarch_base_libdir}/firmware
|
||||
install -m 755 ${S}/ls1012a/u-boot/* ${D}/boot/engine-pfe-bin
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/engine-pfe-bin
|
||||
cp -r ${D}/boot/engine-pfe-bin/* ${DEPLOYDIR}/engine-pfe-bin
|
||||
}
|
||||
|
||||
addtask deploy after do_install
|
||||
|
||||
FILES:${PN} += "${nonarch_base_libdir}/firmware /boot/"
|
||||
INSANE_SKIP:${PN} += "arch already-stripped"
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_SYSROOT_STRIP = "1"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ls1012a)"
|
||||
29
sources/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb
Normal file
29
sources/meta-freescale/recipes-bsp/qe-ucode/qe-ucode_git.bb
Normal file
@@ -0,0 +1,29 @@
|
||||
DESCRIPTION = "qe microcode binary"
|
||||
SECTION = "qe-ucode"
|
||||
LICENSE = "NXP-Binary-EULA"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=c62f8109b4df15ca37ceeb5e4943626c"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/NXP/qoriq-qe-ucode.git;nobranch=1;protocol=https"
|
||||
SRCREV= "c89d7843943fd3bd52aa5f1ff7a91200a2f7f63b"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
install -m 644 ${B}/*.bin ${D}/boot
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/boot
|
||||
install -m 644 ${B}/*.bin ${DEPLOYDIR}/boot
|
||||
}
|
||||
addtask deploy before do_build after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot/*"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
43
sources/meta-freescale/recipes-bsp/rcw/rcw_git.bb
Normal file
43
sources/meta-freescale/recipes-bsp/rcw/rcw_git.bb
Normal file
@@ -0,0 +1,43 @@
|
||||
SUMMARY = "Reset Configuration Word"
|
||||
DESCRIPTION = "Reset Configuration Word - hardware boot-time parameters for the QorIQ targets"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=44a0d0fad189770cc022af4ac6262cbe"
|
||||
|
||||
DEPENDS += "tcl-native"
|
||||
|
||||
inherit deploy siteinfo
|
||||
|
||||
SRC_URI = "git://github.com/nxp-qoriq/rcw;protocol=https;nobranch=1"
|
||||
SRCREV = "64abe70cf0abab053c37db460c12e367e6adf7a4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
export PYTHON = "${USRBINPATH}/python3"
|
||||
|
||||
M="${@d.getVar('MACHINE').replace('-64b','').replace('-32b','').replace('-${SITEINFO_ENDIANNESS}','')}"
|
||||
|
||||
BOARD_TARGETS="${M}"
|
||||
BOARD_TARGETS:ls2088ardb="${M} ${M}_rev1.1"
|
||||
BOARD_TARGETS:ls1088ardb-pb="ls1088ardb"
|
||||
BOARD_TARGETS:lx2160ardb = "${M} ${M}_rev2"
|
||||
BOARD_TARGETS:lx2160ardb-rev2 = "lx2160ardb_rev2"
|
||||
|
||||
do_compile () {
|
||||
oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/
|
||||
}
|
||||
|
||||
do_install () {
|
||||
oe_runmake BOARDS="${BOARD_TARGETS}" DESTDIR=${D}/boot/rcw/ install
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}/rcw
|
||||
cp -r ${D}/boot/rcw/* ${DEPLOYDIR}/rcw/
|
||||
}
|
||||
addtask deploy after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/boot"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
@@ -0,0 +1,43 @@
|
||||
# Fixup for the libubootenv which rely on uboot-config class for no good reason.
|
||||
#
|
||||
# This is not intended to be permanent but we need to get the integration
|
||||
# working and there is no good solution for now so we are adding this in a
|
||||
# non-intrusive way and using the `IMX_DEFAULT_BOOTLOADER` as a guard to do any
|
||||
# code execution.
|
||||
|
||||
def fixup_uboot_config_dependency(d):
|
||||
ubootmachine = d.getVar("UBOOT_MACHINE")
|
||||
ubootconfig = (d.getVar('UBOOT_CONFIG') or "").split()
|
||||
imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER')
|
||||
|
||||
if not ubootmachine and not ubootconfig and imx_default_bootloader:
|
||||
# FIXME: We need to provide the UBOOT_MACHINE or UBOOT_CONFIG to allow libubootenv to
|
||||
# build. This is caused by the commit below:
|
||||
#
|
||||
# ,----[ libubootenv change ]
|
||||
# | commit 10aa1291979fb90bed1beb49be4d406ed0e1e4d5 ┃
|
||||
# | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
# | Author: Ming Liu <liu.ming50@gmail.com>
|
||||
# | Date: Tue Aug 25 20:08:01 2020 +0200
|
||||
# |
|
||||
# | libubootenv: inherit uboot-config
|
||||
# |
|
||||
# | This mainly aims to involve in the sanity check of UBOOT_CONFIG and
|
||||
# | UBOOT_MACHINE, it will throw a error message at recipe parsing time if
|
||||
# | neither of them is set, and libubootenv would be skipped.
|
||||
# |
|
||||
# | Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
||||
# | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
# `----
|
||||
ubootmachine = d.getVar("UBOOT_MACHINE:pn-%s" % imx_default_bootloader)
|
||||
ubootconfig = (d.getVar("UBOOT_CONFIG:pn-%s" % imx_default_bootloader) or "").split()
|
||||
|
||||
d.setVar("UBOOT_CONFIG", ubootconfig)
|
||||
d.setVar("UBOOT_MACHINE", ubootmachine)
|
||||
|
||||
python fixup_uboot_config_dependency_handler() {
|
||||
fixup_uboot_config_dependency(d)
|
||||
}
|
||||
|
||||
fixup_uboot_config_dependency_handler[eventmask] = "bb.event.RecipePreFinalise"
|
||||
addhandler fixup_uboot_config_dependency_handler
|
||||
@@ -0,0 +1,20 @@
|
||||
# Copyright (C) 2012-2022 O.S. Systems Software LTDA.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
inherit fsl-u-boot-localversion
|
||||
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
|
||||
|
||||
DEPENDS += "flex-native bison-native"
|
||||
|
||||
SRC_URI = "git://github.com/Freescale/u-boot-fslc.git;branch=${SRCBRANCH};protocol=https"
|
||||
|
||||
SRCREV = "aa4bc52d08c342df83e3c576e2c108d7c8816e0e"
|
||||
SRCBRANCH = "2025.01+fslc"
|
||||
|
||||
PV = "2025.01+fslc+git${SRCPV}"
|
||||
CVE_PRODUCT = "denx:u-boot"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
@@ -0,0 +1,42 @@
|
||||
require u-boot-fslc-common_${PV}.inc
|
||||
|
||||
DESCRIPTION = "U-boot bootloader mxsboot tool"
|
||||
SECTION = "bootloader"
|
||||
|
||||
inherit python3native
|
||||
|
||||
DEPENDS += " \
|
||||
bison-native \
|
||||
dtc \
|
||||
gnutls \
|
||||
openssl \
|
||||
python3-setuptools-native \
|
||||
swig-native \
|
||||
util-linux-libuuid \
|
||||
"
|
||||
|
||||
PROVIDES = "u-boot-mxsboot"
|
||||
|
||||
EXTRA_OEMAKE:class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
|
||||
EXTRA_OEMAKE:class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
|
||||
EXTRA_OEMAKE:class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1 CONFIG_MX28=y'
|
||||
|
||||
do_compile () {
|
||||
oe_runmake -C ${S} O=${B} tools-only_defconfig
|
||||
|
||||
# Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
|
||||
# generating it requires bin2header tool, which for target build
|
||||
# is built with target tools and thus cannot be executed on host.
|
||||
sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
|
||||
|
||||
oe_runmake -C ${S} O=${B} cross_tools NO_SDL=1
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -Dm 0755 tools/mxsboot ${D}${bindir}/uboot-mxsboot
|
||||
ln -sf uboot-mxsboot ${D}${bindir}/mxsboot
|
||||
}
|
||||
|
||||
COMPATIBLE_MACHINE:class-target = "(mxs-generic-bsp)"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,26 @@
|
||||
require recipes-bsp/u-boot/u-boot.inc
|
||||
require u-boot-fslc-common_${PV}.inc
|
||||
|
||||
DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
|
||||
order to provide support for some backported features and fixes, or because it \
|
||||
was submitted for revision and it takes some time to become part of a stable \
|
||||
version, or because it is not applicable for upstreaming."
|
||||
|
||||
DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
|
||||
|
||||
PROVIDES += "u-boot u-boot-mfgtool"
|
||||
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
# FIXME: Allow linking of 'tools' binaries with native libraries
|
||||
# used for generating the boot logo and other tools used
|
||||
# during the build process.
|
||||
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
|
||||
HOSTLDFLAGS="${BUILD_LDFLAGS}" \
|
||||
HOSTSTRIP=true'
|
||||
|
||||
inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
|
||||
inherit uuu_bootloader_tag
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(imx-generic-bsp)"
|
||||
@@ -0,0 +1,26 @@
|
||||
DESCRIPTION = "i.MX U-Boot suppporting i.MX reference boards."
|
||||
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-imx/uboot-imx.git;protocol=https;branch=${SRCBRANCH}"
|
||||
SRCBRANCH = "lf_v2024.04"
|
||||
LOCALVERSION ?= "-imx_v2024.04_6.6.52-2.2.0"
|
||||
SRCREV = "6c4545203d123c246c5d7995f2893959506d28e0"
|
||||
CVE_PRODUCT = "nxp:uboot_secondary_program_loader denx:u-boot"
|
||||
|
||||
DEPENDS += " \
|
||||
bc-native \
|
||||
bison-native \
|
||||
dtc-native \
|
||||
flex-native \
|
||||
gnutls-native \
|
||||
xxd-native \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
inherit fsl-u-boot-localversion
|
||||
|
||||
BOOT_TOOLS = "imx-boot-tools"
|
||||
@@ -0,0 +1,66 @@
|
||||
# Copyright (C) 2013-2016 Freescale Semiconductor
|
||||
# Copyright 2018 (C) O.S. Systems Software LTDA.
|
||||
# Copyright (C) 2017-2024 NXP
|
||||
|
||||
require recipes-bsp/u-boot/u-boot.inc
|
||||
require u-boot-imx-common_${PV}.inc
|
||||
|
||||
PROVIDES += "u-boot u-boot-mfgtool"
|
||||
|
||||
inherit uuu_bootloader_tag
|
||||
|
||||
# The UUU tag goes on the boot partition. For 8+, the boot partition image
|
||||
# is imx-boot, so disable UUU-tagging here
|
||||
UUU_BOOTLOADER:mx8-generic-bsp = ""
|
||||
UUU_BOOTLOADER:mx9-generic-bsp = ""
|
||||
|
||||
do_deploy:append:mx8m-generic-bsp() {
|
||||
# Deploy u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
|
||||
if [ -n "${UBOOT_CONFIG}" ]
|
||||
then
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=$(expr $i + 1);
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=$(expr $j + 1);
|
||||
if [ $j -eq $i ]
|
||||
then
|
||||
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
|
||||
install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type}
|
||||
UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}"
|
||||
for key_value in ${UBOOT_DTB_NAME_FLAGS}; do
|
||||
local type_key="${key_value%%:*}"
|
||||
local dtb_name="${key_value#*:}"
|
||||
if [ "$type_key" = "$type" ]
|
||||
then
|
||||
bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name"
|
||||
# There is only one ${dtb_name}, the first one. All the other are with the type appended
|
||||
if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then
|
||||
install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}
|
||||
else
|
||||
bbwarn "Use custom wks.in for $dtb_name = $type"
|
||||
fi
|
||||
install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type}
|
||||
fi
|
||||
unset type_key
|
||||
unset dtb_name
|
||||
done
|
||||
|
||||
unset UBOOT_DTB_NAME_FLAGS
|
||||
fi
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
|
||||
# Deploy CRT.* from u-boot for stmm
|
||||
install -m 0644 ${S}/CRT.* ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
do_deploy:append:mx93-generic-bsp() {
|
||||
# Deploy CRT.* from u-boot for stmm
|
||||
install -m 0644 ${S}/CRT.* ${DEPLOYDIR}
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
COMPATIBLE_MACHINE = "(mx6-generic-bsp|mx7-generic-bsp|mx8-generic-bsp|mx9-generic-bsp)"
|
||||
@@ -0,0 +1,98 @@
|
||||
require recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ boards"
|
||||
PROVIDES += "u-boot"
|
||||
|
||||
inherit fsl-u-boot-localversion
|
||||
|
||||
LICENSE = "GPL-2.0-only & BSD-3-Clause & BSD-2-Clause & LGPL-2.0-only & LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://Licenses/bsd-2-clause.txt;md5=6a31f076f5773aabd8ff86191ad6fdd5 \
|
||||
file://Licenses/bsd-3-clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c \
|
||||
file://Licenses/lgpl-2.0.txt;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
|
||||
file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
|
||||
"
|
||||
|
||||
SRC_URI = "git://github.com/nxp-qoriq/u-boot;protocol=https;nobranch=1"
|
||||
SRCREV= "1c0116f3da250c5a52858c53efb8b38c0963f477"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
PV:append = "+fslgit"
|
||||
LOCALVERSION = "+fsl"
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python3-native python3-setuptools-native"
|
||||
DEPENDS:append:qoriq-arm64 = " dtc-native"
|
||||
DEPENDS:append:qoriq-arm = " dtc-native"
|
||||
DEPENDS:append:qoriq-ppc = " boot-format-native"
|
||||
|
||||
python () {
|
||||
if d.getVar("TCMODE") == "external-fsl":
|
||||
return
|
||||
|
||||
ml = d.getVar("MULTILIB_VARIANTS")
|
||||
arch = d.getVar("OVERRIDES")
|
||||
|
||||
if "e5500-64b:" in arch or "e6500-64b:" in arch:
|
||||
if not "lib32" in ml:
|
||||
raise bb.parse.SkipPackage("Building the u-boot for this arch requires multilib to be enabled")
|
||||
sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux'
|
||||
sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
|
||||
workdir = d.getVar('WORKDIR')
|
||||
d.setVar('DEPENDS:append', ' lib32-gcc-cross-powerpc lib32-libgcc')
|
||||
d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib)
|
||||
d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot')
|
||||
d.setVar("WRAP_TARGET_PREFIX", 'powerpc' + sys_multilib + '-')
|
||||
elif "fsl-lsch2-32b:" in arch:
|
||||
if not "lib64" in ml:
|
||||
raise bb.parse.SkipRecipe("Building the u-boot for this arch requires multilib to be enabled")
|
||||
sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux'
|
||||
sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS')
|
||||
workdir = d.getVar('WORKDIR')
|
||||
d.setVar('DEPENDS:append', ' lib64-gcc-cross-aarch64 lib64-libgcc')
|
||||
d.setVar('PATH:append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib)
|
||||
d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot')
|
||||
d.setVar("WRAP_TARGET_PREFIX", 'aarch64' + sys_multilib + '-')
|
||||
}
|
||||
|
||||
LE_UBOOT_FOR_ARMBE_TARGET ?= "0"
|
||||
ENDIANNESS_GCC = "${@bb.utils.contains("LE_UBOOT_FOR_ARMBE_TARGET", "1", "-mlittle-endian", "", d)}"
|
||||
ENDIANNESS_LD = "${@bb.utils.contains("LE_UBOOT_FOR_ARMBE_TARGET", "1", "-EL", "", d)}"
|
||||
|
||||
WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}"
|
||||
EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${ENDIANNESS_GCC}" LD="${WRAP_TARGET_PREFIX}ld ${ENDIANNESS_LD}" V=1'
|
||||
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
|
||||
EXTRA_OEMAKE += 'STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
|
||||
|
||||
do_compile:append:qoriq() {
|
||||
unset i j k
|
||||
for config in ${UBOOT_MACHINE}; do
|
||||
i=`expr $i + 1`;
|
||||
for type in ${UBOOT_CONFIG}; do
|
||||
j=`expr $j + 1`;
|
||||
for binary in ${UBOOT_BINARIES}; do
|
||||
k=`expr $k + 1`
|
||||
if [ $j -eq $i ] && [ $k -eq $i ]; then
|
||||
if [ -n "${BOOTFORMAT_CONFIG}" ] && echo "${type}" |grep -q spi;then
|
||||
# regenerate spi binary if BOOTFORMAT_CONFIG is set
|
||||
boot_format ${STAGING_DATADIR_NATIVE}/boot_format/${BOOTFORMAT_CONFIG} \
|
||||
${config}/u-boot-${type}.${UBOOT_SUFFIX} -spi ${config}/u-boot.format.bin
|
||||
cp ${config}/u-boot.format.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX}
|
||||
elif [ "qspi" = "${type}" ];then
|
||||
cp ${config}/${binary} ${config}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
|
||||
fi
|
||||
fi
|
||||
done
|
||||
unset k
|
||||
done
|
||||
unset j
|
||||
done
|
||||
unset i
|
||||
}
|
||||
|
||||
|
||||
PACKAGES += "${PN}-images"
|
||||
FILES:${PN}-images += "/boot"
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
35
sources/meta-freescale/recipes-bsp/uefi/uefi_git.bb
Normal file
35
sources/meta-freescale/recipes-bsp/uefi/uefi_git.bb
Normal file
@@ -0,0 +1,35 @@
|
||||
DESCRIPTION = "Unified Extensible Firmware Interface"
|
||||
SECTION = "bootloaders"
|
||||
LICENSE = "NXP-Binary-EULA"
|
||||
LIC_FILES_CHKSUM = "file://NXP-Binary-EULA;md5=343ec8f06efc37467a6de53686fa6315"
|
||||
|
||||
inherit deploy
|
||||
|
||||
SRC_URI = "git://github.com/NXP/qoriq-uefi-binary.git;nobranch=1;protocol=https"
|
||||
SRCREV = "55789d536850e00c6f2284fb28eaf21712cd276b"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
if [ -d ${B}/${MACHINE} ]; then
|
||||
install -d ${D}/uefi
|
||||
cp -r ${B}/grub ${D}/uefi
|
||||
cp -r ${B}/${MACHINE} ${D}/uefi
|
||||
fi
|
||||
}
|
||||
|
||||
do_deploy () {
|
||||
if [ -d ${B}/${MACHINE} ]; then
|
||||
install -d ${DEPLOYDIR}/uefi
|
||||
cp -r ${B}/grub ${DEPLOYDIR}/uefi
|
||||
cp -r ${B}/${MACHINE} ${DEPLOYDIR}/uefi
|
||||
fi
|
||||
}
|
||||
addtask deploy before do_build after do_install
|
||||
|
||||
PACKAGES += "${PN}-image"
|
||||
FILES:${PN}-image += "/uefi/*"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
Reference in New Issue
Block a user