Commit Graph

127 Commits

Author SHA1 Message Date
Daniel Leung 001795b24c boards: qemu_cortex_a53: move MAX_THREAD_BYTES to Kconfig
This moves CONFIG_MAX_THREAD_BYTES from the board's defconfig
file into the Kconfig file. This is to get rid of the cmake
warning about CONFIG_MAX_THREAD_BYTES being assigned value
but got the value ''. This is due to CONFIG_USERSPACE being
disabled, where some tests explicitly do so. This is simply
done to avoid confusion when running those tests manually.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-06-20 19:41:42 -04:00
Piotr Wojnarowski 562716d709 soc: arm64: xenvm: Move GIC version to DT
Move the GIC version to the device tree for xenvm
to improve readability

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
2023-06-17 08:01:46 -04:00
Piotr Wojnarowski ff9fe7271a soc: arm64: fvp_aemv8: Move GIC version to DT
Move the GIC version to the device tree for fvp_aemv8{a,r}
to improve readability

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
2023-06-17 08:01:46 -04:00
Anas Nashif 689ea54b78 tests: do not filter on SMP, use board yaml file
Avoid expensive runtime filtering and use platform features instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-05-24 07:50:50 -04:00
Daniel Schultz f18c0b5ba5 boards: arm64: phycore_am62x_a53: Update documentation
The latest Yocto release, PD23.1.0, has the CACHE_CMD included.
Therefore, the default image can be used to boot Zephyr.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2023-05-12 14:18:53 +02:00
Laurentiu Mihalcea 4b27dcc88c boards: arm64: mimx93_evk: doc: Add information about SOF board variant
This commit adds some additional information about the SOF variant
of the mimx93_evk board. It mostly goes into how SOF with Zephyr
is going to work using this board and some basic Jailhouse-related
concepts.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-04-19 10:01:19 +02:00
Laurentiu Mihalcea 1b923275e6 boards: arm64: mimx93_evk: Introduce new board for SOF usage
This commit introduces a new variant of the mimx93_evk_a55 board
used to run the SOF module.

This is required because we don't want to pollute the imx93_a55
generic board with SOF-specific nodes such as the memory nodes.
Also, the SOF-specific drivers should not be activated in the
generic board.

SOF with Jailhouse also requires some specific configurations
such as the 40-bit PAs and VAs and the static data cache line
size so this is another reason for which this new
board had to be created.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-04-19 10:01:19 +02:00
Huifeng Zhang c26c5b1f42 board: fvp_base_revc_2xaemv8a: Add ethernet, phy and mdio nodes
Add the SMSC_91C111 driver for the fvp_base_revc_2xaemv8a.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-04-11 11:27:05 +02:00
Huifeng Zhang 49ca47e54a board: arm64: fvp_baser_aemv8r: Add ethernet, phy and mdio nodes
Enable the smsc91c111 driver for fvp_baser_aemv8r

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-04-11 11:27:05 +02:00
Huifeng Zhang 9bf75d1eea board: fvp_base_revc_2xaemv8a: change the uart interrupts values
There are some wrong interrupt-cells values of the uart nodes in this
board. The order of the arm,gic interrupt-cells should be type, irq,
flags and priority.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2023-04-11 11:27:05 +02:00
Luca Fancellu 0deeb5ff65 soc: include: fvp_aemv8r: Define device memory as device tree node
A recent change introduced the possibility to declare MPU memory
regions using the device tree and the framework described in
zephyr/linker/devicetree_regions.h.

So remove the device region declared in mpu_regions[] and the used
defines for the addresses, rename REGION_DEVICE_ATTR to REGION_IO_ATTR
in arm_mpu.h to be compatible with the framework and add a device tree
node to fvp_baser_aemv8r.dts to describe the device memory region.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
2023-03-27 13:20:47 +00:00
Jiafei Pan 3a36b0736d board: arm64: mimx8mp/n/m: fix cpu command in document
Fixed the wrong cpu command.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2023-03-15 08:51:25 -04:00
Grant Ramsay 37ca1034dd boards: arm64: Configure phyCORE-AM62x A53 UART0 using pinctrl
This demonstates how to use the TI K3 pincrtl driver.
Previously UART0 only worked becuase U-Boot leaves it configured

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-03-02 13:50:06 +01:00
Grant Ramsay f92dd6d357 drivers: serial: Name the NS16550 variant Kconfig choice
Naming this choice allows setting a default value in defconfig.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-02-24 18:11:56 +01:00
Grant Ramsay 6ca406d282 boards: arm64: Add PHYTEC phyCORE-AM62x A53 board support
PHYTEC phyCORE-AM62x is board is based on TI Sitara applications
processor, composed of a quad Cortex®-A53 cluster and a single
Cortex®-M4 core.

Zephyr OS is ported to run on the Cortex®-A53 core.

Signed-off-by: Grant Ramsay <gramsay@enphaseenergy.com>
2023-02-24 18:11:56 +01:00
Fabio Baltieri 3e7e44b70d yamllint: indentation: fix files in boards/
Fix the YAML files indentation for files in boards/.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 14:23:53 +01:00
Fabio Baltieri bd4cdde4b0 yamllint: fix all yamllint colons, commas and empty-lines errors
Fix all colons and commas errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(brackets)'

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(commas)'

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(empty-lines)'

Default config is no space before, one space after, max 2 empty lines.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Ambroise Vincent 562069d4ed cmake: armfvp: allow for extra arguments
Taking example on the qemu cmake file.

Signed-off-by: Ambroise Vincent <ambroise.vincent@arm.com>
2022-12-29 10:12:33 +01:00
Jiafei Pan da99ab6120 boards: arm64: add mimx93 evk board document
Add document for Zephyr support in i.MX93 EVK board.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-12-20 09:22:40 +01:00
Jiafei Pan 921b32663b board: arm64: add pinctrl support for imx93 evk board
1. Added imx93-pinctrl dts binding yaml
2. Added imx93 pinctrl_soc.h header file
3. Updated imx93 dts to enable pinctrl for lpuart.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-12-20 09:22:40 +01:00
Jiafei Pan d822384fcc board: arm64: add imx93 evk board support
Add i.MX93 Cortex-A support for EVK board.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-12-20 09:22:40 +01:00
Rodrigo Cataldo 705be4ce0f dts: qemu: a53: kvm: add DTS support for PCIe controller
Add DTS information for qemu-virt-a53 and qemu-kvm-arm64 for PCIe
controller support. Three new bindings are required for the PCIe
controller in ECAM mode.

The DTS information was extracted from QEMU (dumpdtb) with a PCIe device
attached to the virtual machine (ivshmem)

Signed-off-by: Rodrigo Cataldo <rodrigo.cataldo@huawei.com>
Co-authored-by: Henri Xavier <datacomos@huawei.com>
2022-12-10 09:47:26 +01:00
Henri Xavier cfda0afbf9 boards/arm64/qemu_cortex_a53: Synchronize defconfigs
The various qemu_cortex_a53 defconfigs diverged.

We harmonize these files, and put config-specific
features at the end.

Signed-off-by: Henri Xavier <datacomos@huawei.com>
2022-11-18 12:00:09 +00:00
Henri Xavier 5de23dab59 boards/arm64: Add QEMU Virt KVM support
Zephyr already has an AArch64 QEMU Virt TCG board.
We add a KVM version of it.

Signed-off-by: Henri Xavier <datacomos@huawei.com>
2022-11-17 11:16:08 +01:00
Kumar Gala 81d904554a boards: Change defconfigs to use CONFIG_MP_MAX_NUM_CPUS
Move to using CONFIG_MP_MAX_NUM_CPUS in defconfig as we phase
out CONFIG_MP_NUM_CPUS.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2022-10-19 16:01:20 +02:00
Kumar Gala 2f031efea8 cmake: sim: Update simulator related cmake to use CONFIG_MP_MAX_NUM_CPUS
Update cmake related files that are used by simulators to use
CONFIG_MP_MAX_NUM_CPUS instead of CONFIG_MP_NUM_CPUS as we work to
phase out CONFIG_MP_NUM_CPUS.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2022-10-19 16:01:10 +02:00
Huifeng Zhang 52cdf2aaf3 boards: fvp_baser_aemv8r: remove SOC_FVP_AEMV8R_EL2_INIT code
Now that VMPIDR_EL2 will be initialized in z_arm64_el2_init, the code
that I wrote for initializing VMPIDR_EL2 on fvp_baser_aemv8r can be
removed.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-10-12 18:46:49 +09:00
Henri Xavier a43b37bb07 boards: Add support for Khadas Edge-V board
This is an AArch64 board. We also add RK3399 SoC support,
as well as a very simple Synopsys 8250dw UART driver.

Signed-off-by: Henri Xavier <datacomos@huawei.com>
2022-10-08 18:32:14 +02:00
Jiafei Pan 956c5ddc5e board: arm64: mimx8mp/n/m: fix memory address bits length
Removed duplicated configuration items for CONFIG_ARM64_VA_BITS and
CONFIG_ARM64_PA_BITS, and modify them to be 36bit as SoC supports up
to 34-bit address.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-15 11:53:33 +01:00
Huifeng Zhang 21c9c0f0af boards: arm64: add fvp_base_revc_2xaemv8a_smp_ns board
fvp_base_revc_2xaemv8a_smp_ns board enable TFA and the zephyr code will
run in Normal world.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-09-09 16:36:37 +00:00
Huifeng Zhang cfc29e7f9e boards: arm64: fvp_base_revc_2xaemv8a: change fvp parameters
- 'cluster0.NUM_CORES' can be configurable.
- Disable 'cache_state_modelled'

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-09-09 16:36:37 +00:00
Huifeng Zhang c0e50d275f boards: arm64: fvp_base_revc_2xaemv8a: add more cpu nodes
fvp_base_revc_2xaemv8a supports up to 2 clusters and 8 cores, each
cluster has 4 cores.

Due to zephyr supports up to 4 cores, for now, I add another 3 cores,
they all belong to cluster0.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-09-09 16:36:37 +00:00
Jiafei Pan 97fe92d481 boards: arm64: add imx8mn board support
i.MX8M Nano LPDDR4 EVK board is based on NXP i.MX8M Nano
applications processor, composed of a quad Cortex®-A53 cluster
and a single Cortex®-M47 core.

Zephyr OS is ported to run on the Cortex®-A53 core.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 8b92141878 boards: arm64: imx8mm/p: unify soc name
Replace imx8mm/p with mimx8m/p to unify name with the
other software components.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 90321739e1 boards: arm64: imx8mm/p: update document accordingly
Update document for imx8mm and imx8mp platform.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 93d59266b4 soc: arm64: imx8mm/p: enable pinctrl for soc and boards
Enable pinctrl on imx8mm and imx8mp platforms.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 3b722abf8f boards: arm64: imx8mm/p: unify soc name in configuration item
Used unified name "IMX8M*" to replace "MIMX8M*".

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 1ee490e0f6 boards: arm64: imx8mm: cleanup and update defconfig
Enabled serial console, serial driver, clock control.
Classify configuration items.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan f47230a30c boards: arm64: imx8mm: update dts for CPU and uart
1. Enable all cpu cores in soc dts and disable unused core in board dts.
2. Use default irq priority for uart interrupt.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 0315b2d49e boards: arm64: imx8mm: rename boards name to smp and non-smp
1. In order to figure out board name easily for a-core and m-core, add
   a53 suffix in a-core board names.

2. Will support two board configures: one for non-smp and one for smp, both
   of them can boot from uboot command line or load into Jailhouse inmate,
   so remove Jaihouse suffix from board names.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 234c91d62f soc: arm64: imx8mm/p: update SoC part number and name
To be synced with drivers in hal_nxp.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 15b856a418 boards: arm64: imx8mp_evk: cleanup defconfig
Enable serial console and driver, enabled clock control, classify
configuration items.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 7b493c31d9 boards: arm64: imx8mp_evk: clean up dts
1. unify sram addres (0xC0000000) and size (use 1M bytes).
2. remoeve PSCI node from non-smp board.
3. update CPU node and uart node.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Jiafei Pan 4fbbebaf17 boards: arm64: imx8mp: rename board name to smp and non-smp
1. In order to figure out board name easily for a-core and m-core, add
a53 suffix in a-core board names.
2. Will support two board configures: one for non-smp and one for smp, both
of them can boot from uboot command line or load into Jailhouse inmate, so
remove Jaihouse suffix from board names.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2022-09-05 10:17:13 +02:00
Boon Khai Ng 69eb4c6c8a boards: arm64: intel_socfpga_agilex: Enable QSPI at agilex board
This patch is to enable QSPI at Intel SoC FPGA Agilex Board

Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
2022-09-01 14:30:59 -04:00
Gerard Marull-Paretas ec5b59fd17 boards: fvp_baser_aemv8r: remove scale and center images
Now that images are scaled up to the ~width of the page, there's no need
to scale. Also center images to make things prettier.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas e81e92dbb9 boards: convert images to JPEG and reduce image size
The boards folder uses ~142.8 MB, being the largest in the repository.
This is due mostly to board images, which are in most cases not
optimized for web content. This patch tries to address this problem by
converting all pictures to JPEG (quality 75) and by adjusting its size
up to 750 px (the width of the documentation content). Images that
specified a fixed width in rst files are converted down to that value
instead.

With this patch, folder goes down to ~53.5 MB from 142.8 MB (-~63%).
Note that this patch introduces a new set of binary files to git
history, though (bad).

The process has been automated using this quickly crafted Python script:

```python
from pathlib import Path
import re
import subprocess

def process(doc, image, image_jpeg, size):
    subprocess.run(
        (
	     f"convert {image}"
	     "-background white -alpha remove -alpha off -quality 75"
	     f"-resize {size}\> {image_jpeg}"
	),
        shell=True,
        check=True,
        cwd=doc.parent,
    )
    if image != image_jpeg:
        (doc.parent / image).unlink()

for doc in Path(".").glob("boards/**/*.rst"):
    with open(doc) as f:
        content = ""
        image = None
        for line in f:
            m = re.match(r"^(\s*)\.\. (image|figure):: (.*)$", line)
            if m:
                if image:
                    process(doc, image, image_jpeg, size)

                image = Path(m.group(3))
                if image.suffix not in (".jpg", ".jpeg", ".png"):
                    content += line
                    image = None
                    continue

                image_jpeg = image.parent / (image.stem + ".jpg")
                size = 750
                content += (
                    f"{m.group(1)}.. {m.group(2)}:: {image_jpeg}\n"
                )
            elif image:
                m = re.match(r"\s*:height:\s*[0-9]+.*$", line)
                if m:
                    continue

                m = re.match(r"\s*:width:\s*([0-9]+).*$", line)
                if m:
                    size = min(int(m.group(1)), size)
                    continue

                content += line
                if line == "\n":
                    process(doc, image, image_jpeg, size)
                    image = None
            else:
                content += line

    with open(doc, "w") as f:
        f.write(content)
```

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas 4ade35bd7c boards: xenvm: remove logo
Adding logos to the documentation doesn't add much value and increases
repository size (due to images).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Gerard Marull-Paretas 1416c8ce12 boards: qemu: delete all QEMU logos
We had a bunch of QEMU logos embedded in all QEMU boards. Logos do not
add much value to the documentation, so just delete them.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-29 10:18:18 +02:00
Kumar Gala 05faddc923 dma: remove defconfig/proj setting of DMA drivers
Now that DMA drivers are enabled based on devicetree we can
remove any cases of them getting enabled by *.conf files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-26 14:27:23 +00:00