Commit Graph

4946 Commits

Author SHA1 Message Date
Embla Flatlandsmo fb51823228 boards: arm: Add adafruit_itsybitsy_nrf52840 board
Adds support for the Adafruit ItsyBitsy nRF52840 Express.

This board ships with the UF2 bootloader, so the device has
been set up so that Zephyr applications are flashed the
same way that other (Adafruit) firmware is flashed with the
UF2 bootloader.

This has been tested locally, and the button, blinky and
led_apa102 samples run without problems.

Signed-off-by: Embla Flatlandsmo <embla.flatlandsmo@gmail.com>
2022-12-07 10:06:11 +00:00
Francois Ramu 7c6fa7c370 boards: arm: enabling hsi48 for SDMMC peripheral on stm32 platforms
The different boards with stm32 which have node enabled in their DTS
also requires the HSI48 clock to be enabled.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Francois Ramu d5e304621d boards: arm: enabling hsi48 for USB peripheral on stm32 platforms
The different boards with stm32 which have node enabled in their DTS
also requires the HSI48 clock to be enabled.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Francois Ramu 4f42512d8e boards: arm: enabling hsi48 for RNG peripheral on stm32 platforms
The different boards with stm32 which have node enabled in their DTS
also requires the HSI48 clock to be enabled.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Francois Ramu b3ccd3abc6 boards: arm: nucleo_wb55rg enables hsi48 for Bluetooth
The nucleo_wb55rg platform has Bluetooth feature that
requires the HSI48.
The board DTS enables the HSI48MHz clock for that purpose.
And also selects it as the source (default) of the CLK48.
Note that the clk48 node must be enabled for any another source.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Daniel DeGrasse 34b88e78f8 boards: mimxrt1160_evk: Update RT1160 documentation for dual core support
Update rt1160 documentation for dual core support

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse b09f2b8990 boards: mimxrt1160_evk: enable messaging unit
Enable messaging unit support for RT1160 EVK

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 6688fa2a39 boards: mimxrt1160_evk: add support for loading M4 image from OCRAM
Add support for loading M4 image from OCRAM when running with dual core
operation. The M7 core will copy the M4 image from flash into OCRAM, and
the M4 core will execute it there.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 970d125b05 boards: mimxrt1160_evk: Refactor flexspi partition definition
Flexspi partition definition is shared between both cm4 and cm7 core.
Refactor it to be in shared dtsi file. This will ensure that both cores
share the same partition information, for dual core operation.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 318751a4db boards: mimxrt1170_evk: Update RT1170 documentation for dual core support
Update RT1170 documentation for dual core support

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 10714466c3 samples: ipc: openamp: Enable openamp sample for iMX.RT1170 EVK
Enable the openamp sample for RT1170EVK. CM4 core has a custom DTS
overlay to use LPUART2 for console information, and use a secondary GPT
timer for the system tick.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 0f6b7258e3 boards: mimxrt1170_evk: Enable LED1 node
LED1 node is enabled, to provide a secondary led for the CM4 core.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse b80b35f196 boards: mimxrt1170_evk: enable messaging unit
Enable messaging unit support for RT1170 EVK

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse be5296e307 boards: mimxrt1170_evk: add support for loading M4 image from OCRAM
Add support for loading M4 image from OCRAM when running with dual core
operation. The M7 core will copy the M4 image from flash into OCRAM, and
the M4 core will execute it there.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 63266e473a boards: mimxrt1170_evk: Refactor flexspi partition definition
Flexspi partition definition is shared between both cm4 and cm7 core.
Refactor it to be in shared dtsi file. This will ensure that both cores
share the same partition information, for dual core operation.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse 398d90ff48 dts: nxp_rt11xx: Refactored RT11xx CM7 and CM4 DTS
RT1170 and RT1160 CM7 and CM4 cores have the same set of differences.
Merge the DTS files for both CM4 and CM7 cores, to create generic
rt11xx_cm4 and rt11xx_cm7 files.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Gerard Marull-Paretas 649a8195b3 drivers: regulator: pca9420: refactor mode handling
- Similar to what was done for other parts of the driver, remove any
  register specification from Devicetree (modesel-reg/mask)
- Keep all the information in the driver, and define modes as "numbers",
  e.g. PCA9420_MODE0: 0, PCA9420_MODE1: 1, etc.
- Bindings provide IC defaults now (all modes allowed 0/1/2/3 and
  initial mode set to 0).
- When mode is controlled via the MODESEL0/1 pins (ie directly by an iMX
  MCU using the dedicated PMIC_MODE0/1 pins), the driver will not allow
  to select a mode (it is not possible). This mode is now enabled by
  setting `nxp,enable-modesel-pins` in Devicetree. When enabled, all the
  allowed modes are configured to be selectable via pins. When disabled,
  mode can be set via I2C (using TOP_CNTL3 MODE0/1_I2C fields)

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-05 19:10:55 +01:00
Dylan Hung 8251ce5b9d boards: arm: ast1030_evb: enable reset driver
Enable reset driver for ast1030_evb.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
2022-12-05 14:36:16 +01:00
Mahesh Mahadevan b79e744043 boards: mimxrt595evk: Setup the regulator for Run mode
Setup the appropriate voltage in the PMIC based on the
core frequency.
Add labels to the regulators for easy access to the nodes.
Add CONFIG_REGULATOR to the defconfig so we can setup the
PMIC voltages during platform startup.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-12-05 11:03:14 +01:00
Georgij Cernysiov a6425f11b2 boards: arm: stm32h7b3i_dk: fix OSPI flash size
The OSPI flash driver expects size in bits.
Use bits instead of bytes for the size.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-12-02 11:28:46 +01:00
Georgij Cernysiov 7d5c158b09 boards: arm: b_l4s5i_iot01a: fix OSPI flash size
The OSPI flash driver expects size in bits.
Use bits instead of bytes for the size.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-12-02 11:28:46 +01:00
TOKITA Hiroshi afcf28ee37 boards: arduino_nano_33_ble: Support TRACE32 (GDB-Frontend)
Lauterbach provides the particular version of the TRACE32 limited to
use with the Arduino Nano 33 BLE. The license of it ties to Arduino Nano
33 BLE hardware serial number. It also works with the ZephyrRTOS.

Add configuration for GDB-Frontend version of TRACE32.

Limitation: This patch support only 'debug' command

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2022-12-01 09:46:38 -08:00
Gerard Marull-Paretas e0c8de1e39 drivers: regulator: fixed: simplify implementation
Remove regulator-fixed-sync specialization, create a single driver that
is always synchronous. The asynchronous part is rarely/never used, so
let's keep things simple for now.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-30 15:49:30 +01:00
Manuel Arguelles 2477de86f0 boards: arm: s32z270dc2_r52: enable System Timer
Enable RTU System Timer Module (STM) instances on
s32z270dc2_r52 boards. Module clock frequency is fixed to
133.333333 MHz.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-11-30 11:29:39 +01:00
Manuel Arguelles 10c9e40566 soc: nxp: s32ze: add option to select RTU index
Add a hidden Kconfig option to select the index of the target RTU
(Real-Time Unit) subsystem. This index can be used by peripheral
drivers, for example, to know the peripheral instance index since the
HAL is index-based.

Signed-off-by: Manuel Arguelles <manuel.arguelles@nxp.com>
2022-11-30 11:29:39 +01:00
Erwan Gouriou 5f4f4e5cba boards: stm32l496g_disco: Add USB support
Enable USB on stm32l496g_disco

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-11-30 11:28:30 +01:00
Gerson Fernando Budke 1d4ef686ec boards: stm32l562e_dk_ns: Enable rtc
Enable RTC for non-secure image.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2022-11-29 13:40:27 +00:00
Gerard Marull-Paretas a78bdbce89 dt-bindings: regulator: pca9420: reorganize headers/macros
pca9420_i2c.h has neem remamed to pca9420.h (device only has I2C, so
it's kind of redundant to have i2c in the header name).

pmic_i2c.h was again not generic but designed specifically for PCA9420.
All its macros have been renamed, s/PMIC/PCA9420, and moved to the
pca9420.h header.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Gerard Marull-Paretas 9219d3d2b5 drivers: regulator: pca9420: fix VIN current limit setting
The driver had a conceptual issue regarding current limitation. PCA9420
is able to limit the current flowing through VIN, ie input current. This
is a global setting, not individual to each regulator. This patch
creates a new DT property: nxp,vin-ilim-microamp to specify such limit.
It is applied when the device is initialized.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Gerard Marull-Paretas dcd63d288f drivers: regulator: pca9420: refactor voltage range handling
Voltage ranges were hardcoded in Devicetree, however, things can be
significantly simplified by using the recently introduce linear ranges
API. All values are now computed using information stored in the driver,
so there is no need to store any lookup table in ROM. Code should now
both be faster in average and consume less ROM.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Gerard Marull-Paretas 048e415eee dts: bindings: regulator: nxp,pca9420: add maximum current
Maximum current was not specified. Even though not used, yet, it is a
valuable information. Values taken from PCA9420 datasheet, Figure 1
"Simplified block diagram".

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Gerard Marull-Paretas 1caedf12dd drivers: regulator: pca9420: do not expose registers in DT
Regulator registers were set for each BUCK/LDO in DT, likely because of
the way the devices were instantiated. When using a generic iterator,
ie, DT_INST_FOREACH_CHILD, there's no way to differentiate the child
being _parsed_. Since instantiation happens now based on child node
names, we are able to know which registers each devices gets assigned at
the driver level. This greatly simplifies Devicetree, and it actually
removes information that is not strictly hardware description from it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Gerard Marull-Paretas f4713fb7fb drivers: regulator: pca9420: fixed child instantiation
Right now the PCA9420 driver instantiates by iterating over all
children. This is somewhat problematic, for a few reasons:

- Since instantiation is generic code, we're forced to put internal
  details on Devicetree, e.g. reg-masks. After this change, this will no
  longer be necessary.
- We take all children, regardless of what is defined in DT.

While we have no means to validate Devicetree node names as in Linux
dtschema, this approach allows us to have per-child specific
initialization code. This is somewhat similar to the Linux approach.

Note: nodelabels have been removed, since they were not used.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Gerard Marull-Paretas f89405ca8d drivers: regulator: pca9420: use standard regulator-min|max-microvolt
regulator.yaml provides now standard properties for minimum/maximum
voltage.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-29 11:54:31 +01:00
Francois Ramu ec3dd57320 boards: arm: stm32l4s5 disco kit with octospi on board
Activates the NOR octoflash MX25r6435f present on the disco kit
b_l4s5i_iot02a from STMicroelectronics.
The connection is made through the OSPIM peripheral for the
octospi1 pins.
QUAD spi mode is selected but SPI or DUAL are also supported.
SPI Max freq is given by the datasheet
and is compatible with Voltage Range 2.
DMAMUX is used for ospi transfer on request 40.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-29 09:32:22 +00:00
Martin Jäger 194f4f10a4 boards: olimex_lora_stm32wl_devkit: enable MPU and HW stack protection
The random MPU faults experienced before were actually caused by a too
small system work queue stack for LoRaWAN in a custom application.

PR #52550 adds a compile-time check to avoid such issues in the future.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-11-28 11:18:27 -06:00
Dat Nguyen Duy 6d866b62bf drivers: spi: introduce SPI driver for NXP S32
This introduces SPI driver for NXP S32 platform

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2022-11-24 09:37:24 +01:00
Francois Ramu 819cb95438 boards: arm: stm32l562e_dk includes the sdfp table for its octoflash
Moving the SDFP table property from the sample to the device tree
of the stm32l562e_dk disco kit.
The MX52lm51245 Nor octoflash mounted on this boarddoes not
provide its own internal SFDP parameters.
With this patch, the SFDP table is given by the board DTS.
So that the stm32 ospi driver can initialized the  NOR octoflash
correctly with the parameter from that property instead of
relying on the nor octoflash.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-24 09:37:07 +01:00
Marek Pieta 8b15511def boards: thingy52_nrf52832: Remove regulator sync from vdd-pwr-ctrl
The regulator defines non-zero startup-delay-us, so
regulator-fixed-sync cannot be used.

Signed-off-by: Marek Pieta <Marek.Pieta@nordicsemi.no>
2022-11-23 16:14:02 +00:00
Francois Ramu 0c4cff9cda tests: drivers: uart async on stm32u585 disco kit
This commit configures the testcase to run on the
stm32u585 target boards. USART3 is selected
Pins Tx and Rx (PD8 PD9 on CN14) must be connected on the HW board
to pass the test.
The USART transfer uses the GP DMA transfer with request
28 and 29 on 2 DMA channels (0-15).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-23 11:32:27 +01:00
Francois Ramu 7a3e1a7320 boards: arm: stm32f3 boards have no FPU by default
Remove the CONFIG_FPU for the stm32f3_disco and
stm32373c eval boards.
The FPU exists like on many other stm32 series
but CONFIG_FPU has not to be defined here.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-22 14:28:13 +00:00
Francois Ramu b61934231b boards: arm: stm32 disco kit with octoflash description
No sfdp-table property given by the DTS but received from
the octoflash Node rely on the issued by the read sfdp command.
Note that the size of the mx25lm51245 flash controller
is expressed in bits (ie 512Mbits or 64 Mbytes).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-22 14:26:57 +00:00
Gerard Marull-Paretas 9ebb9abab7 boards: nrf52833dk|nrf21540dk: fix UART1 pinctrl instructions
nRF52840DK documentation was updated with details on how to change UART1
pins. nRF52833DK and nRF21540 boards has the same incorrect instructions
and were not fixed. Do it now.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-22 13:30:08 +01:00
TOKITA Hiroshi d6c814456e boards: arduino_nano_33_ble: add pyocd support
Add support to debugging and flashing with the pyocd.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
2022-11-22 13:18:11 +09:00
Daniel DeGrasse 2e49ca986e boards: mimxrt595_evk_cm33: Remove FLASH_SIZE setting
Remove FLASH_SIZE setting, as this is now set from the SOC level via the
flash chosen node. Also, correct the flash controller node to the flash
device that implements flash support

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-11-21 13:03:26 +01:00
Daniel DeGrasse 8170bf7ebf boards: mimxrt685_evk_cm33: Remove FLASH_SIZE setting
Remove FLASH_SIZE setting, as this is now set from the SOC level via the
flash chosen node. Also, correct the flash controller node to the flash
device that implements flash support

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-11-21 13:03:26 +01:00
Guillaume Gautier 68f6ebfd6c boards: arm: Add support for rtc for Nucleo F103RB, L4A6ZG & F103 mini
Add LSI clock and RTC clock source for Nucleo F103RB, L4A6ZG and
F103 mini to resolve a regression concerning the RTC counter

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2022-11-21 10:14:41 +01:00
Francois Ramu 94cf0a0c7c boards: arm: stm32wb55 nucleo board actual flash size
Adjust the flash size of the nucleo_wb55rg board from
STMicroelectronics to the exact flash as defined by the DTS
of the stm32wb55Xg.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-11-18 11:59:48 +00:00
Emilio Benavente a3e3cbc3f9 soc: Setup up Kconfigs for safe flash code to load in SRAM
Added a selecion on rt6xx that allows the loading of
the safe flash clock initialization to be inside SRAM
if the user code is being executed from flash.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2022-11-17 13:59:39 -06:00
Miguel Dardenne 44c27e8134 boards: adafruit m0 basic proto: Do not enable GPIO by default
Not needed for basic operation and to align with changes on
adafruit m0 lora from https://github.com/zephyrproject-rtos/zephyr/pull/50625

Signed-off-by: Miguel Dardenne <miguel.dardenne@gmail.com>
2022-11-17 12:35:55 -06:00