seL4/tools
Ben Leslie e3eda12d03 Add support for the TQMa8XQP 1GiB module
TQ Group produces a system-on-module family called TQMa8Xx.

The user manual for this SoM is available here:

https://www.tq-group.com/filedownloads/files/products/embedded/manuals/arm/embedded-modul/TQ-Socket/TQMa8Xx/TQMa8Xx.UM.0104.pdf

This SoM comes in a number of different configurations.

The specific NXP SoC used, and the amount of memory are both
configurable.

The TQMa8XQP is the part number for the TQMa8Xx family configured with
the i.MX 8QuadXPlus SoC.

The datasheet for the SoC is available here:

https://www.nxp.com/docs/en/data-sheet/IMX8QXPAEC.pdf

In addition to the SoC being configurable the amount of SDRAM
on the SoM is also configurable.

The support provided in this PR is specifically for the TQMa8XQP
configured for 1GiB of memory. Note: Actual usable memory available
to the ARM application processor is 1022MiB.

System-on-modules rely on an appropriate carrier board.
Testing of this PR has been done on the MBa8Xx carrier board
that is available from TQ Group as part of their starter kit.

To the best of my knowledge there is nothing in this PR
that depends on the carrier board itself; all code is SoM
specific and should support any carrier board.

Note: This support is very specifically for the TQMa8XQP configured
with 1GiB of memory.

This may be a starting point for supporting other boards that
also have the NXP i.MX 8QuadXPlus SoC (as well as the i.MX 8DXP
and possibly other SoC in the i.MX 8 family).

Support is limited to the specific SoM due to the way in which
platform support currently works for seL4. Building a kernel
currently relies on the information from the DTS file (which is
SoM + RAM configuration specific). It would be preferable to
allow more generic support but SoC families but that is beyond
the scope of this PR.

Signed-off-by: Ben Leslie <benno@brkawy.com>
2021-08-31 08:38:25 +10:00
..
dts Add support for the TQMa8XQP 1GiB module 2021-08-31 08:38:25 +10:00
hardware make kernel device frame handling more generic 2021-08-27 21:15:11 +10:00
python-deps Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
bf.vim Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
bitfield_gen.py bitfield_gen: prep for Isabelle2021 2021-01-24 18:42:27 +11:00
changed.sh tools: BSD compat for changed.sh 2020-06-18 12:39:46 +10:00
circular_includes.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
cpp_gen.sh tools: use /usr/bin/env for bash/sh invocation 2021-08-25 17:56:49 +10:00
flags.cmake Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
hardware.yml hardware_gen.py: Address some warning messages 2021-07-29 16:03:01 +10:00
hardware_gen.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
hardware_schema.yml Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
helpers.cmake CMake: unify config options define generation 2021-07-01 12:05:37 +10:00
internal.cmake CMake: inline set_kernel_32() and set_kernel_64() 2021-02-01 18:23:42 +01:00
invocation_header_gen.py clarify license for generated headers 2020-03-09 13:21:49 +08:00
kernel_pylint.sh tools: more portable shell test 2021-08-25 17:56:49 +10:00
kernel_xmllint.sh tools: more portable shell test 2021-08-25 17:56:49 +10:00
lex.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
pylintrc Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
reciprocal.py Convert license tags to SPDX identifiers 2020-03-09 13:21:49 +08:00
syscall_header_gen.py clarify license for generated headers 2020-03-09 13:21:49 +08:00
umm.py umm.py: no memoization 2021-08-24 18:04:43 +10:00
xmllint.sh tools: use /usr/bin/env for bash/sh invocation 2021-08-25 17:56:49 +10:00