summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager')
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc44
-rw-r--r--dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb21
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 000000000..d8033622c
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager.inc
@@ -0,0 +1,44 @@
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
9PACKAGE_ARCH = "${MACHINE_ARCH}"
10
11# Set monitor mode for none, one, or two
12PACKAGECONFIG[m0] = "M=0,,,,,m1 m2"
13PACKAGECONFIG[m1] = ",,,,,m0 m2"
14PACKAGECONFIG[m2] = "M=2,,,,,m0 m1"
15
16SYSTEM_MANAGER_CONFIG ?= "INVALID"
17
18LDFLAGS[unexport] = "1"
19
20EXTRA_OEMAKE = " \
21 V=y \
22 SM_CROSS_COMPILE=arm-none-eabi- \
23 ${PACKAGECONFIG_CONFARGS} \
24"
25
26do_configure() {
27 oe_runmake config=${SYSTEM_MANAGER_CONFIG} clean
28 oe_runmake config=${SYSTEM_MANAGER_CONFIG} cfg
29}
30
31do_compile() {
32 oe_runmake config=${SYSTEM_MANAGER_CONFIG}
33}
34
35do_install[noexec] = "1"
36
37addtask deploy after do_compile
38do_deploy() {
39 install -D -p -m 0644 \
40 ${B}/build/${SYSTEM_MANAGER_CONFIG}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}.bin \
41 ${DEPLOYDIR}/${SYSTEM_MANAGER_FIRMWARE_BASENAME}-${SYSTEM_MANAGER_CONFIG}.bin
42}
43
44COMPATIBLE_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 000000000..55826b016
--- /dev/null
+++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-system-manager/imx-system-manager_1.0.0.bb
@@ -0,0 +1,21 @@
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
19require imx-system-manager.inc
20
21PACKAGECONFIG ??= "m2"