[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH v2 04/23] Add mcux-soc-svd subproject
From: |
Octavian Purdila |
Subject: |
[RFC PATCH v2 04/23] Add mcux-soc-svd subproject |
Date: |
Sat, 17 Aug 2024 03:25:47 -0700 |
Add mcux-soc-svd subproject that contains SVD files that are going to
be used to generate C header with register layout definitions and
other helpers to create device models.
Guard the subproject by a configuration option since it is rarely
going to be used - whenever new headers will be generated. It is
unlikely that already generated headers will be updated, with the
exception of minor hardware revisions.
Also export the rt595 SVD file which is going to be used by subsequent
patches.
TBD: switch to a qemu gitlab fork before merge
Signed-off-by: Octavian Purdila <tavip@google.com>
---
hw/arm/svd/meson.build | 4 ++++
meson_options.txt | 3 +++
scripts/meson-buildoptions.sh | 4 ++++
subprojects/.gitignore | 1 +
subprojects/mcux-soc-svd.wrap | 5 +++++
subprojects/packagefiles/mcux-soc-svd/meson.build | 5 +++++
6 files changed, 22 insertions(+)
create mode 100644 hw/arm/svd/meson.build
create mode 100644 subprojects/mcux-soc-svd.wrap
create mode 100644 subprojects/packagefiles/mcux-soc-svd/meson.build
diff --git a/hw/arm/svd/meson.build b/hw/arm/svd/meson.build
new file mode 100644
index 0000000000..7d83d2ccbc
--- /dev/null
+++ b/hw/arm/svd/meson.build
@@ -0,0 +1,4 @@
+if get_option('mcux-soc-svd')
+ mcux_soc_svd = subproject('mcux-soc-svd')
+ rt595 = mcux_soc_svd.get_variable('rt595')
+endif
diff --git a/meson_options.txt b/meson_options.txt
index 4c1583eb40..25f827078a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -366,3 +366,6 @@ option('qemu_ga_version', type: 'string', value: '',
option('hexagon_idef_parser', type : 'boolean', value : true,
description: 'use idef-parser to automatically generate TCG code for
the Hexagon frontend')
+
+option('mcux-soc-svd', type : 'boolean', value : false,
+ description: 'enable targets to generate C headers from mcux-soc-svd')
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 6ce5a8b72a..2c1e501806 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -40,6 +40,8 @@ meson_options_help() {
printf "%s\n" ' --enable-lto Use link time optimization'
printf "%s\n" ' --enable-malloc=CHOICE choose memory allocator to use
[system] (choices:'
printf "%s\n" ' jemalloc/system/tcmalloc)'
+ printf "%s\n" ' --enable-mcux-soc-svd enable targets to generate C
headers from mcux-'
+ printf "%s\n" ' soc-svd'
printf "%s\n" ' --enable-module-upgrades try to load modules from alternate
paths for'
printf "%s\n" ' upgrades'
printf "%s\n" ' --enable-rng-none dummy RNG, avoid using
/dev/(u)random and'
@@ -390,6 +392,8 @@ _meson_option_parse() {
--enable-malloc-trim) printf "%s" -Dmalloc_trim=enabled ;;
--disable-malloc-trim) printf "%s" -Dmalloc_trim=disabled ;;
--mandir=*) quote_sh "-Dmandir=$2" ;;
+ --enable-mcux-soc-svd) printf "%s" -Dmcux-soc-svd=true ;;
+ --disable-mcux-soc-svd) printf "%s" -Dmcux-soc-svd=false ;;
--enable-membarrier) printf "%s" -Dmembarrier=enabled ;;
--disable-membarrier) printf "%s" -Dmembarrier=disabled ;;
--enable-module-upgrades) printf "%s" -Dmodule_upgrades=true ;;
diff --git a/subprojects/.gitignore b/subprojects/.gitignore
index adca0266be..bca8693ef4 100644
--- a/subprojects/.gitignore
+++ b/subprojects/.gitignore
@@ -6,3 +6,4 @@
/keycodemapdb
/libvfio-user
/slirp
+/mcux-soc-svd
diff --git a/subprojects/mcux-soc-svd.wrap b/subprojects/mcux-soc-svd.wrap
new file mode 100644
index 0000000000..80d18e8561
--- /dev/null
+++ b/subprojects/mcux-soc-svd.wrap
@@ -0,0 +1,5 @@
+[wrap-git]
+url = https://github.com/nxp-mcuxpresso/mcux-soc-svd/
+revision = 7f6f9ef7420144fe14cd9bc4d8e0e3523232da04
+patch_directory = mcux-soc-svd
+depth = 1
diff --git a/subprojects/packagefiles/mcux-soc-svd/meson.build
b/subprojects/packagefiles/mcux-soc-svd/meson.build
new file mode 100644
index 0000000000..37c537d040
--- /dev/null
+++ b/subprojects/packagefiles/mcux-soc-svd/meson.build
@@ -0,0 +1,5 @@
+project('mcux-soc-svd')
+
+fs = import('fs')
+
+rt595 = fs.copyfile('MIMXRT595S/MIMXRT595S_cm33.xml')
--
2.46.0.184.g6999bdac58-goog
- [RFC PATCH v2 00/23] NXP i.MX RT595, ARM SVD and device model unit tests, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 02/23] tests/unit: add fifo test, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 01/23] fifo32: add peek function, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 05/23] hw: add register access utility functions, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 03/23] scripts: add script to generate C header files from SVD XML files, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 10/23] hw/char: add support for flexcomm usart, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 04/23] Add mcux-soc-svd subproject,
Octavian Purdila <=
- [RFC PATCH v2 13/23] test/unit: add i2c-tester, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 09/23] test/unit: add flexcomm unit test, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 11/23] test/unit: add flexcomm usart unit test, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 06/23] hw/misc: add basic flexcomm device model, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 08/23] test/unit: add register access macros and functions, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 07/23] tests/unit: add system bus mock, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 16/23] test/unit: add spi-tester, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 12/23] hw/i2c: add support for flexcomm i2c, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 20/23] hw/ssi: add support for flexspi, Octavian Purdila, 2024/08/17
- [RFC PATCH v2 17/23] test/unit: add unit tests for flexcomm spi, Octavian Purdila, 2024/08/17