Commit graph

570 commits

Author SHA1 Message Date
Flavio Ceolin 13bedbe1c9 intel: ace15: Enabling sha driver by default
Enable intel-adsp-sha driver y default when it is enabled in DT.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-10-31 12:45:33 -07:00
Gaël PORTAY cd9d2db892 boards: heltec_wifi_lora32_v2: enable lora
This enables the support for the Semtech SX1276 chip on board (see the
pinout[1] and schematic[2] documents).

The chip is connected to SPI as follow:

| PIN  | GPIO   |
| ---- | -------|
| CS#  | GPIO18 |
| CLK  | GPIO5  |
| MOSI | GPIO27 |
| MISO | GPIO19 |
| RST# | GPIO14 |

Additionally, the LoRa DIO PINs are connected as follow:

| PIN  | GPIO   |
| ---- | -------|
| DIO0 | GPIO26 |
| DIO1 | GPIO35 |
| DIO2 | GPIO34 |

_Note_: The first three DIO PINs are connected to the ESP32 MCU only.

[1]: https://resource.heltec.cn/download/WiFi_LoRa_32/WIFI_LoRa_32_V2.1.pdf
[2]: https://resource.heltec.cn/download/WiFi_LoRa_32/V2/WIFI_LoRa_32_V2(868-915).PDF

Signed-off-by: Gaël PORTAY <gael.portay@gmail.com>
2022-10-31 11:23:20 +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
Anas Nashif d038eb5dc7 intel_adsp: move memory windows to DTS proper
Instead of just declaring the memory window register in DTS and have
everything else all over the place (headers, Kconfig, etc.) this change
defines the memory window instances in DTS and uses the device model to
initialize the windows. Code is still part of the SoC, given that we do
not have a driver subsystem suitable for this type of device yet.

Move FW status to own workflow and separate from window setup.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-10-11 08:28:25 -04:00
Jaska Uimonen c9bf8ee4eb dts: xtensa: intel: add dmic dts definitions
Add Intel dmic dai dts definitions for ace15, cavs15 and cavs25
platforms.

Add also pre dts cmake files as the dmic nodes use same address and emit
warnings otherwise.

Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
2022-10-05 12:41:45 +02:00
Felipe Neves f0a85f69ad boards: xtensa: esp32s2_franzininho: add support
to the ESP32 S2 Franzininho educational development
board.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>

boards: xtensa: esp32s2_franzininho: remove docs

section for debugging since this board does not have
any on board debug or connection for that.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-10-02 18:10:52 -04:00
Grant Ramsay 05b356963a boards: xtensa/esp32_ethernet_kit: Add Ethernet support
Configures ESP32 Ethernet support for the esp32_ethernet_kit board

Signed-off-by: Grant Ramsay <grant.ramsay@hotmail.com>
2022-10-01 14:51:28 -04:00
Grant Ramsay 58de4291d5 boards: xtensa/esp32_ethernet_kit: Init Ethernet phy
Initialises the Ethernet phy hardware.
Sets phy RESET_N pin high shortly after boot

Signed-off-by: Grant Ramsay <grant.ramsay@hotmail.com>
2022-10-01 14:51:28 -04:00
Grant Ramsay 7bc8211aa4 boards: xtensa: Add esp32_ethernet_kit board
Adds support for the esp32_ethernet_kit board.
esp32_ethernet_kit board is useful for testing ESP32 Ethernet

Signed-off-by: Grant Ramsay <grant.ramsay@hotmail.com>
2022-10-01 14:51:28 -04:00
Stephanos Ioannidis 9912804d3c boards: esp32: Update outdated links
This commit updates the outdated/redirected links.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00
Fabio Baltieri c19c5a99cf boards: drop few stale CONFIG_PINMUX entries
The one in esp32_net_defconfig is redundant and lpcxpresso51u68 is not
really using any of the pinmux api, so that can go as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-09-21 13:54:54 -05:00
Thomas Stranger 932020d700 boards: remove pinmux as supported feature
The tag that marks pinmux as supported is not used by any test or
sample, therefore this doesn't seem needed anymore.

- remove from 3 mec1x boards, they still use pinmux,
  but as the tag is neither used in tests and pinmux
  deprecated anyway no need for it.
- remove from 5 esp32 boards, as they now use pinctrl.
- remove from 2 lpc boards, as they now use pinctrl.
- remove from 1 stm32 board, as it now uses pinctrl.
- remove from 1 npcx board, as it now uses pinctrl.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2022-09-19 13:54:48 -05:00
Enjia Mai 76743f42bd boards: xtensa: update the documentation for changes of cavstool
Update the usage for cavstool.py to remote-fw-service.py to adapt
the renaming. And also correct the params --log-port and --req-port
in the doc.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-09-16 13:34:05 -04:00
Sylvio Alves 9105f1ef61 docs: esp32: update openocd section
This PR removes information regarding previous
west extension related to OpenOCD download.
This extension is no longer available and manual download
is required until upstream OpenOCD receives
all xtensa and riscv patches.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-09-16 09:02:41 +01:00
Lauren Murphy 1983a4c50c boards, dts: fix namespace for intel adsp cavs, ace
Fixes namespace for Intel ADSP CAVS and ACE boards.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2022-09-14 07:23:08 -04:00
Michael Laß 53af1ba59e boards: heltec_wifi_lora32_v2: improve documentation
* Document use of OLED display.
* Fix indentation in list of features.
* References are only rendered if they are used and currently most of
  them are not. Introduce a list of links in addition to the actual
  references to make them show up.

Signed-off-by: Michael Laß <bevan@bi-co.net>
2022-09-12 20:08:39 +00:00
Michael Laß fec126f190 boards: heltec_wifi_lora32_v2: enable trng0
trng0 refers to the entropy source in the ESP32, as defined in
esp32.dtsi. It enables the configuration item ENTROPY_ESP32_RNG and
therefore offers an entropy driver, making the use of
CONFIG_TEST_RANDOM_GENERATOR unnecessary.

This change helps running the esp32_wifi_station sample.

Signed-off-by: Michael Laß <bevan@bi-co.net>
2022-09-12 20:08:39 +00:00
Flavio Ceolin 45465708f0 soc: intel_adsp: Add ACE soc series
ACE15_MTPM is one SOC from the ACE series. Organize
it following cavs pattern.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-09-09 16:03:59 -04:00
Lauren Murphy 3b8c1f755b boards: mtpm: make DAI_SSP_HAS_POWER_CONTROL optional
Makes DAI_SSP_HAS_POWER_CONTROL depend on DAI_INTEL_SSP
in intel_adsp_ace15_mtpm Kconfig.defconfig.

Signed-off-by: Lauren Murphy <lauren.murphy@intel.com>
2022-09-08 16:25:25 -04:00
Sylvio Alves a1a22f348b docs: esp32: add binary blobs documentation info
Updates all ESP32 boards with proper binary blob
download command.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-09-01 21:48:18 +00:00
Anas Nashif ead7bf6409 boards: intel_adsp_cavs25: make DAI_SSP_HAS_POWER_CONTRO optional
Make DAI_SSP_HAS_POWER_CONTRO depend on DAI_INTEL_SSP

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-09-01 16:23:57 -04:00
Kumar Gala 1a75e77b6b intc: remove defconfig setting of interrupt controller drivers
Now that interrupt controller 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-09-01 10:25:36 +02:00
Kumar Gala f957402f26 mm: remove setting CONFIG_MM_DRV_INTEL_ADSP_MTL_TLB in defconfig
We drive the default setting of CONFIG_MM_DRV_INTEL_ADSP_MTL_TLB
via devicetree so there is no need to set
CONFIG_MM_DRV_INTEL_ADSP_MTL_TLB in defconfig files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-31 11:17:37 -05:00
Anas Nashif 6d3dfd009a boards: nxp_adsp: remove unused CONFIG_BOOTLOADER_SRAM_SIZE
This option is not being used by xtensa, so remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-08-31 10:41:22 +02:00
Anas Nashif 6e7e9c2ba8 boards: intel_adsp: remove unused CONFIG_BOOTLOADER_SRAM_SIZE
This option is not being used by xtensa code, so remove it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-08-31 10:41:22 +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 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
Enjia Mai f2204b552b doc: boards: update the usage of intel_adsp boards
Update the usage of intel_adsp boards according to adding
the port support.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-08-16 22:51:53 -07:00
Felipe Neves 0244155d2a boards: esp32_net: ignore some build tests
because esp32_net has only small IRAM space

which may overflow for large samples.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-08-16 18:06:02 +02:00
Felipe Neves d808fa2c6d samples: drivers: ipm_esp32: add return
when ipm driver initialization fails.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-08-16 18:06:02 +02:00
Felipe Neves 6ba5b21337 soc: xtensa: esp32_net: update kconfig
specific of soc to make it compatible to the new toolchain.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-08-16 18:06:02 +02:00
Felipe Neves 907e602875 boards: xtensa: esp32_net: update documentation
with latest esp32 information about the toolchain
for esp32.

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-08-16 18:06:02 +02:00
Felipe Neves bb6e656ec0 soc: esp32_net: added esp32_net as an option
to use esp32 core 1 as a separate CPU, also
provide infrastructure to load firmware to
that CPU

Signed-off-by: Felipe Neves <felipe.neves@linaro.org>
2022-08-16 18:06:02 +02:00
Kumar Gala f2fa572561 entropy: remove Kconfig.defconfig* setting of entropy drivers
Now that entropy drivers are enabled based on devicetree
we need to remove any cases of them getting enabled by
Kconfig.defconfig* files as this can lead to errors.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-09 23:37:33 -05:00
Kumar Gala 63769bd1c1 drivers: display: Remove unnecessary Kconfig settings
Have the display enabled in devicetree will now get the driver
enabled by default when CONFIG_DISPLAY=y is set.  So we can remove
setting driver enabling Kconfig values in various .conf and
defconfig files.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-09 12:27:44 +02:00
Kumar Gala be1380cc51 boards: xtensa: 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-05 14:40:49 -05:00
Gerard Marull-Paretas ada8d72888 boards: remove non-minimal peripherals from defconfig
According to the board porting guidelines, boards should "leave
peripherals and their drivers disabled by default". In Zephyr we
tipically enable GPIO and SERIAL, as they are virtually required by all
samples/tests in tree. However, for the rest of peripherals it is up to
the application/test to enable the necessary driver classes. It is also
useful that board's Kconfig.defconfig enables certain driver peripherals
based on a condition, e.g. enable I2C if SENSOR=y.

Ref. https://docs.zephyrproject.org/latest/hardware/porting/
board_porting.html#general-recommendations

This patch removes the following driver classes from defconfig files:

- CONFIG_ADC
- CONFIG_COUNTER
- CONFIG_EEPROM
- CONFIG_ENTROPY
- CONFIG_ESPI
- CONFIG_HWINFO
- CONFIG_I2C
- CONFIG_LED
- CONFIG_NETWORKING
- CONFIG_PS2
- CONFIG_PWM
- CONFIG_SENSOR
- CONFIG_SPI
- CONFIG_SPI_SLAVE
- CONFIG_WATCHDOG

Note that a previous attempt was done in #38510.

Fixes #30694

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-08-05 12:55:51 +02:00
Henrik Brix Andersen 66e4a4d9e7 boards: xtensa: olimex_esp32_evb: list TWAI as supported
List the Two-Wire Automotive Interface (TWAI) as supported in the Olimex
ESP32-EVB board documentation.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-08-02 15:43:27 -04:00
Henrik Brix Andersen 23bed3c93a boards: xtensa: olimex_esp32_evb: enable TWAI CAN controller
Enable the ESP32 TWAI CAN controller on the Olimex ESP32-EVB board.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2022-07-30 17:32:04 +01:00
Kumar Gala 0a2ff1ffbf pwm: remove defconfig/proj setting of PWM drivers
Now that PWM 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-27 18:43:54 +02:00
Kumar Gala 35d93ef7bc drivers: i2c: esp32: Rework SDA/SDL pins as gpios in devicetree
For the !SOC_I2C_SUPPORT_HW_CLR_BUS in which we implement bus
reset via GPIOs, change the devicetree properties to be actual
gpio properties and update the code to reflect this.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-26 12:10:58 -05:00
Kumar Gala 1c1c57b31b gpio: remove defconfig/proj setting of GPIO drivers
Now that gpio 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 08:49:38 +02:00
Anas Nashif 43371d0414 intel_adsp: move cavs to be a series
Intel ADSP CAVS is now a proper series with all CAVS SoCs running under
it. This will give us to Intel ADSP series:
- CAVS
- ACE v1.x

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-07-25 16:50:24 -04:00
Benjamin Björnsson ab4a926c27 boards: Add alias to boards with watchdog enabled
Add alias to boards with watchdog enabled to facilitate the
move of samples/drivers/watchdog to use DT_ALIAS.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-07-19 09:28:43 -05:00
Yannis Damigos f50e31257b boards/odroid_go: Add support for microSD card
Add support for microSD card.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2022-07-14 15:51:00 +00:00
Glauber Maroto Ferreira b899ae7d8c esp32: boards: disable in-tree timer nodes
Makes all in-tree timer nodes disabled by default
at the board's level.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-13 15:53:04 +02:00
Anas Nashif e3c9eb2495 intel_adsp: add the board definition for the Meteorlake
Board definition for the meteorlake platform.
Enable intel_adsp_ace15_mtpm in the sof sample.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Co-authored-by: Michal Wasko <michal.wasko@intel.com>
Co-authored-by: Konrad Leszczynski <konrad.leszczynski@intel.com>
2022-07-06 15:11:07 -04:00
Enjia Mai a1e388ea2e soc: xtensa: keep the CAVS old flasher still works
Keep the cavstwist.sh it is still working by specifying an
environment variable when CAVS_OLD_FLASHER is set. Provide
a fallback once the client-server-based tool does not work
well in some conditions.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-07-02 06:06:19 -04:00
Glauber Maroto Ferreira f82d3d444d boards: xtensa: esp32s2_saola: dts: use pin grouping
Updates device tree pin states definitions and node
descriptions to group pins sharing common properties.

Accordingly, updates in-tree overlays as well.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira bebfaa04aa boards: xtensa: olimex_esp32_evb: dts: use pin grouping
update device tree pin states definitions and node
descriptions to group pins sharing common properties.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira 46aa698001 boards: xtensa: odroid_go: dts: use pin grouping
update device tree pin states definitions and node
descriptions to group pins sharing common properties.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira ef76f1ae42 boards: xtensa: heltec_wifi_lora32_v2: dts: use pin grouping
update device tree pin states definitions and node
descriptions to group pins sharing common properties.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira dfad263fc2 boards: xtensa: esp_wrover_kit: dts: use pin grouping
- update device tree pin states definitions and node
descriptions to group pins sharing common properties.
- update fat_fs sample code overlay.
- remove unused ledc pin states

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira f79029a074 boards: xtensa: esp32: dts: use pin grouping
- update device tree pin states definitions and node
descriptions to group pins sharing common properties.
- update ESP32's in-tree overlays.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Lucas Tamborrino 534efaed31 doc: boards: add pwm to espressif's boards
Add PWM support to espressif's boards documentation

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-06-29 14:48:25 +00:00
Lucas Tamborrino 02675bbc80 dts: esp32: full ledc configuration in binding
This commit moves the hardware configuration for ledc
peripheral to the device-tree instead of Kconfig.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-06-29 14:48:25 +00:00
Gerard Marull-Paretas 69fc9a3d0a boards: esp_wrover_kit: enable SPI if CONFIG_DISPLAY=y
If we enable DISPLAY=y, ILI9341 will be selected automatically if all of
its dependencies are met as well (SPI), let's add this to the board
defconfig.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-28 15:53:10 +02:00
Kumar Gala 01640b9cda boards: remove usage of DT_LABEL
A number of boards utilize device_get_binding(DT_LABEL(...)) to
get a gpio for some purpose.  Switch over to using DEVICE_DT_GET
and device_is_ready() instead.  This is part of the ongoing
cleanup towards phasing out usage of the "label" property in DTS.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-27 12:45:19 +02:00
Sylvio Alves b8dbe08425 soc: esp32s2: fix invalid storage address
Fix duplicated storage address.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-06-22 12:27:32 +02:00
Anas Nashif 798a552daf boards: intel_s1000_crb: remove board/soc
Remove the intel_s1000_crb board. it is no longer available or supported
in the zephyr tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-06-13 16:19:51 -04:00
Yannis Damigos 7721432486 boards/odroid_go: Add bluetooth support
Add bluetooth support

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2022-06-08 12:43:10 +02:00
Enjia Mai 415b47c4ac soc: xtensa: rename the cavstool back for backward compatibility
The name change for cavstool.py has also broken the backward
compatibility for SOF testing. Rename cavstool_server.py back
to cavstool.py. Keep the functionality still as same as the previous
one.

And also update the documentation of it.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-06-06 22:46:52 +02:00
Arsen Eloglian d4c1c1ebef ssp: SSCR reset - hardware specific flow
hardware specific flow using bit 20 (SSCR2_SFRMEN)  for reset

Signed-off-by: Arsen Eloglian <ArsenX.Eloglian@intel.com>
2022-06-05 14:45:59 +02:00
Enjia Mai e4c171ed22 soc: cavs: add a README to document the usage
Add a usage of how to run the intel_adsp_cavs board, when the
new intel_adsp west runner introduced.

Also update the docs of up_squared and TGL.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-06-05 14:13:57 +02:00
Enjia Mai a0c64cbbb1 boards: xtensa: Activate the intel_adsp west runner
Make the intel_adsp west runner starting to work on all the
intel_adsp boards. Changes include:

1. Make the cavstool.py work as a service in remote host
   ADSP board and rename it to cavstool_server.py.

2. Active the runner and adds a common board.cmake file to
   specify the default signing key for cavs boards.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-06-05 14:13:57 +02:00
Glauber Maroto Ferreira 01f4a64738 fix: boards: esp32: uart: pinmux assignment
Fix pinmux property values assigned to both UART1
and UART2 nodes.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-05-20 12:39:38 +02:00
Sylvio Alves 922ae85767 boards: esp32: update Espressif boards documentation
Zephyr SDK toolchain integration requires all ESP32 family
board's documentation updates.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-05-11 10:47:27 +02:00
Sylvio Alves 20fbaaccc4 boards: esp32: added ignore tags
Espressif boards cannot have ble and wifi
CI build tests due to binary blobs policies.
This removes refered tests.

west.yml: update hal repository to get updates
that allows building using Zephyr's SDK.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-05-11 10:47:27 +02: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
Henrik Brix Andersen 1348418b34 boards: xtensa: add Olimex ESP32-EVB board definition
Add board definition for the Olimex ESP32-EVB development board.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2022-04-28 10:26:40 +02:00
Glauber Maroto Ferreira f0479f5458 esp32/s2/c3-based boards: remove pinmux definitions
ESP32/S2/C3-based boards no longer support pinmux, which was
deprecated in favor of pinctrl.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira d99f01808a boards: odroid_go: change init priority
making board initialization depend on
GPIO_INIT_PRIORITY and setting the
initialization level to APPLICATION.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 758887230e boards: heltec_wifi_lora32_v2: change init priority
making board initialization depend on
GPIO_INIT_PRIORITY.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 971fed483a boards: esp_wrover_kit: change init priority
making board initialization depend on
GPIO_INIT_PRIORITY and setting the
initialization level to APPLICATION.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira cd2e5f9de8 boards: odroid_go: update CMakeLists.txt
remove dependency on pinmux definition.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 5769e7b07a boards: heltec_wifi_lora32_v2: update CMakeLists.txt
remove dependency on pinmux definition.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 4ff3fe74ae boards: esp_wrover_kit: update CMakeLists.txt
remove dependency on pinmux definition.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira f7c7a0e3c7 boards: odroid_go: dts: add default pinctrl states
update peripheral nodes to use default pinctrl states.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 6dd0d5d24b boards: heltec_wifi_lora32_v2: dts: add default pinctrl states
update peripheral nodes to use default pinctrl states.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira c66db46507 boards: esp_wrover_kit: dts: add default pinctrl states
update peripheral nodes to use default pinctrl states.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 4a698f64e0 boards: esp32s2_saola: dts: default pinctrl states
Add default pinctrl states to UART, SPI and I2C
peripherals.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira 47662b1c59 boards: esp32: dts: i2c: add default I2C pinctrl states
Through the inclusion of pinctrl-[0/name] properties to
ESP32's board I2C nodes.

Also removes the i2c1 node, which currently is not being
used by any sample code or test case.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira febd0aa5e3 boards: esp32: dts: spi: add default SPI pinctrl states
through the inclusion of pinctrl-[0/name] properties to
ESP32's board SPI nodes.

It also removes dts properties related to pinmux.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Glauber Maroto Ferreira a263f2c498 boards: esp32: dts: uart: add default UART pinctrl states
through the inclusion of pinctrl-[0/name] properties to
ESP32's board UART nodes.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-04-20 13:27:47 +02:00
Yuval Peress af98ca076b xtensa: Add types to kconfigs
Fix a documentation build warning by adding the type to the configs

Signed-off-by: Yuval Peress <peress@google.com>
2022-04-08 19:03:32 +02:00
Yannis Damigos 3a2c5bd56d board/odroid_go: Add display support
Add display support.
Tested using samples:
samples/drivers/display
samples/subsys/display/lvgl

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2022-03-25 10:40:49 +01:00
Yannis Damigos 7dcdaf9375 board/odroid_go: Add pullups to buttons and a new button
Add volume button.
Add internal pull ups to buttons which don't have an
external one.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2022-03-23 14:09:34 +01:00
Yannis Damigos 05c4f44112 boards/odroid_go: Update documentation
Update board's documentation.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2022-03-23 12:55:18 +01:00
Yannis Damigos 2707500731 boards/odroid_go: Update odroid_go board
odroid_go board was not up to date.
Fix compilation issues.
Add timers support and flash partitions.

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2022-03-19 17:45:11 +01:00
Nazar Kazakov f483b1bc4c everywhere: fix typos
Fix a lot of typos

Signed-off-by: Nazar Kazakov <nazar.kazakov.work@gmail.com>
2022-03-18 13:24:08 -04:00
Nazar Kazakov 9713f0d47c everywhere: fix typos
Fix a lot of typos

Signed-off-by: Nazar Kazakov <nazar.kazakov.work@gmail.com>
2022-03-14 20:22:24 -04:00
Kai Vehmanen ec7451b485 soc/intel_adsp: add support for Intel Jasper Lake
Add a variant of Intel cAVS2.0 used in Jasper Lake based
products.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-03-10 09:26:41 -06:00
Alfredo Dal'Ava Junior 03cc8d0e1b esp32/heltec_wifi_lora32_v2: add documentation
Provides basic documentation based on generic board esp32

Signed-off-by: Alfredo Dal'Ava Junior <alfredo.junior@eldorado.org.br>
2022-03-07 10:46:40 +01:00
Alfredo Dal'Ava Junior 125f15d954 esp32/heltec_wifi_lora32_v2: Add HELTEC ESP32 WiFi LoRa 32 (V2)
Product page: https://heltec.org/project/wifi-lora-32/

Supported:
    - LED
    - PRG Button
    - OLED display

Unsupported:
    - LoRa

Tested with:
    - samples\hello_world
    - samples\basic\blinky
    - samples\basic\button
    - samples\boards\esp32\wifi_station
    - samples\subsys\display\lvgl

Signed-off-by: Alfredo Dal'Ava Junior <alfredo.junior@eldorado.org.br>
2022-03-07 10:46:40 +01:00
Maureen Helm c32d10cc9e boards: xtensa: Merge intel_adsp_cavs25 variants into one directory
Merges the intel_adsp_cavs25_tgph and intel_adsp_cavs25 board variants
into a shared directory to reduce code duplication and align with the
layout used by other multicore boards (e.g., lpcxpresso55s69,
mimxrt1170_evk, nrf9160). Note that this change does not affect the
names of the board definitions and therefore does not affect the west
command line parameters needed to build a Zephyr application.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-03-05 10:39:37 -05:00
Sylvio Alves c2bcff1f7d soc: esp32s2: prepare kconfigs and cmake to support mcuboot
This modifies esp32s2 SOC configuration to support MCUBoot.

CmakeLists is moved from board to soc specific. It also
includes MCUBoot changes.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-03-04 08:54:51 -06:00
Sylvio Alves ab8cc2b1e0 boards: esp32s2_saola: update device tree to add new partitions
This adds mcuboot slot0, slot1 and scratch partition.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-03-04 08:54:51 -06:00
Tom Burdick 6a0837af2c soc/intel_adsp: Dedup the Kconfig driver options
The same options were copied to each Kconfig.defconfig, in different
places (my own doing) for both DMA and I2S. This dedups the defines and
moves them into the common soc Kconfig.defconfig.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-03-03 08:50:41 -05:00
Tom Burdick 24fd3d31f5 intel_adsp: Use gpdma for cAVS
Previous Kconfig designated designware dma but did not define
the ip block in device tree. This caused warning when building tests.
The warnings caused CI to fail.

Really though the devices do all depend on the gpdma derivative and not
the generic DesignWare driver.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-03-01 14:41:58 -05:00
Kai Vehmanen ba02864d41 soc/intel_adsp: bump core count to four for TGPLP cAVS builds
With addition of separate intel_adsp_cavs25_tgph board to
cover 2 core variants, we can now bump the core count to
four cores for intel_adsp_cavs25 (used in Tiger Lake LP PCH).

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-02-28 13:49:20 -05:00
Kai Vehmanen 1bcf79f729 soc/intel_adsp: add intel_adsp_cavs25_tgph board
Add a new board to support Intel Tiger Lake H PCH variant of cAVS2.5.

Move common Kconfig options for cavs25 to soc level. No need to
replicate these for every board.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2022-02-25 14:28:45 -06:00
Marc Herbert 39b69f8d75 boards: xtensa: fix cAVS name: connected -> converged
cAVS is defined as "converged Audio, Voice and Speech" by the cAVS
team itself.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2022-02-21 21:58:34 -05:00
Tom Burdick 1e9ada4eb9 dma: cavs: Add gpdma derivative of dw dma for cavs
Intel's adsp needs to set, at a minimum, a clocking bit before the driver
can initialize the designware dma controller. In many ways it is the
designware dmac IP but with additional registers and functionality added
on top of it. So the code structure here follows how the hardware
appears to be designed, layered on top of the designware driver.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-02-21 20:59:08 -05:00
Sylvio Alves 6ba6894580 drivers: wdt: esp32: code refactor to use hal calls
Update WDT driver to use hal calls, which
brings proper unification among socs.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-02-21 19:40:17 -05:00
Maureen Helm 63712fb024 boards: xtensa: Add XCC to list of toolchains for intel_adsp boards
This eliminates the need to use the "--force-toolchain" flag when
running twister with the XCC toolchain on intel_adsp.* boards.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-02-14 09:30:30 -05:00
Maureen Helm bd6df93204 boards: xtensa: Align testcase tags for intel_adsp boards
Aligns intel_adsp boards to be consistent about which testcase tags to
ignore or apply. This reduces the number of tests for intel_adsp_cavs15
because we now ignore networking and Bluetooth tests.  It increases the
number of tests for intel_adsp_cavs20 because we're no longer limited to
only kernel and sof tests.

intel_adsp_cavs18 and intel_adsp_cavs25 already had these tags and don't
need to be modified.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-02-08 07:26:45 -05:00
Gerard Marull-Paretas 3a38359f12 boards: xtensa: intel_s1000_crb: enable gpio0
gpio0 is used by the tlv320dac310x reset-gpios, however, it was not
enabled. In general, UART and GPIO are enabled by default as they fall
into the category of minimal peripherals. An alternative solution would
be to add an overlay to the sample.

The intel_s1000_crb board sample was actually broken, however, it got
unnoticed because it uses device_get_binding(), meaning the error would
show up at runtime.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-01-31 15:25:42 -05:00
Enjia Mai b374dc6a7f boards: intel_adsp_cavs18: add test coverage
Increase the test coverage for intel_adsp_cavs18. To keep its
test coverage as the same as cavs15 and cavs25.

Currently only one test sutite failed , See #42157.
with #42158 expend the time of ringbuffer testing, it can reach
100% pass rate.

Signed-off-by: Enjia Mai <enjia.mai@intel.com>
2022-01-29 05:21:04 -05:00
Andy Ross cd5302fa00 boards/intel_adsp_cavs15: Remove ancient tooling
There were several generations of loader/logger tooling in this
directory, several of which no longer work.  They have all been
replaced by just one pythong script in the soc directory.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2022-01-21 14:48:36 -05:00
Tom Burdick b5d9c047d3 boards/intel_adsp_cavs25: Improve test coverage
Remove the only_tags filter for the board and add ignore_tags for net
and bt.

Adds a filter to a userspace sample that didn't correctly filter on
usermode being Kconfiged.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-01-21 14:36:49 -05:00
Sylvio Alves e745962b8f dts: esp32: clean up unused pin defintions
This removes a few uart pins currently no necessary
for this board.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-01-21 13:16:55 -05:00
Sylvio Alves 1d1c97316b boards: esp_wrover_kit: fix missing DTS flash input values
Last wrover_kit board update was missing latest
DTS flash areas, causing build to fail.

Closes #41938

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-01-19 09:30:27 -05:00
Sylvio Alves e6cc771c63 boards: esp_wrover_kit: use default configs from soc
Set esp_wrover_kit board to use default soc cmakelists
and remove hardcoded bootloader as it is automatically
selected by kconfig options.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-01-18 10:38:34 -05:00
Andy Ross 8cb5bf1526 soc/intel_adsp: Use the sys_winstream protocol in adsplog.py
This is the matching commit to the previous one that swaps the
protocol used for window logging for sys_winstream.

The advantage is especially clear for the reader.  The old protocol
was complicated and race-prone, requiring whole-buffer reads for
reliability.  The new one is tiny and fast.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2022-01-13 14:01:23 -05:00
Shao Ming 7e318b5e93 soc/intel_adsp: Fix the PFN width in cavs-fw.py loader
Change the PFN field width from 54 to 55 to follow the Linux Doc.
(https://www.kernel.org/doc/html/latest/admin-guide/mm/pagemap.html)
Otherwise issue may arise if physical address beyond 2^66 is mapped.

Refactor the v15 and v25 scripts to extract the common part.
This is to suppress the pylint duplicate code check.

Signed-off-by: Shao Ming <ming.shao@intel.com>
2022-01-11 11:49:53 +01:00
Sylvio Alves 16571db029 soc: esp32: add support to mcuboot build
Select configuration when mcuboot is enabled.
At this moment, only UNSIGNED image is supported as per
Espressif's mcuboot porting.

This also updates esp32 runner to use proper bin_file name
and updates default bootloader check.

Move CMakeLists.txt content from board to soc directory
as this support is for esp32 architecture and not board
specific.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-12-18 07:20:38 -05:00
Shubham Kulkarni d008f1c63a boards: esp32: Update device tree to add partitions
Adds MCUboot, primary, secondary and scratch partitions

Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-12-18 07:20:38 -05:00
Glauber Maroto Ferreira c3715da5d9 boards: xtensa: esp_wrover_kit: board_init
add pre-kernel board initialization function and initializes
ESP-WROVER-KIT with expected pin settings after board boot.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-16 20:49:27 -05:00
Glauber Maroto Ferreira 1abf5394e9 samples: fat_fs: esp_wrover_kit: sdmmc support
- adds support to sdmmc through SPI
- adds support to samples/subsys/fs/fat_fs

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-16 20:49:27 -05:00
Glauber Maroto Ferreira eb651f9b16 boards: esp_wrover_kit: dts: add led nodes
add user led nodes to board's .dts

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-16 20:49:27 -05:00
Glauber Maroto Ferreira 47f13d99a6 samples: lvgl: esp_wrover_kit: lcd display support
- adds dts support to ESP-WROVER-KIT's LCD display
controller
- adds support to samples/subsys/display/lvgl
- updates sample code documentation

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-16 20:49:27 -05:00
Glauber Maroto Ferreira 753e2893ad boards: xtensa: esp_wrover_kit: add documentation
add Espressif's ESP-WROVER-KIT dev kit board
documentation.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-16 20:49:27 -05:00
Glauber Maroto Ferreira d7b5f510be boards: xtensa: esp_wrover_kit: initial support
adds initial support to Espressif's ESP-WROVER-KIT
Development board.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-16 20:49:27 -05:00
Andy Ross 1a2fecec6d soc/intel_adsp: Unify Xtensa CPU reset between cores
Startup on these devices was sort of a mess, with multiple variants of
Xtensa and platform initialization code from multiple ancestries being
invoked at different places for different purposes.  Just use one code
path for everyone.

Bootloader entry starts with a minimal assembly stub that simply sets
WINDOW{START,BASE}, PS and a stack pointer and then jumps to C code.
That then uses the cpu_early_init() implementation from cAVS 2.5's
secondary cores to finish Xtensa initialization, and then flows
directly into the pre-existing bootloader C code to initialize cache
and memory and copy the HP-SRAM image, then it invokes Zephyr via a
simple C function call to z_cstart().

Likewise, remove the "reset vector" from Zephyr.  This was never a
reset vector, reset on these devices goes to a fixed address in a ROM.
CPU initialization is handled explicitly and completely in the
bootloader now, in a way that can be unified between the main and
secondary cores.  Entry from the bootloader now goes directly into
z_cstart() via a C call (via a single jump instruction placed at the
entry point address -- that's going away soon too once we're using a
unified link).

Now that vector table initialization happens in a uniform way, there's
no need to copy the VECBASE value during arch_start_cpu().

Finally note that this also reverts the
CONFIG_RESET_VECTOR_IN_BOOTLOADER kconfig variable added for these
platforms, because it's no longer a tunable and true always.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-12-14 18:43:05 -06:00
Glauber Maroto Ferreira ae345cbac4 soc: xtensa: esp32s2: dts: uart node refactoring
Not all boards use the same UART's defaults properties.

This commit updates device tree declarations by deferring
specific definitions to the board's DTS.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-12-09 19:57:10 -05:00
Andy Ross 4ee79fed81 soc/intel_adsp_cavs15: Use new IDC driver
Disable the use of the legacy IDC driver and IPM-based sched_ipi()
implementation.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2021-12-07 12:09:02 -05:00
Daniel Leung 5040f94dd6 boards: esp32: add note on using GDB stub
This adds note to the board documentation about using GDB stub
on the esp32 board.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-11-30 15:24:00 -05:00
Maureen Helm 525fa76f4d boards: xtensa: Use a CMake variable to set the rimage target name
Removes hardcoded logic in the west signing script that translates
Zephyr board names to rimage target names. Instead, use a cached CMake
variable set at the board level to define its respective rimage target
name. This eliminates the need to modify the west signing script when
new SOF-supported boards are introduced to Zephyr.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2021-11-17 19:44:35 -05:00
Maureen Helm 836651b453 drivers: gpio: Refactor drivers to use shared init priority
Refactors all of the on-chip GPIO drivers to use a shared driver class
initialization priority configuration, CONFIG_GPIO_INIT_PRIORITY, to
allow configuring GPIO drivers separately from other devices. This is
similar to other driver classes like I2C and SPI.

Most drivers previously used CONFIG_KERNEL_INIT_PRIORITY_DEFAULT or
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, therefore the default for this new
option is the lower of the two, which means earlier initialization.

Driver-specific options for off-chip I2C- or SPI-based GPIO drivers are
left intact because they often need to be initialized at a different
priority than on-chip GPIO drivers.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2021-11-15 14:38:55 -05:00
Filip Kokosinski 94428044e2 cmake: support multiple entries in board.cmake
Currently there is no way to support running a board on multiple
emulation platforms nor to choose a desired emulation platform for the
simulation to be run on. This commit introduces a new
SUPPORTED_EMU_PLATFORMS list, which defines available emulation
platforms for a given board.

Fixes #12375.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2021-11-12 21:33:42 -05:00
Marc Herbert af1dedf89c boards: intel_adsp: add curly braces around log data in debug mode
This commit makes absolutely no change to the output unless debug is
manually turned on. Debug can be turned on with this other code change:

--- a/boards/xtensa/intel_adsp_cavs15/tools/logtool.py
+++ b/boards/xtensa/intel_adsp_cavs15/tools/logtool.py
@@ -45,7 +45,7 @@ def main():
         else:
             etrace = QEMU_ETRACE

-    l = Loglist(etrace)
+    l = Loglist(etrace, True)
     l.print()

Below are two examples of the new debug output. For instance the empty
and duplicate (due to a bug) slot [33] is now much more obvious:

};  {[31] : 1434444: ssp_set_config(),
};  {[32] : 1485591: ssp_set_config(),
};  {[33] : };  {[33] : 1539091: ssp_set_config(),

In this other example it is now much clearer that [7] misses a
`\n` newline:

};  {[6] : 858361: starting dma_trace_init_complete()
};  {[7] : dma_tr_...() ret=0[00000005] <inf> main};  {[8] : ipc_dma..()
};  {[9] : entering dma_trace_enable
};  {[10] : entering dma_trace_buffer_init()

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-07 05:34:06 -05:00
Marc Herbert e4b453f5fc boards: intel_adsp: prefix "ADSP Reset" message with "invalid slot 0"
Unlike logtool.py, adsplog.py is not shielded from corrupted log data.
Lenghten the error message a bit and be more transparent about the
"invalid slot 0 => ADSP reset" assumption because it is usually but not
always true.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-07 05:34:06 -05:00
Marc Herbert 89bfee9975 boards: intel_adsp: suggest to unload driver when mmap fails in adsplog
When CONFIG_IO_STRICT_DEVMEM is set the logger script fails with a
cryptic `OSError: [Errno 22] Invalid argument`. Print a clue and
re-raise the OSError.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-07 05:34:06 -05:00
Marc Herbert 2fac69422c boards: intel_adsp: add comments explaining log IDs start from 1
The mismatch between the slot number and the sequence ("id") made me
suspect a bug for too long. Fix one related comment and add two more. No
code change.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-07 05:34:06 -05:00
Sylvio Alves ab91612a6d driver: esp32: I2C code refactoring
Use i2c_hal functions to enable support for
multiple SoCs.

Use DT compat to enable I2C from device
tree configuration

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-11-05 14:07:09 -04:00
Sylvio Alves d5aa5c2a77 drivers: esp32: uart: use hal functions
In order to have Espressif SoCs working with
the same uart drivers, all low level functions
are now replaced to hal_espressif HAL calls.

This also changes pinmux, gpio and uart
init order to meet its dependencies.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-11-03 16:47:32 -04:00
Sylvio Alves 3f9f299499 openocd: esp32: add debugging interface
Add openocd.cfg for all socs/boards.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-10-30 14:20:04 -04:00
Glauber Maroto Ferreira 2773984e4d soc: esp32s2: nvs: add NVS support using fixed partitions
add NVS support to esp32s2 using fixed partitions defined on DT

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-10-28 06:47:21 -04:00
Glauber Maroto Ferreira dcf26d72f5 soc: esp32s2: drivers: flash: add support
to host SPI Flash driver.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-10-28 06:47:21 -04:00
Lixin Guo 074bd00bcb soc: intel_adsp: Change loop time in adsplog.py
When build and run the tests manually with west, we could
build successfully, but can not get output after flashing.
It should rely on adsplog.py to get output,
and the cause is loop time too short to get output.
So, we change the loop time back to 1.

Signed-off-by: Lixin Guo <lixinx.guo@intel.com>
2021-10-22 18:09:15 -04:00
Sylvio Alves b0717d518e drivers: gpio: esp32: use dts and improve code checks
This PR updates GPIO driver to use DTS information
regarding gpio availability.

This also fixes interrupt handling and
also removes kconfig definition for GPIO port.

A few configuration checks were also added to
improve code usage.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-10-21 10:53:34 -04:00
Iuliana Prodan ad772693aa boards: xtensa: adsp: add support for imx8m board
Add support for i.MX8MP board by defining defconfig,
board configuration and device tree.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2021-10-20 19:08:50 -04:00
Pavlo Hamov 89e907d4f0 drivers: serial: esp32: Unify serial driver for esp32 & esp32s2
1) Allow use of interrup driven instance.
   ROM implementation could be selected via dts compatiable.

2) Use UART rx fifo and timeout interrupt for end of message detection.
   Added to decrease interrupts count on data reception

3) Use ESP_LL api.

Signed-off-by: Pavlo Hamov <p.hamov@venstar.com>
2021-10-13 10:14:23 -04:00
Glauber Maroto Ferreira 7468121f19 esp32s2: drivers: spi: add driver support
and hooks to spi_loopback test.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-10-10 14:52:41 -04:00
Sylvio Alves 06a624f2a3 soc: esp32: add west debug support
This adds west debug support for ESP32
and ESP32S2 boards using custom openocd tool.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-10-08 12:59:55 +02:00
Daniel Leung ed83474b10 interrupt_controller: remove CONFIG_DW_ICTL_OFFSET
This kconfig is only used for one board and is simply an alias
to another kconfig. So remove CONFIG_DW_ICTL_OFFSET and apply
the value directly to the other kconfig.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-10-06 19:43:48 -04:00
Glauber Maroto Ferreira c7ce4b2016 esp32s2: drivers: entropy: add support
also needed for wifi driver support.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-10-01 10:51:37 -04:00
Sylvio Alves fd3696a216 cmake: esp32: use zephyr defined python tool
This configures esptool, partition generator and
external bootloader build to use python tool defined
in Zephyr's context environment. This fixes error
regarding missing /usr/bin/python when python2.7 is not
installed in users's machine.

Partition table offset is also updated as part of
this change.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-09-28 20:06:25 -04:00
Sylvio Alves 0794bdde09 docs: esp32: update environment setup content
Add toolchain path updates into documentation.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-09-28 20:06:25 -04:00
Glauber Maroto Ferreira e605efc698 esp32s2: drivers: clock_control: add support
add clock control driver support for esp32s2 SoC.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-09-27 22:02:08 -04:00