Commit Graph

7720 Commits

Author SHA1 Message Date
Gerard Marull-Paretas dacb3dbfeb iterable_sections: move to specific header
Until now iterable sections APIs have been part of the toolchain
(common) headers. They are not strictly related to a toolchain, they
just rely on linker providing support for sections. Most files relied on
indirect includes to access the API, now, it is included as needed.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-22 10:42:30 +02:00
Andy Sinclair 1741a02ba9 boards: shields: npm1300ek: Added button to shield overlay
New silicon revision supports reading of GPIO inputs.
Button added to shield overlay to support new functionality.

Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
2023-05-22 10:15:46 +02:00
Kamil Serwus a206e8ce53 sam: atsamc21: enable CAN module in c21 board
Configure pinmux pins at samc21 xpro board. Boards has
hard-configured pins for CAN0 and CAN1 module.

Signed-off-by: Kamil Serwus <kserwus@gmail.com>
2023-05-22 08:03:58 +00:00
Bill Waters 61246e2592 driver: adc: infineon: Adding ADC driver support to cy8cproto_063_ble
- The boards\arm\cy8cproto_063_ble board now has ADC enabled
- This includes overlay files for the test app and sample app

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2023-05-19 20:22:51 -04:00
Sreeram Tatapudi 5781478fd5 boards: arm: Fix link to the default KConfig
The link to the default KConfig for CY8CPROTO-063-BLE in the board's
index.rst is broken and leads to a HTTP 404 error.

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2023-05-18 18:16:48 -04:00
Sumit Batra 815b8fc664 board: Adds MIMXRT1062-FMURT6 board support package
Also enables all the usable CAN, Ethernet, I2C, PWM,

SPI, UARTs interfaces for this board

Signed-off-by: Sumit Batra <sumit.batra@nxp.com>
2023-05-18 14:08:06 -05:00
Fabio Baltieri e4780ef02d input: convert the Nuvoton npcx keyboard scan driver to input
Convert the NPCX keyboard scan driver to the input subsystem and add the
input to kscan compatibility driver to maintain functionality with the
current API.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-05-18 09:32:33 +02:00
Daniel Leung cfd4a3fc78 boards: intel_adsp_ace20_lnl: build with Zephyr SDK
intel_adsp_ace20_lnl can also build with intel_adsp_ace15_mtpm
toolchain in Zephyr SDK as the SoC is quite similar. This allows
twister to build in CI to avoid any breakage.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2023-05-17 18:58:54 -04:00
Laurentiu Mihalcea ca3dd23846 boards: xtensa: Set DCACHE_LINE_SIZE for all SOF-supported NXP SoCs
This commit sets the DCACHE_LINE_SIZE config for all xtensa-based
NXP SoCs for SOF usage.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-05-17 18:34:24 -04:00
Laurentiu Mihalcea 41c5eac8ca boards: xtensa: Set DCACHE_LINE_SIZE for all SOF-supported Intel SoCs
This commit sets the DCACHE_LINE_SIZE config for all xtensa-based
Intel SoCs for SOF usage.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2023-05-17 18:34:24 -04:00
Michele Balistreri 2bcfd4f7e3 boards: arm: mimxrt1064_evk: correct PWDN pin of the CSI interface
according to schematics and NXP's sample code, the correct PIN for the
PWDN pin is iomuxc_gpio_ad_b1_02_gpio1_io18

Signed-off-by: Michele Balistreri <michele@bitgamma.com>
2023-05-17 15:08:31 -05:00
Mike J. Chen 7c0784db36 mimxrt595_evk: add i3c
Add i3c to device tree and the clock init to soc.c

Signed-off-by: Mike J. Chen <mjchen@google.com>
2023-05-17 09:34:31 -05:00
Marcin Niestroj 37c6136385 boards: arm: xiao_ble: add UF2 runner
Include UF2 runner for the XIAO BLE to allow basic flashing over UF2
without any additional hardware.

Tested with both `xiao_ble` and `xiao_ble_sense` boards.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-05-17 11:06:10 +00:00
Sreeram Tatapudi ea591e2899 drivers: bluetooth: Add Infineon Bluetooth driver
Add initial version of the Bluetooth driver for
the cy8cproto_063_ble board

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2023-05-17 09:59:36 +03:00
Manimaran A f8c8ee65be drivers: pinctrl: Microchip XEC PINCTRL glitch fix
Glitches were observed if a GPIO pin was configured by
ROM to a non-default state and then Zephyr PINCTRL
reconfigured the pin. The fix involves using the correct
PINCTRL YAML output enable and state flags. Reading the
current spin state and reflecting into new pin configuration
if the pin is output and the drive low/high properties are
not present. We also take advantage of GPIO hardware reflecing
the alternate output value in the parallel output bit before
enabling parallel output mode. Interpret boolean flags with
both enable and disable as do not touch if neither flag is
present. We give precedence to enable over disable if both
flags mistakenly appear. Note, PINCTRL always clears the
GPIO control input pad disable bit.

Signed-off-by: Manimaran A <manimaran.a@microchip.com>
2023-05-16 18:52:44 -04:00
Mahesh Mahadevan e3c5e9e058 pm: rt6xx: Enable OS Timer as wakeup source
Enable os_timer as a wakeup-source in the board
dts file.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-05-16 18:19:35 +02:00
Mahesh Mahadevan df26e99637 pm: rt5xx: Enable OS Timer as wakeup source
1. Enable os_timer as a wakeup-source in the board
   dts file.
2. Enable PM_DEVICE when PM is enabled.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2023-05-16 18:19:35 +02:00
Wojciech Slenska 7b5c508d4f boards: arm: stm32h573i_dk: Enable aes
Activate the AES node in the stm32h573i_dk board.

Signed-off-by: Wojciech Slenska <wsl@trackunit.com>
2023-05-16 18:19:26 +02:00
Siyuan Cheng a1982cdecd Board: nsim_hs: fix nsim dccm size property
Actual DCCM size is 100000 in nsim_hs_mpuv6, nsim_hs
and nsim_hs3x_hostlink, but their nsim property is
40000. Now fixed the difference to avoid data access
to unpopulated region during picolibc malloc heap init.
In minimal libc, it is set not using malloc as default.

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2023-05-16 12:10:58 -04:00
Stephanos Ioannidis 8a655749e0 boards: qemu_x86_tiny: Place Newlib-nano into pinned sections
This commit updates the qemu_x86_tiny linker script to place the
Newlib-nano text and rodata sections into the corresponding pinned
sections so that they are accessible.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-16 01:50:00 +09:00
Filip Kokosinski a4902b1c35 boards/arm/efr32xg24_dk2601b: add BLE support
This commit adds BLE support to the `efr32xg24_dk2601b` board. It also
modifies the SiLabs BT HCI driver to accomodate the EFR32xG24 SoC
series.

Signed-off-by: Filip Kokosinski <fkokosinski@antmicro.com>
2023-05-15 13:09:34 +02:00
Marcin Niestroj a387f893d2 boards: arm: xiao_ble: increase regulator startup to 3ms
900us regulator startup time was chosen based on tests with single board,
when used directly after 'jlink' flash runner.

It seems that this is not enough when board is reset using RESET button.
Additionally some boards require even more startup time in order to
successfully communicate with LSM6DS3TR-C IMU.

Increase regulator startup time from 900us to 3ms, which seems to be good
enough.

Reported-by: Matthew MacGregor <matthew.macgregor.g@gmail.com>
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2023-05-15 10:52:04 +00:00
Yves Vandervennet 0f87666126 i2s : mimxrt595_evk_cm33: enablement of driver
board:

 - update device tree to use flexcomm devices to the chip design
 - enable clocks (soc init file)
 - setup connections for loopback test in system controller (board init
   file)

tests:

 - update board files (overlay, conf)

Signed-off-by: Yves Vandervennet <yves.vandervennet@nxp.com>
2023-05-12 13:50:33 -05:00
Maxin John 4281a49a16 boards: arm: mimxrt1060_evk: add pwmled
Add green_pwm_led

Tested using samples/basic/fade_led/

Updated mimxrt1060_evkb.dts as FLEXPWM not routed to LED on this EVK

Signed-off-by: Maxin John <maxin.john@gmail.com>
2023-05-12 13:39:33 -05:00
Jim Norton a2e31220f1 boards: arm: mimxrt1050_evk_qspi: correctly set pyocd target argument
When building for mimxrt1050_evk_qspi board, runners.yaml needs
to have the pyocd arg target set to mimxrt1050_quadspi so that
west knows to access Quad SPI instead of hyperflash.

Signed-off-by: Jim Norton <notronrj@gmail.com>
2023-05-12 13:04:08 -05:00
Alberto Escolar Piedras 404ffa06bb nrf52_bsim: Add command line option to control re-sync offset
Some users use this simulated board interactively
(even though it is not recomended).
In that case, they may want to perceive a relatively smooth
time flow.
By default the maximum resynchronization offset is set at
1 second.
When running with a simulation speed close to real time,
this results in the simulated board jerking and pausing in
time 1 second at a time when there is no radio activity.
With this new option, users can set a resynchronization
offset of, for ex., 10 ms, which would give the illusion
of time progressing smoothly.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-12 14:19:03 +02: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
Dave Rensberger b116f0a889 boards: Board definition for the Raspberry Pi Pico W.
Effort has been made to abstract the features that are common
to both the Pico and Pico W into a shared file when possible.
This commit does not include the addition of bluetooth or wifi
drivers for the W's Infineon module.

Signed-off-by: Dave Rensberger <davidr@beechwoods.com>
2023-05-12 10:04:03 +02:00
TOKITA Hiroshi 6b8d0dcb96 boards: arm: adafruit_kb2040: Support flashing with UF2 runner
Add support UF2 runner to use `west flash`.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2023-05-12 09:59:18 +02:00
Andreas Sandberg 5ca33e20a8 drivers: ssd16xx: Add support for partial refresh profiles
Add support for partial refresh profiles. This makes it possible to
use partial refresh on generation 2 devices which are able to store
partial refresh LUTs in OTP.

Partial refresh is only enabled if a partial profile has been
provided. The display will use the full refresh profile if in this
case.

Devices that need custom LUTs and voltages can specify them separately
for the full and partial profiles. The controller will be reset when
changing profiles which means that profiles always override the
default reset values. This means that it is, for example, possible to
use default values and LUTs from OTP for a full refresh and a custom
profile for partial refreshes.

For example, to use a GoodDisplay GDEY027T91 with partial refresh
simply use the following device tree fragment:

display: ssd1680@0 {
	compatible = "solomon,ssd1680";

	spi-max-frequency = <4000000>;
	duplex = <SPI_HALF_DUPLEX>;
	reg = <0>;

	dc-gpios = <&arduino_header 15 GPIO_ACTIVE_LOW>;
	reset-gpios = <&arduino_header 14 GPIO_ACTIVE_LOW>;
	busy-gpios = <&arduino_header 13 GPIO_ACTIVE_HIGH>;

	/* Enable the built-in temperature sensor */
	tssv = <0x80>;

	width = <264>;
	height = <176>;

        /* Enable partial refresh using built-in LUT */
	partial {
	};
};

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-05-11 14:40:50 -07:00
Andreas Sandberg 40437c675c drivers: ssd16xx: Update DT bindings for multiple profiles
Update the device tree bindings for the SSD16xx driver to make it
possible to specify multiple refresh profiles.

The only profile currently supported is the 'full' profile.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-05-11 14:40:50 -07:00
Andreas Sandberg 5f781f4b11 drivers: ssd16xx: Use device-specific compatibles
The SSD16xx driver currently provides basic support for most chips in
the Solomon Systech SSD16xx range of e-paper drivers. We currently use
the SSD1608, SSD1673, SSD1675A, and SSD1681 in various boards
supported by Zephyr.

The main user-facing difference between the various SSD16xx chips is
the resolution they support (sources & gates), but there are other
differences as well. For example:

 * 8 or 16 bits used to represent x coordinates
 * 8 or 16 bits used to represent y coordinates
 * Differences in refresh configuration (SSD16XX_CMD_UPDATE_CTRL2)
 * Differences in LUT sizes

The driver currently assumes that the user specifies the number of
bits used to describe coordinates. However, as we add support for more
chips, more of the differences will become apparent and need
workaround.

Comparing data sheets from different chips in the SSD16xx range
suggests that there are (at least) two different generations
present. These differ in the size of the LUTs they expect and the way
they handle partial refresh. This impacts register layout where
SSD16XX_CMD_UPDATE_CTRL2 uses bit 3 selects "mode 2" whereas older
devices uses this for a mode referred to as "initial".

In order to add support for partial refresh in newer devices, we need
to be able to distinguish between the different generations of the
chip. It might be possible to add a DT property to indicate the
revision, but that seems like a bit of an anti-pattern and it would be
hard for users to specify the correct chip generation.

This change introduces chip-specific compatible strings instead of the
generic SSD16xx. There is unfortunately clear pattern that can be used
to distinguish different generations, so the full chip name must be
specified. A benefit of this is that we don't need to specify the
width of the fields describing coordinates in device trees.

Signed-off-by: Andreas Sandberg <andreas@sandberg.uk>
2023-05-11 14:40:50 -07:00
Iuliana Prodan 1ef52a5f59 boards: xtensa: nxp_adsp_imx8m: include pinctrl dtsi in overlay
Move the pinctrl dtsi (mimx8ml8dvnlz-pinctrl.dtsi) from board dts to
_uart overlay since, now, for nxp_adsp_imx8m, this is used only with
uart support for certain samples.

This also fixes a build error on SOF, where we don't take the nxp_hal
and the dtsi cannot be found.

Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
2023-05-11 13:39:59 -05:00
Daniel DeGrasse d2465dc607 boards: arm: mixmrt1040_evk: enable RT1040 EVK I2C support
Enable support for RT1040 EVK. This support was verified using the I2C
target test.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:35:40 -05:00
Daniel DeGrasse cc3ca993ce boards: arm: mixmrt1040_evk: enable SPI support
Add support for SPI on RT1040 EVK, tested using
tests/drivers/spi/spi_loopback sample. Transfers are enabled using DMA
mode, with LPSPI1.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:35:40 -05:00
Daniel DeGrasse 77f8848f8e boards: arm: mimxrt1040_evk: enable ADC support
Enable ADC support for RT1040 EVK. Tested using samples/drivers/adc,
using channels 3 and 4 of ADC0.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:35:40 -05:00
Daniel DeGrasse 0d046666f0 boards: arm: mimxrt1040: enabled PWM
Enabled PWM output on J16.6, using tests/drivers/pwm/pwm_api.
This board does not connect a PWM output to an LED, so only
the PWM testcase was verified to function.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:35:40 -05:00
Daniel DeGrasse 1afe867107 boards: arm: mixmrt1040_evk: add RT1040-EVK board
Add RT1040 EVK board definition. This board port currently enables
UART and GPIO only. Programming is supported by JLink host tools.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:35:40 -05:00
Sylvio Alves c391832342 pinctrl: esp32: fix byte garbage before banner
All ESP32 boards shows a garbage char before Zephyr banner.
This happens during uart TX pin configuration that current
lacks setting as output high.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2023-05-11 08:26:52 -04:00
Marc Desvaux 016e14a3d8 boards: arm: nucleo_h743zi: add dma supported
add dma supported on board nucleo_h743zi.
the twister test is now enable for tests/drivers/adc/adc_dma on board
nucleo_h743zi.
used on driver st_stm32_adc with CONFIG_ADC_STM32_DMA=y.


Signed-off-by: Marc Desvaux <marc.desvaux-ext@st.com>
2023-05-11 10:04:54 +02:00
Daniel DeGrasse 7c228c9042 drivers: display: stm32_ltdc: Update LTDC driver to use LCDIF binding
Update LTDC driver to use LCDIF bindings, to simplify bindings
between LCD interface controller IP blocks.

Boards supporting the LTDC are also updated to use the properties as
declared by the new lcd controller binding

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:04:24 +02:00
Daniel DeGrasse 746758d1f6 drivers: display: update MCUX ELCDIF driver to use new lcdif binding
Update MCUX ELCDIF driver to use new LCDIF bindings. This
update also adds support for configuring the root clock of
the ELCDIF module based on the pixel-clock property to the
RT11xx SOC clock init, as this SOC series has this IP block

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:04:24 +02:00
Daniel DeGrasse a4afa7d164 drivers: update DCNANO LCDIF IP to use shared LCDIF binding
Update DCNANO LCDIF IP to use shared lcd interface binding. This
requires changes to the RT5xx SOC and RT595 EVK, as this SOC
uses the LCDIF IP, and configures the clock for it based off
the new pixel-clock property.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:04:24 +02:00
Daniel DeGrasse 98408b1733 dts: mipi_dsi: introduce phy-clock property
Introduce phy-clock property, which is used by MIPI devices to determine
the target clock frequency for the MIPI PHY. This property can vary
depending on the attached display and target framerate.

Update the MIPI DSI MCUX driver to utilize this property to configure
the MIPI host, and update the RT500 clock initialization to configure
the MIPI root clock based on this property.

Remove dphy-clk-div property from the MIPI DSI 2L binding, as it
is redundant with this change.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-05-11 10:04:24 +02:00
Francois Ramu e9dd412a3d boards: arm: stm32h7b3 disco kit has external octo NOR flash controller
Add the alias to the MX25LM512 octo-NOR flash for the spi-flash node.
Remove the overlay for the samples/drivers/spi_flash as no MDMA driver
exists yet for the stm32h7.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-05-10 19:13:45 +02:00
Johann Fischer c4e188cff3 boards: cyclonev_socdk: enable USB device controller
Currently, the usb_dc_dw driver is not enabled for any platform.
Allow to build the driver for cyclonev_socdk. Subsequent patches
will allow the driver to be used on additional platforms.
Enable USB device controller and use use new snps,dwc2 compatible.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-05-10 20:07:04 +09:00
Lucas Tamborrino a35dd4b926 drivers: dma: esp32s3: Add DMA support for esp32s3
Add GDMA support for esp32s3.
Remove suspend/resume since they are optional and do
the same as start/stop.
Fix possible null pointer derreference.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2023-05-10 10:15:05 +02:00
Sreeram Tatapudi e461b6e09e dts: infineon: SCB declaration
Declare SCB nodes to be used as UART/SPI/I2C by the boards, Move
common declarations from psoc6_02 to the parent dtsi file

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2023-05-10 16:49:59 +09:00
Sreeram Tatapudi 538b4075c8 dts: infineon: SCB declaration
Declare SCB nodes to be used as UART/SPI/I2C by the boards

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2023-05-10 16:49:59 +09:00
Sreeram Tatapudi bb8a8e4ab1 boards: arm: Board Creation for cy8cproto_063_ble
Add initial version of cy8cproto_063_ble board

Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
2023-05-10 16:49:59 +09:00