From 1d47796fcf9613e4ca2f2c6beeb6f447d443fca0 Mon Sep 17 00:00:00 2001 From: Leonard Göhrs Date: Fri, 1 Nov 2024 13:40:42 +0100 Subject: bcu: add nxp board control utilities version 1.1.100 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bcu command can be used to communicate with board control hardware on NXP EVK development boards to: - reset / power cycle the board into a specified boot mode. - monitor the power consumption. - read / write the eeprom content. - measure temperatures. - etc. Supported boards are e.g.: - i.MX8MP-EVK - i.MX8DXL-EVK - i.MX8ULP-EVK - i.MX93-EVK The tool can either be built for the target architecture to control a board from a system running Yocto (less common) or for the host architecture to run it via `oe-run-native bcu-native bcu`. Signed-off-by: Leonard Göhrs Signed-off-by: Khem Raj --- ...01-CMakeLists-do-not-use-vendored-libcurl.patch | 38 ++++++++++++++++++++++ meta-oe/recipes-support/bcu/bcu_1.1.100.bb | 23 +++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch create mode 100644 meta-oe/recipes-support/bcu/bcu_1.1.100.bb (limited to 'meta-oe/recipes-support') diff --git a/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch b/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch new file mode 100644 index 000000000..f4c0be19b --- /dev/null +++ b/meta-oe/recipes-support/bcu/bcu/0001-CMakeLists-do-not-use-vendored-libcurl.patch @@ -0,0 +1,38 @@ +From ef1aaeee984ab13dab5d46c73e9b207cbdf62c55 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= +Date: Wed, 20 Dec 2023 14:37:20 +0100 +Subject: [PATCH] CMakeLists: do not use vendored libcurl +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [upstream ticket https://github.com/nxp-imx/bcu/issues/17] + +Signed-off-by: Leonard Göhrs +--- + CMakeLists.txt | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3475179..bfecdb0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,15 +17,16 @@ pkg_check_modules(LIBFTDI REQUIRED libftdi1) + pkg_check_modules(LIBYAML REQUIRED yaml-0.1) + pkg_check_modules(LIBOPENSSL REQUIRED openssl) + pkg_check_modules(LIBUSB REQUIRED libusb-1.0) ++pkg_check_modules(LIBCURL REQUIRED libcurl) + project(bcu) +-include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${PROJECT_SOURCE_DIR}/libftdi/src ${LIBYAML_INCLUDEDIR} ${PROJECT_SOURCE_DIR}/libcurl/include) ++include_directories(${LIBUSB_INCLUDE_DIRS} ${LIBFTDI_INCLUDE_DIRS}include ${LIBYAML_INCLUDEDIR}) + include_directories(${PROJECT_SOURCE_DIR}) + + message("operation system is ${CMAKE_SYSTEM}") + if (LINUX) + add_executable(bcu bcu.c port.c chip.c board.c bcu_parser.c bcu_yaml.c bcu_https.c bcu_ftdi_eeprom.c) + link_directories(${LIBUSB_LIBRARY_DIRS} ${LIBFTDI_LIBRARY_DIRS} ${LIBYAML_LIBRARY_DIRS}) +- target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} ${PROJECT_SOURCE_DIR}/libcurl/build.bcu/lib/libcurl.a -lpthread -lssl -lcrypto -lm) ++ target_link_libraries (bcu ${LIBUSB_LIBRARIES} ${LIBFTDI_LIBRARIES} ${LIBYAML_LIBRARIES} -lcurl -lpthread -lssl -lcrypto -lm) + execute_process( COMMAND ${PROJECT_SOURCE_DIR}/create_version_h.sh ${PROJECT_SOURCE_DIR} + COMMAND ${PROJECT_SOURCE_DIR}/build_libs.sh ${PROJECT_SOURCE_DIR}) + install(TARGETS bcu DESTINATION bin) diff --git a/meta-oe/recipes-support/bcu/bcu_1.1.100.bb b/meta-oe/recipes-support/bcu/bcu_1.1.100.bb new file mode 100644 index 000000000..bf6e4f4b6 --- /dev/null +++ b/meta-oe/recipes-support/bcu/bcu_1.1.100.bb @@ -0,0 +1,23 @@ +SUMMARY = "NXP Board Control Utilities" +DESCRIPTION = "The NXP Board Control Utilities are able to control various \ + features of NXP i.MX evaluation boards (EVK) from a host \ + computer. \ + Features like resetting the board, selecting the boot mode, \ + monitoring power consumption, programming the EEPROM and others" +HOMEPAGE = "https://github.com/nxp-imx/bcu" +SECTION = "devel" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=884d48c2aa7b82e1ad4a33909fab24b6" + +SRC_URI = "git://github.com/nxp-imx/bcu;protocol=https;branch=master \ + file://0001-CMakeLists-do-not-use-vendored-libcurl.patch \ + " +SRCREV = "c34d89b29f3d0d12793cd78b194d2f1d11728baf" + +S = "${WORKDIR}/git" + +DEPENDS = "curl libyaml libusb1 openssl libftdi" + +inherit cmake pkgconfig + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf