summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc42
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb23
2 files changed, 65 insertions, 0 deletions
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
new file mode 100644
index 00000000..23d5bfc2
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
@@ -0,0 +1,42 @@
1# Set generic compiler for system manager core
2INHIBIT_DEFAULT_DEPS = "1"
3DEPENDS = "${SM_COMPILER}"
4SM_COMPILER ?= "gcc-arm-none-eabi-native"
5PROVIDES += "virtual/imx-system-manager"
6
7inherit deploy
8
9# Set monitor mode for none, one, or two
10PACKAGECONFIG[m0] = "M=0,,,,,m1 m2"
11PACKAGECONFIG[m1] = ",,,,,m0 m2"
12PACKAGECONFIG[m2] = "M=2,,,,,m0 m1"
13
14SYSTEM_MANAGER_CONFIG ?= "INVALID"
15
16LDFLAGS[unexport] = "1"
17
18EXTRA_OEMAKE = " \
19 V=y \
20 SM_CROSS_COMPILE=arm-none-eabi- \
21 ${PACKAGECONFIG_CONFARGS} \
22"
23
24do_configure() {
25 oe_runmake config=${SYSTEM_MANAGER_CONFIG} clean
26 oe_runmake config=${SYSTEM_MANAGER_CONFIG} cfg
27}
28
29do_compile() {
30 oe_runmake config=${SYSTEM_MANAGER_CONFIG}
31}
32
33do_install[noexec] = "1"
34
35addtask deploy after do_compile
36do_deploy() {
37 install -D -p -m 0644 \
38 ${B}/build/${SYSTEM_MANAGER_CONFIG}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
39 ${DEPLOYDIR}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}-${SYSTEM_MANAGER_CONFIG}.bin
40}
41
42COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
new file mode 100644
index 00000000..eceaaa67
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
@@ -0,0 +1,23 @@
1SUMMARY = "i.MX System Manager Firmware"
2DESCRIPTION = "\
3The System Manager (SM) is a firmware that runs on a Cortex-M processor on \
4many NXP i.MX processors. The Cortex-M is the boot core, runs the boot ROM \
5which loads the SM (and other boot code), and then branches to the SM. The \
6SM then configures some aspects of the hardware such as isolation mechanisms \
7and then starts other cores in the system. After starting these cores, it \
8enters a service mode where it provides access to clocking, power, sensor, \
9and pin control via a client RPC API based on ARM's System Control and \
10Management Interface (SCMI)."
11LICENSE = "BSD-3-Clause"
12LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619"
13
14SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}"
15IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https"
16SRCBRANCH = "master"
17SRCREV = "709deccd9338399eb39b5cf99a60eab4fa60d539"
18
19S = "${WORKDIR}/git"
20
21require imx-system-manager.inc
22
23PACKAGECONFIG ??= "m2"