Commit Graph

99 Commits

Author SHA1 Message Date
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
Andy Ross 5f70091dbb boards/qemu_cortex_a53: enable qemu icount mode
This is a single-CPU board that would normally be expected to have
icount enabled, but doesn't.  So it sees a ton of false positive test
failures due to timing skew, which (for still-poorly-understood
reasons) have recently become much worse in CI.

It looks like this got held back by a qemu bug where the emulator
would ignore SIGTERM, but that can be worked around in twister.

Turn it on.  The SHIFT value of 4 matches the 62.5 MHz simulated
clock exactly, which is pleasing.

Signed-off-by: Andy Ross <andyross@google.com>
2022-08-18 10:19:19 +02:00
Kumar Gala ac36f52815 pm_cpu_ops: remove setting CONFIG_PM_CPU_OPS_PSCI in defconfig
We drive the default setting of CONFIG_PM_CPU_OPS_PSCI via devicetree
so there is no need to set CONFIG_PM_CPU_OPS_PSCI in defconfig files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-12 11:34:10 +02:00
Kumar Gala a24b275883 boards: arm64: Remove label property from devicetree
The label property isn't needed in devicetree so remove it.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-04 13:47:46 +02:00
Kumar Gala 10329165be serial: remove defconfig/proj setting of serial drivers
Now that serial drivers are enabled based on devicetree we can remove
any cases of them getting enabled by *defconfig and proj.conf files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-26 09:29:24 -05:00
Kumar Gala d979995858 boards: arm64: imx8m{m,p}_evk: disable uart
Disable the uart device as the iuart driver is not supported on i.MX8

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-19 10:30:20 +02:00
Dmytro Firsov a57dee94d6 xenvm: doc: update documentation for Xen grant tables
This commit changes information, related to Xen grants support
for xenvm board.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-28 22:34:26 -04:00
Dmytro Firsov f4cea5da70 xenvm: drivers: xen: add Xen grant table driver
This commit introduces driver for granting access for own grant
table and for mapping/unmapping foreign gref. Grant tables are used
for data exchange between Xen domains via shared memory page(s) (e.g.
for sharing ring buffer with driver data) This functionality is
widely used and needed for implementing PV backend/frontend drivers.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-28 22:34:26 -04:00
Dmytro Firsov 9891f16d67 xenvm: doc: Update docs for Xen VM according to new evtchn functionality
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-22 17:53:45 +02:00
Kumar Gala 4aae32640f dts: arm/arm64: remove DTS 'label' property requirement from gic and timer
The armv8 timer, arm gic, and arm gic-v3-its don't use or need the
devicetree label property.  Update the dts bindings to not require it and
remove setting of the label property in dts files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-16 09:48:12 -05:00
Jaxson Han cb19bd4fc2 boards: arm64: xenvm: Fix build issues
Temporarily set CONFIG_LOG_MODE_MINIMAL=n and CONFIG_USERSPACE=n to fix
the build error.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-06-15 09:12:40 +02:00
Jaxson Han 1b028dc0e6 dts: bindings: Add Xen Platform related dts bindings
Add the Xen Platform related dts bindings.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-06-15 09:12:40 +02:00
Jaxson Han 3ca07c019b board: fvp_baser_aemv8r: Disable cache_state_modelled
The FVP runs extremely slowly (20 to 30 times slow) when we enable 4
cores. Disabling the cache_state_modelled can make it a little bit
quicker.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han ab29fb8617 tests: Increase testcases timeout for fvp_baser_aemv8r_smp
The tests/kernel/mem_protect/syscalls/ and tests/kernel/smp/ run too
slow on fvp_baser_aemv8r_smp. Increase the timeout_multiplier to 8 for
fvp_baser_aemv8r_smp.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han ad327353ce boards: fvp_baser_aemv8r: Remove the ISR_STACKS_SIZE
Fix tests by removing the CONFIG_ISR_STACKS_SIZE. The defaut is 4096.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Jaxson Han a1620aabff board: armfvp: Add more UART port configs
Add more UART port configs for ARM FVP.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-05-17 11:45:16 +09:00
Daniel DeGrasse b6377cce6a boards: imx8mp: partial pin control support
Add partial pin control support for the imx8mp. Since the UART driver is
not currently enabled, pin control cannot be tested on this platform.
Therefore, only the DTS definitions required to set the pinmux options
are present for this platform, and are not being applied (since
CONFIG_PINCTRL=n).

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-05-12 16:57:17 -05:00
Daniel DeGrasse 946b9dc1e1 boards: imx8mm: add partial pin control support
Add initial pin control support for the A53 core of the imx8mm. Since
the UART console driver is not currently enabled for this platform,
there is no way to test the full pin control enablement. Therefore,
CONFIG_PINCTRL is still not selected for this platform, although the
required DTS definitions and pin control headers are present.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-05-12 16:57:17 -05:00
Daniel DeGrasse 25289d2759 boards: arm: add pin control groups for iMX application cores
Add pin control group definitions for all iMX application cores. This
commit does not enable pin control for any iMX cores, as the SOC level
support is not present, but does define the require pin mux settings for
all boards.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-05-12 16:57:17 -05:00
Maureen Helm f71b3eeffc dts: arm64: qemu: Move SoC devicetree includes under a vendor directory
Cleans up SoC devicetree include file locations to follow the convention
of dts/<arch>/<vendor>/

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-05-09 17:54:48 -04:00
Maureen Helm b2bd9a8f47 dts: arm64: fvp: Move SoC devicetree includes under a vendor directory
Cleans up SoC devicetree include file locations to follow the convention
of dts/<arch>/<vendor>/

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-05-09 17:54:48 -04:00
Maureen Helm 267bba62d3 dts: arm64: intel: Move SoC devicetree includes under a vendor directory
Cleans up SoC devicetree include file locations to follow the convention
of dts/<arch>/<vendor>/

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-05-09 17:54:48 -04:00
Gerard Marull-Paretas db508379c2 boards: migrate includes to <zephyr/...>
In order to bring consistency in-tree, migrate all boards code to the
new prefix <zephyr/...>. Note that the conversion has been scripted,
refer to zephyrproject-rtos#45388 for more details.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-06 19:57:15 +02:00
Jaxson Han 3b56fdccec test: Misc fixes for fvp_baser_aemv8r
Fix tests for fvp_baser_aemv8r board by removing the
CONFIG_ISR_STACK_SIZE=1024.

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-04-27 11:12:18 +09:00
Huifeng Zhang 04684fbcb8 boards: arm64: fvp_base_revc_2xaemv8a: add all available uart nodes
fvp_base_revc_2xaemv8a has four pl011_uart devices and all of then have
been added in this patch.

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-04-26 14:20:57 -05:00
Huifeng Zhang 214dc979c2 boards: arm64: enable uart interrupt driven feature on two boards
- fvp_baser_aemv8r_smp
- fvp_base_revc_2xaemv8a

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-04-26 14:20:57 -05:00
Huifeng Zhang e96f18bde8 boards: remove options CONFIG_UART_PL011_PORT0
Remove option 'CONFIG_UART_PL011_PORT0' from four boards's defconfig
file.

- fvp_baser_aemv8r_aarch32
- fvp_base_revc_2xaemv8a
- fvp_baser_aemv8r
- qemu_cortex_a53

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-04-26 14:20:57 -05:00
Huifeng Zhang 6a511e9331 board: arm64: fvp-baser-aemv8r: add all available uart nodes
fvp-baser-aemv8r has four pl011_uart devices and all of then have
been added in this patch.

only uart0 and uart1 are enabled as default in fvp_baser_aemv8r.dts

Signed-off-by: Huifeng Zhang <Huifeng.Zhang@arm.com>
2022-04-26 14:20:57 -05:00
Jaxson Han 357aacab6b boards: fvp v8r: Fix the SRAM/FLASH to the right address
Fix SRAM base address to 0x0 and set the size to 128M
Fix FLASH base address to 0x88000000 and set the size to 64MB

Signed-off-by: Jaxson Han <jaxson.han@arm.com>
2022-03-16 09:19:44 -05:00