diff options
Diffstat (limited to 'dynamic-layers/arm-toolchain')
3 files changed, 124 insertions, 0 deletions
diff --git a/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb new file mode 100644 index 000000000..df704dc99 --- /dev/null +++ b/dynamic-layers/arm-toolchain/recipes-bsp/imx-oei/imx-oei_1.0.0.bb | |||
@@ -0,0 +1,59 @@ | |||
1 | SUMMARY = "i.MX Optional Execution Image" | ||
2 | |||
3 | LICENSE = "GPL-2.0-only" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | |||
6 | INHIBIT_DEFAULT_DEPS = "1" | ||
7 | DEPENDS = "gcc-arm-none-eabi-native" | ||
8 | |||
9 | SRC_URI = "${IMX_OEI_SRC};branch=${SRCBRANCH}" | ||
10 | IMX_OEI_SRC ?= "git://github.com/nxp-imx/imx-oei.git;protocol=https" | ||
11 | SRCBRANCH = "master" | ||
12 | SRCREV = "1a572a640ef8d6883e8ca39744cd6d2d5dbed678" | ||
13 | |||
14 | inherit deploy | ||
15 | |||
16 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
17 | |||
18 | OEI_CONFIGS ?= "UNDEFINED" | ||
19 | OEI_CORE ?= "UNDEFINED" | ||
20 | OEI_SOC ?= "UNDEFINED" | ||
21 | OEI_BOARD ?= "UNDEFINED" | ||
22 | |||
23 | LDFLAGS[unexport] = "1" | ||
24 | |||
25 | EXTRA_OEMAKE = "\ | ||
26 | board=${OEI_BOARD} \ | ||
27 | DEBUG=1 \ | ||
28 | OEI_CROSS_COMPILE=arm-none-eabi-" | ||
29 | |||
30 | do_configure() { | ||
31 | for oei_config in ${OEI_CONFIGS}; do | ||
32 | oe_runmake clean oei=$oei_config | ||
33 | done | ||
34 | } | ||
35 | |||
36 | do_compile() { | ||
37 | for oei_config in ${OEI_CONFIGS}; do | ||
38 | oe_runmake oei=$oei_config | ||
39 | done | ||
40 | } | ||
41 | |||
42 | do_install() { | ||
43 | install -d ${D}/firmware | ||
44 | for oei_config in ${OEI_CONFIGS}; do | ||
45 | install -m 0644 ${B}/build/${OEI_BOARD}/$oei_config/oei-*.bin ${D}/firmware | ||
46 | done | ||
47 | } | ||
48 | |||
49 | addtask deploy after do_install | ||
50 | do_deploy() { | ||
51 | cp -rf ${D}/firmware/* ${DEPLOYDIR}/ | ||
52 | } | ||
53 | |||
54 | FILES:${PN} = "/firmware" | ||
55 | SYSROOT_DIRS += "/firmware" | ||
56 | |||
57 | PROVIDES += "virtual/imx-oei" | ||
58 | |||
59 | COMPATIBLE_MACHINE = "(mx95-generic-bsp)" | ||
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 | ||
2 | INHIBIT_DEFAULT_DEPS = "1" | ||
3 | DEPENDS = "${SM_COMPILER}" | ||
4 | SM_COMPILER ?= "gcc-arm-none-eabi-native" | ||
5 | PROVIDES += "virtual/imx-system-manager" | ||
6 | |||
7 | inherit deploy | ||
8 | |||
9 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
10 | |||
11 | # Set monitor mode for none, one, or two | ||
12 | PACKAGECONFIG[m0] = "M=0,,,,,m1 m2" | ||
13 | PACKAGECONFIG[m1] = ",,,,,m0 m2" | ||
14 | PACKAGECONFIG[m2] = "M=2,,,,,m0 m1" | ||
15 | |||
16 | SYSTEM_MANAGER_CONFIG ?= "INVALID" | ||
17 | |||
18 | LDFLAGS[unexport] = "1" | ||
19 | |||
20 | EXTRA_OEMAKE = " \ | ||
21 | V=y \ | ||
22 | SM_CROSS_COMPILE=arm-none-eabi- \ | ||
23 | ${PACKAGECONFIG_CONFARGS} \ | ||
24 | " | ||
25 | |||
26 | do_configure() { | ||
27 | oe_runmake config=${SYSTEM_MANAGER_CONFIG} clean | ||
28 | oe_runmake config=${SYSTEM_MANAGER_CONFIG} cfg | ||
29 | } | ||
30 | |||
31 | do_compile() { | ||
32 | oe_runmake config=${SYSTEM_MANAGER_CONFIG} | ||
33 | } | ||
34 | |||
35 | do_install[noexec] = "1" | ||
36 | |||
37 | addtask deploy after do_compile | ||
38 | do_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 | |||
44 | COMPATIBLE_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 @@ | |||
1 | SUMMARY = "i.MX System Manager Firmware" | ||
2 | DESCRIPTION = "\ | ||
3 | The System Manager (SM) is a firmware that runs on a Cortex-M processor on \ | ||
4 | many NXP i.MX processors. The Cortex-M is the boot core, runs the boot ROM \ | ||
5 | which loads the SM (and other boot code), and then branches to the SM. The \ | ||
6 | SM then configures some aspects of the hardware such as isolation mechanisms \ | ||
7 | and then starts other cores in the system. After starting these cores, it \ | ||
8 | enters a service mode where it provides access to clocking, power, sensor, \ | ||
9 | and pin control via a client RPC API based on ARM's System Control and \ | ||
10 | Management Interface (SCMI)." | ||
11 | LICENSE = "BSD-3-Clause" | ||
12 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b66f32a90f9577a5a3255c21d79bc619" | ||
13 | |||
14 | SRC_URI = "${IMX_SYSTEM_MANAGER_SRC};branch=${SRCBRANCH}" | ||
15 | IMX_SYSTEM_MANAGER_SRC ?= "git://github.com/nxp-imx/imx-sm.git;protocol=https" | ||
16 | SRCBRANCH = "master" | ||
17 | SRCREV = "709deccd9338399eb39b5cf99a60eab4fa60d539" | ||
18 | |||
19 | require imx-system-manager.inc | ||
20 | |||
21 | PACKAGECONFIG ??= "m2" | ||