From bd31fd3ef464cb732f2f6866a1f7100eec5caf74 Mon Sep 17 00:00:00 2001 From: Gonzalo Ruiz Date: Tue, 8 Jul 2025 10:06:52 +0200 Subject: [PATCH] firmware-murata-nxp: cc9: add rgpower files Do not install 'txpower' and 'rutxpower' files from the Murata repo, which are used for the V1 TX power method, and replace them with custom 'rgpower' files, required for the V2 TX power method. These files encode the TxPower limitations obtained during the ConnectCore 93 Certification tests, and there is one file per supported country. There is a common file for all the European countries, so create links for each of them, based on the CEPT REC7003E recommendation. New 'rgpower' files: - rgpower_CA.bin (MD5SUM: 7c012351f0521a02e3d78615fed5eb54) - rgpower_EU.bin (MD5SUM: 4d1a54b3c1f12a7d0bb44d0337786a0b) - rgpower_JP.bin (MD5SUM: b7706bb2718997d933b2bdf1e53e64b4) - rgpower_US.bin (MD5SUM: 16555f962b025e0426098decd0147f1f) - rgpower_WW.bin (MD5SUM: 505223c56527e849d4b1e5800c8613b5) Take the opportunity to just install bt_power_config scripts and prevent the installation of other unused files (db.txt, ed_mac_ctrl_V2_nw61x.conf and regulatory.db) from the Murata repository. https://onedigi.atlassian.net/browse/DEL-8974 Signed-off-by: Gonzalo Ruiz --- .../firmware-murata-nxp.bb | 25 ++++++++++-- .../firmware-murata-nxp/rgpower_CA.bin | 39 +++++++++++++++++++ .../firmware-murata-nxp/rgpower_EU.bin | 27 +++++++++++++ .../firmware-murata-nxp/rgpower_JP.bin | 26 +++++++++++++ .../firmware-murata-nxp/rgpower_US.bin | 37 ++++++++++++++++++ .../firmware-murata-nxp/rgpower_WW.bin | 33 ++++++++++++++++ 6 files changed, 184 insertions(+), 3 deletions(-) create mode 100644 meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_CA.bin create mode 100644 meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_EU.bin create mode 100644 meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_JP.bin create mode 100644 meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_US.bin create mode 100644 meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_WW.bin diff --git a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp.bb b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp.bb index 253394e52..3d3d7d56e 100644 --- a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp.bb +++ b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2023,2024, Digi International Inc. +# Copyright (C) 2023-2025, Digi International Inc. SUMMARY = "Murata NXP firmware binaries" LICENSE = "GPL-2.0-only" @@ -6,7 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ffa10f40b98be2c2bc9608f56827ed23" SRCBRANCH = "imx-6-1-1" SRCREV = "6103e224be638f5b421c323993f29bb6c0ada44a" -SRC_URI = "git://github.com/murata-wireless/nxp-linux-calibration;protocol=http;branch=${SRCBRANCH}" +SRC_URI = "\ + git://github.com/murata-wireless/nxp-linux-calibration;protocol=http;branch=${SRCBRANCH} \ + file://rgpower_CA.bin \ + file://rgpower_EU.bin \ + file://rgpower_JP.bin \ + file://rgpower_US.bin \ + file://rgpower_WW.bin \ +" S = "${WORKDIR}/git" @@ -15,13 +22,25 @@ do_compile[noexec] = "1" do_install () { install -d ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 murata/files/2DL/* ${D}${nonarch_base_libdir}/firmware/nxp + install -m 0644 murata/files/2DL/bt_power_config* ${D}${nonarch_base_libdir}/firmware/nxp # For the EU BT power file, set the baudrate to 3Mbps (as used by the btnxpuart driver) sed -i -e "s,00 C2 01 00 00 00 00 00 00 00 00 00,C0 C6 2D 00 00 00 00 00 00 00 00 00,g" \ ${D}${nonarch_base_libdir}/firmware/nxp/bt_power_config_EU.sh # For all the BT power scripts, replace the hcitool reset command to avoid misleading BT behaviour. sed -i -e "s,hcitool -i hci0 cmd 0x03 0x003,hciconfig hci0 reset,g" \ ${D}${nonarch_base_libdir}/firmware/nxp/bt_power_config*.sh + + # Install TX power level management V2 rgpower files + install -m 444 ${WORKDIR}/rgpower_*.bin ${D}${nonarch_base_libdir}/firmware/nxp/ + + # Generate links for countries that share the Europe file + EU_COUNTRIES="AD AL AT BA BE BG CH CY CZ DE DK EE ES FI FR GB \ + GE GR HR HU IE IS IT LI LT LU LV MC MD ME MK MT \ + NL NO PL PT RO RS SE SI SK SM TR VA" + + for country in $EU_COUNTRIES; do + ln -sf rgpower_EU.bin ${D}${nonarch_base_libdir}/firmware/nxp/rgpower_${country}.bin + done } FILES:${PN} = "${nonarch_base_libdir}/firmware" diff --git a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_CA.bin b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_CA.bin new file mode 100644 index 000000000..f73d7326c --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_CA.bin @@ -0,0 +1,39 @@ + +region_pwr_cfg = { +49 02 64 01 00 00 00 00 01 00 ee 01 06 00 43 41 +20 20 00 01 06 02 4c 01 a1 a1 04 01 0b a0 00 00 +00 00 43 41 20 20 a3 13 00 02 08 05 ab 40 61 00 +08 44 02 12 03 84 40 40 00 18 30 02 0d 00 83 80 +20 f0 10 40 06 0e 01 43 a1 90 e8 84 4a 29 16 8c +46 a1 b0 f8 8c 4e 2b 17 8c 80 61 80 b0 0c 3a 3c +05 89 44 25 92 b9 6c 94 1f 30 92 4c c0 72 c9 74 +4e 71 32 95 00 c1 40 b8 65 0e 8b 44 9d cd 65 f3 +10 0c ea 8c 3b 9e 43 e0 14 1a 88 36 a7 47 00 04 +40 00 40 18 20 1e 01 57 80 ec 55 b8 72 b0 06 8c +07 00 e5 42 a0 70 10 20 02 b6 c5 a1 96 f8 84 82 +16 11 82 5c 6e 16 e0 1d cc 05 75 94 56 6f 36 eb +dd ca 07 7f 00 dd b0 54 db d8 2c 09 69 86 46 01 +51 19 dd de 24 0b c6 e3 ef b2 8c 9d a7 31 59 cb +e6 72 19 cc a6 7c 23 12 05 63 40 5a 98 c5 6c 1b +70 ca 80 02 5a 8d 56 b2 16 04 d7 e7 a1 7b 30 0e +b0 09 98 db 6b b6 19 fd e6 62 db 8e d1 e4 b4 b9 +6d ec 67 7f ab 8c ed c1 80 5e 24 38 15 bf 02 01 +c0 95 bb 48 27 b7 bc eb e3 bb 5d c0 1f 7b 65 a8 +ec 78 f3 5e 6f 07 a7 b6 04 06 79 7b f0 ec c0 33 +b1 f1 8d ea e5 bb 10 8f 58 1b 45 08 00 04 41 40 +d0 00 10 14 07 00 04 81 40 90 38 12 0a 0a 01 82 +61 d0 a0 08 +} +ed_mac_ctrl_v3 = { +30 01 1b 00 00 00 00 00 01 00 0a 00 01 00 0a 00 +ff 00 00 00 64 02 03 00 a1 a1 a0 +} +subband_ru_power_cfg = { +6d 02 6c 00 00 00 00 00 01 00 18 01 09 0a 0a 0a +06 00 00 0a 0a 0a 0a 08 00 00 0a 0a 0a 0a 07 00 +00 08 0a 0a 0a 07 07 00 08 0a 0a 0a 0a 00 00 0a +0a 0a 0a 0a 0a 00 07 07 07 07 03 05 00 07 0a 0a +0a 0a 00 00 0a 0a 0a 0a 0a 0a 00 09 09 09 09 09 +09 00 0a 0a 0a 0a 0a 00 00 00 00 00 00 00 00 00 +05 05 05 05 05 64 02 03 00 a1 a1 a0 +} \ No newline at end of file diff --git a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_EU.bin b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_EU.bin new file mode 100644 index 000000000..32da16468 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_EU.bin @@ -0,0 +1,27 @@ + +region_pwr_cfg = { +49 02 a3 00 00 00 00 00 01 00 ee 01 06 00 45 55 +20 30 00 02 06 02 8b 00 a1 a1 04 01 0b a0 00 00 +00 00 45 55 20 30 93 07 00 02 08 06 ab 40 20 c0 +68 00 02 0d 82 c1 e1 30 88 34 32 15 0d 85 c4 62 +11 38 78 e6 1d 17 82 83 c0 00 40 18 30 16 02 07 +80 63 60 80 12 b0 04 8c 07 2b e4 42 a0 70 4c 06 +06 00 04 65 b2 f9 8c ce 60 11 06 cb a6 f3 99 a4 +e2 75 31 06 84 a0 d3 da 0d 0e 77 42 00 d1 27 e1 +10 65 22 88 10 00 00 c0 60 40 00 4c 1b 50 a9 55 +2a d5 8a 9d 54 19 5c ad 03 29 60 ab 1d 3a 6e 0a +b0 55 40 +} +ed_mac_ctrl_v3 = { +30 01 1b 00 00 00 00 00 01 00 0a 00 01 00 0a 00 +ff 00 00 00 64 02 03 00 a1 a1 a0 +} +subband_ru_power_cfg = { +6d 02 6c 00 00 00 00 00 01 00 18 01 06 08 0b 0d +0d 00 00 06 08 0b 0d 0d 00 00 06 08 0b 0d 0d 00 +00 06 08 0a 0a 0a 0a 00 06 08 0a 0a 0a 00 00 06 +08 0a 0a 0a 0a 00 06 08 0a 0a 0a 0a 00 06 08 0a +0a 0a 0a 00 00 00 00 00 00 00 00 03 03 03 03 03 +03 00 03 03 03 03 03 00 00 00 00 00 00 00 00 00 +03 03 03 03 03 64 02 03 00 a1 a1 a0 +} \ No newline at end of file diff --git a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_JP.bin b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_JP.bin new file mode 100644 index 000000000..9dde3a253 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_JP.bin @@ -0,0 +1,26 @@ + +region_pwr_cfg = { +49 02 99 00 00 00 00 00 01 00 ee 01 06 00 4a 50 +20 40 00 03 06 02 81 00 a1 a1 04 01 0b a0 00 00 +00 00 4a 50 20 40 f3 06 00 02 08 06 ab 40 20 f0 +68 00 02 0e 00 83 41 90 68 44 2a 19 09 85 c0 c0 +e0 e0 34 18 1f 13 8a c4 a2 91 68 2c 0e 3b 04 8b +46 20 c0 d8 28 e6 49 23 8e c9 c1 e0 00 20 0c 1e +ac 04 23 01 c0 30 08 00 54 0e 09 80 02 c0 e0 a4 +ea 79 3e 84 ce 42 c0 d9 ed 0e 8b 44 9d 52 28 d4 +9a 38 04 19 42 06 50 69 95 3a 1d 3a a1 45 a8 82 +a8 40 aa 2d 72 74 0a 00 80 +} +ed_mac_ctrl_v3 = { +30 01 1b 00 00 00 00 00 01 00 0a 00 01 00 0a 00 +ff 00 00 00 64 02 03 00 a1 a1 a0 +} +subband_ru_power_cfg = { +6d 02 6c 00 00 00 00 00 01 00 18 01 06 07 0a 0c +0d 00 00 06 07 0a 0c 0d 00 00 06 07 0a 0c 0d 00 +00 fe 01 04 07 0a 0a 00 01 04 07 0a 0a 00 00 fe +01 04 07 0a 0a 00 fe 01 04 07 0a 0a 00 fe 01 04 +07 0a 0a 00 fe 01 04 07 0a 0a 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +fe fe fe fe fe 64 02 03 00 a1 a1 a0 +} \ No newline at end of file diff --git a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_US.bin b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_US.bin new file mode 100644 index 000000000..bd7dcbe63 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_US.bin @@ -0,0 +1,37 @@ + +region_pwr_cfg = { +49 02 40 01 00 00 00 00 01 00 ee 01 06 00 55 53 +20 10 00 01 06 02 28 01 a1 a1 04 01 0b a0 00 00 +00 00 55 53 20 10 63 11 00 02 08 05 ab 40 61 00 +08 44 02 12 03 84 40 40 00 18 30 02 0d 00 83 80 +20 f0 10 40 06 0e 01 43 a1 90 e8 84 4a 29 16 8c +46 a1 b0 f8 8c 4e 2b 17 8c 80 61 80 b0 0c 3a 3c +05 89 44 25 92 b9 6c 94 1f 30 92 4c c0 72 c9 74 +4e 71 32 95 00 c1 40 b8 65 0e 8b 44 9d cd 65 f3 +10 0c ea 8c 3b 9e 43 e0 14 1a 88 36 a7 47 00 04 +40 00 40 18 3e b7 0e 56 00 d1 80 e0 1c a8 55 18 +08 01 01 c0 40 80 22 21 20 85 84 60 96 8b 55 b2 +dc 01 b8 56 6e 71 5b ad b6 df 28 bd 53 40 56 b0 +5d a8 10 0a 88 ce ee 31 20 5e 0c 09 85 07 61 f1 +38 da ce 33 1d 90 c9 59 32 81 18 90 2b 2e 02 cf +03 80 c0 dc 1e 28 00 12 ce e7 f4 3a 3d 2e 53 50 +01 d0 e3 f4 18 3d 66 6a 17 af c6 e1 30 d8 8d b6 +57 61 19 d9 67 81 80 bd 74 38 15 8f 02 01 ed 40 +70 48 13 4f 9d e4 72 81 dc ce 76 bf 8f 85 e9 75 +39 fb 0e 88 10 19 da 09 43 b1 a0 ce 40 33 24 0c +d3 04 78 c1 8a c8 2b d8 12 05 02 79 40 af 06 20 + +} +ed_mac_ctrl_v3 = { +30 01 1b 00 00 00 00 00 01 00 0a 00 01 00 0a 00 +ff 00 00 00 64 02 03 00 a1 a1 a0 +} +subband_ru_power_cfg = { +6d 02 6c 00 00 00 00 00 01 00 18 01 09 0a 0a 0a +06 00 00 0a 0a 0a 0a 08 00 00 0a 0a 0a 0a 07 00 +00 0a 0a 0a 0a 07 07 00 0a 0a 0a 0a 0a 00 00 0a +0a 0a 0a 0a 0a 00 07 07 07 07 03 05 00 07 0a 0a +0a 0a 0a 00 0a 0a 0a 0a 0a 0a 00 09 09 09 09 09 +09 00 0a 0a 0a 0a 0a 00 00 00 00 00 00 00 00 00 +05 05 05 05 05 64 02 03 00 a1 a1 a0 +} \ No newline at end of file diff --git a/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_WW.bin b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_WW.bin new file mode 100644 index 000000000..7d05c0b11 --- /dev/null +++ b/meta-digi-arm/recipes-bsp/firmware-murata-nxp/firmware-murata-nxp/rgpower_WW.bin @@ -0,0 +1,33 @@ + +region_pwr_cfg = { +49 02 07 01 00 00 00 00 01 00 ee 01 06 00 57 57 +20 00 00 00 06 02 ef 00 a1 a1 04 01 0b a0 00 00 +00 00 57 57 20 00 d3 0d 00 02 08 05 83 40 4a d0 +08 30 1a 00 82 80 41 a0 90 64 28 05 08 86 c2 e2 +30 f8 4c 4a 1d 08 05 c5 60 11 70 0c 66 23 1b 81 +46 23 51 99 08 04 14 0b 00 00 e4 f2 99 58 0e 3d +0a 90 45 25 63 b9 78 36 63 22 8f c9 26 52 80 88 +04 08 03 07 cf 81 20 25 60 09 18 0e 01 80 40 02 +a0 70 48 1a 01 01 81 80 01 00 70 4e 9f 51 a9 d5 +6a f5 2a a4 74 04 0d 02 02 c0 93 60 55 42 b9 4f +05 d7 ec 36 30 45 96 b0 10 b4 5a ac 56 4b 35 4e +9e 0a b9 00 af 10 bb 7d de f3 7b 04 df 64 d7 fa +fe 06 cf 5e b0 5c ed b7 5b 86 0c 19 61 bd 00 81 +98 6a 9c 34 15 6b 03 d8 c0 e0 30 20 02 9d 26 cc +66 b3 99 eb be 84 1b 9b ce e7 f2 f6 2c c8 33 51 +9e 86 da 71 f6 20 66 2e df 96 09 db c1 41 4d d0 +27 32 0a d7 84 ac a0 +} +ed_mac_ctrl_v3 = { +30 01 1b 00 00 00 00 00 01 00 0a 00 01 00 0a 00 +ff 00 00 00 64 02 03 00 a1 a1 a0 +} +subband_ru_power_cfg = { +6d 02 6c 00 00 00 00 00 01 00 18 01 06 07 0a 0a +06 00 00 06 07 0a 0a 08 00 00 06 07 0a 0a 07 00 +00 fe 01 04 07 07 07 00 01 04 07 0a 0a 00 00 fe +01 04 07 0a 0a 00 fe 01 04 07 03 05 00 fe 01 04 +07 0a 0a 00 fe 01 04 07 0a 0a 00 03 03 03 03 03 +03 00 03 03 03 03 03 00 00 00 00 00 00 00 00 00 +fe fe fe fe fe 64 02 03 00 a1 a1 a0 +} \ No newline at end of file