Commit graph

8801 commits

Author SHA1 Message Date
Henrik Brix Andersen
1ff7c224a0 dts: bindings: pinctrl: add Xilinx Zynq-7000 pinctrl devicetree binding
Add devicetree binding for the Xilinx Zynq-7000 series pinctrl.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2022-06-28 20:46:11 +02:00
Aymeric Aillet
14ff2b1f88 drivers: clock: rcar: Deploy a driver for each soc
This commit rewrite renesas R-Car clock driver in order
to be able to support any new SoC easier.

This work is so creating a clock driver per soc alongside a
common driver for all reneasas r-car boars.

- drivers: create a driver per soc
  - create a common driver
  - create a common header used by soc & common driver
  - create a soc specific driver calling for common driver

- dts: use new compatible
  - use old yaml as common yaml
  - create a new "child" yaml to define the new compatible field
  - change compatible in device tree

As in Linux, the driver can support both r8a77951 and r8a77950
SoC's so we decided to name the new driver as in Linux with Zephyr
prefix : "clock_control_r8a7795_cpg_mssr.c".

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2022-06-28 18:11:44 +02:00
Aymeric Aillet
d8f66b7343 dts: rcar: Rework clock definition
This commit is reworking clock definition in
order to match linux filetree and definition
as much as possible.

- dt-bindings: rework renesas clocks dt-bindings
  - regroup renesas related dt-bindings in a folder
  - rename renesas rcar common dt-binding to match linux name
  - add soc specific dt-binding matching linux name
  - soc dt-bindings are defining clocks matching linux names

- dts: use new clocks names
  - move clocks definitions in SoC layer for each core clock entry

- driver: use new clocks names

As seen in this commit, we are declaring clocks for "R8A7795" SoC
to match linux names.
Linux is not declaring "R8A77951" SoC specific files because
its also supporting the first H3 SoC version numbered "R8A77950".

Signed-off-by: Aymeric Aillet <aymeric.aillet@iot.bzh>
2022-06-28 18:11:44 +02:00
Jeppe Odgaard
8d71e8f5de drivers: led_strip: ws2812: allow settings cpol and cpha
Some boards require settings cpol and/or cpha.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/44980
2022-06-28 16:50:26 +02:00
Steffen Jahnke
6968ffb851 boards: Add Panasonic header gpio binding
Panasonic's reduced Arduino header is based on the Arduino UNO layout.
The main difference is that some pins are not available due to the
lack of pins on the Panasonic module.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2022-06-28 15:51:55 +02:00
Aurelien Jarno
6e56cfc5cd dts: arm: st: h7: add ITCM memory for STM32H7A3
The STM32H7A3 SoC has 64 kB of ITCM RAM mapped at address 0x00000000.

Tested using zephyr_code_relocate().

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-28 11:08:16 +02:00
Teik Heng Chong
58f9e5a78a dts: arm64: intel: Enable Arm Timer for Intel Agilex SoC FPGA
This patch is to enable arm timer driver for Intel Agilex SoC FPGA.
The PPI's interrupt ID will be mapped into the interrupt ID
defined by SBSA in GIC-400 controller.

Signed-off-by: Teik Heng Chong <teik.heng.chong@intel.com>
2022-06-27 08:52:01 -05:00
Tom Burdick
34a76f1da4 dma: Intel HDA buffer alignment property
Bindings for Intel HDA now require the buffer alignment property to be
set.

Sets the property to 128 bytes for the common Intel cAVS device tree as
was implied by the tests cases.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-27 12:46:11 +02:00
Tom Burdick
6d7fc39fad dma: Add buffer alignment property to DTS Binding
Enable statically allocated buffers to determine their buffer alignment
with a device tree property rather than having to find out through docs.

Should save people lots of time.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-06-27 12:46:11 +02:00
Ederson de Souza
0ce9446978 soc/xtensa/intel_adsp: Add cAVS clock driver
Simple driver that allows one to choose the clock speed of xtensa cores.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2022-06-27 12:42:04 +02:00
Aurelien Jarno
f6adb3b38d dts: arm: st: h7: add USB OTG HS controller
Add the USB OTG HS controller to the device tree and the corresponding
FS PHY.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-24 20:25:52 +02:00
Peter Maxwell Warasila
7420bb521f dts: stm32u5: correct can1 clocks property
In #46480 the st,stm32-fdcan driver was updated to use clock_control to
configure peripheral bus clocks. However, the default clocks property
added to the can1 node of stm32u5.dtsi was not correct.

This correction has been tested on known good hardware which uses the
STM32U5 and FDCAN peripheral.

Signed-off-by: Peter Maxwell Warasila <madmaxwell@soundcomesout.com>
2022-06-22 12:29:03 +02:00
Sylvio Alves
fdd47f39be soc: esp32: fix flash write blocks size
Current write block size does not guarantee proper
write operation, what might cause corrupted data.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-06-22 12:27:32 +02:00
Martin Jäger
b666afa13e drivers: can: stm32: use DT_INST_FOREACH for driver setup
This commit unifies the driver initialization for can1 and can2
instances so that a single macro can be used.

Enabling the master clock for can2 as introduced in 8ab81b02 had to
be moved to devicetree in order to have the same CAN_STM32_CONFIG_INST
macro for all instances.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-06-22 12:25:26 +02:00
Henrik Brix Andersen
b7624bc5cf drivers: i2c: mcux: lpi2c: add bus recovery support
Add I2C bus recovery support to the NXP MCUX LPI2C driver. Since the LPI2C
peripheral block does not natively support I2C bus recovery, recovery is
performed using GPIO bitbanging.

Fixes: #42574

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-06-22 12:24:08 +02:00
Aurelien Jarno
98a02fefc7 dts: arm: st: h7: add max-erase-time property to the flash node
The erase time for a sector differs by a few order of magnitude for the
various SoCs of the STM32H7 family. Declare it in the device tree using
the existing max-erase-time property. For that it is necessary to add
"st,stm32-nv-flash" to the compatible node.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-20 09:18:23 -04:00
Aurelien Jarno
04328a926e dts: arm: st: h743/h753: streamline flash properties
Some flash properties are currently in the individual SoC definitions,
while they are common to the whole STM32H743/753 SoC line. Move them one
level higher.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

h753
2022-06-20 09:18:23 -04:00
Aurelien Jarno
736da7f13a dts: arm: st: h7a3/7hb3: streamline flash properties
Some flash properties are currently in the individual SoC definitions,
while they are common to the whole STM32H7A3/STM32H7B3 line. Move them
one level higher.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-20 09:18:23 -04:00
Gerard Marull-Paretas
4a0ce0c62a dts: x86: intel: ia32: fix uart reg-shift
Platforms that enable UART_NS16550_ACCESS_IOPORT (the case for ia32)
require reg-shift to be zero. Fix this issue introduced in
4c8a8149de.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-17 10:45:28 -05: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
Olof Johansson
f847742c77 dts: bindings: riscv: Don't use riscv, prefix for vendor compat
In 8f9290d2741844 ('dts: bindings: riscv: Add and use bindings for
sifive CPUs'), new compat strings for SiFive CPUs were added, but with
riscv prefixes. Vendor-specific compats should just be prefixed with the
vendor, so move that over here.

Fixes: 8f9290d2741844 ('dts: bindings: riscv: Add and use bindings
  for sifive CPUs')
Signed-off-by: Olof Johansson <olof@lixom.net>
2022-06-16 11:26:25 +02:00
Gerard Marull-Paretas
783bc9db26 dts: arm: st: g4/u5: add missing fdcan clocks
G4 and U5 series missed clock information in DT. Driver likely worked
because it was using HAL helpers, bypassing the purpose of DT and clock
control drivers. The clocks property is now required in the binding
file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-16 11:26:18 +02:00
Georgij Cernysiov
018375a42b dts: bindings: flash_controller: stm32-ospi-nor: add 4byte opcodes property
Adds `four-byte-opcodes` property. When set, then used write and read
opcodes will be converted to 4-Byte opcode.

Doesn't convert erase opcodes yet.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-06-16 10:29:15 +02:00
Georgij Cernysiov
03a9308851 dts: bindings: flash_controller: stm32-ospi-nor: add writeoc property
Adds write opcode (`writeoc`) property. That allows to provide
custom write opcode in the DTS.

Doesn't support OPI mode.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-06-16 10:29:15 +02:00
Georgij Cernysiov
5f34d97a3c dts: bindings: flash_controller: stm32-ospi-nor: add dual and quad modes
Adds dual and quad modes to `spi-bus-width`.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-06-16 10:29:15 +02:00
Benedikt Schmidt
36b9da8874 drivers/disk: sdmmc: stm32: configurable SDMMC bus width
Make the SDMMC bus width for STM32 configurable.
Fixes #45021.

Signed-off-by: Benedikt Schmidt <benedikt.schmidt@embedded-solutions.at>
2022-06-16 10:28:26 +02:00
Gerard Marull-Paretas
985bdcd076 drivers: serial: ns16550: simplify reg-shift code
The driver supported getting register shift from Devicetree, from a
custom definition in SoC headers (fragile) or, it took a default value.
This change simplifies things by making reg-shift property required in
all instances.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-15 16:59:02 -05:00
Gerard Marull-Paretas
4c8a8149de dts: add reg-shift property to all ns16550 devices
The ns16550 flags reg-shift property as optional. In case it is not
supplied, the ns16550 driver relies on a value defined in <soc.h>, or,
by default it takes 4 (shift by 2).

This patch adds the property to all ns16550 nodes, with the following
values:

- 2 if SoC did not have any custom value defined by
  UART_REG_ADDR_INTERVAL (corresponds to 1 << 2 = 4)
- If SoC defined DEFAULT_REG_INTERVAL (snps_arc_iot/it8xxx2), use such
  value (4=2, 2=1, 1=0).

These changes will allow simplifying the ns16550 driver.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-15 16:59:02 -05: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
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
Chay Guo
a4c9e13ea8 boards: arm: Enable flash for storage on mimxrt595_evk
- The MX25UM51345G flash is connected to FLEXSPI PortA for
  mimxrt595_evk.
- Updated flexspi_mx25um51345g driver to support DTR OPI mode.
- Tested with tests/drivers/flash.

Signed-off-by: Chay Guo <changyi.guo@nxp.com>
2022-06-13 12:10:57 +02:00
Chay Guo
77a0bc2135 boards: mimxrt595: Add SPI support
Enable access to the HS_SPI pins(JP26) on the mimxrt595_evk board.
Using DMA mode, tested with spi_loopback testcase.

Signed-off-by: Chay Guo <changyi.guo@nxp.com>
2022-06-13 12:10:57 +02:00
Emil Lindqvist
af6eb1b1d8 clocks: stm32h7: fix wrong pclken.enr on wwdg1
WWDG1 doesn't work on STM32H7 because its peripheral clock
is never enabled due to wrong enable bit in RCC_APB3ENR

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2022-06-10 09:48:10 +02:00
Kumar Gala
bb03af637c drivers: gpio: remove unused HAS_DTS_GPIO Kconfig symbol
All the gpio drivers are based on devicetree and thus we always set
HAS_DTS_GPIO, thus we don't need this Kconfig option anymore.  Remove
uses as its safe to assume DTS is supported for GPIO.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-10 09:47:31 +02:00
Chay Guo
191f93c325 boards: Add analog comparator support on MIMXRT1170 EVK
Updated mcux_acmp sample to support discrete mode config.
Add ACMP support on MIMXRT1170 EVK.

Signed-off-by: Chay Guo <changyi.guo@nxp.com>
2022-06-09 11:30:49 +02:00
Kumar Gala
23bcc0d107 drivers: watchdog: remove unused HAS_DTS_WDT Kconfig symbol
All the watchdog drivers are based on devicetree and we dont utilize
HAS_DTS_WDT anywhere so we can remove it.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-08 16:44:01 -04:00
Aurelien Jarno
15dcc87b61 dts: arm: st: f7: add ITCM memory for STM32F723
The STM32F723 SoC has 16 kB of ITCM RAM mapped at address 0x00000000.

Tested using zephyr_code_relocate().

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-07 18:57:33 +02:00
Carlo Caione
86bb739b7b reserved_memory: Remove it and cleanup
The reserved memory mechanism (sections and regions definition) has been
entirely replaced, greatly extended and made it better by the work done
on the zephyr,memory-region compatible.

Since there is are no actual users, we can remove it.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-07 09:41:57 -07:00
Carlo Caione
4ef13f7ecd ipc_service: static_vrings: Set WQ priority back to PRIO_PREEMPT
This reverts commit 7f51907fda.

The problem with setting the priority at the highest priority possible
is that when the IPC is under high traffic, the WQ could starve the
scheduler.

Move back to a more sane preemptive priority as default value.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-07 11:53:22 +02:00
Piotr Dymacz
cd66c9f67e dts/bindings: add TI CC13xx/CC26xx flash controller bindings
This includes DTS bindings for the Texas Instruments CC13xx/CC26xx flash
controller driver and adds support for it in CC1352R and CC2652R SoCs
DTS files.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2022-06-06 14:01:27 -07:00
Carlo Caione
01305942f6 ipc: static_vrings: Support DT-defined buffer size
Recently OpenAMP introduced the possibility to set the sizes for TX and
RX buffers per created instance. Expose this also to Zephyr users by
using a DT property "zephyr,buffer-size".

For the sake of simplicity use the same DT property to set the buffer
size for both TX and RX buffers.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-05 14:46:18 +02:00
Georgij Cernysiov
70003e8eb0 dts: bindings: mpu: add PPB and IO regions
Extends #43119 with PPB and IO values of
`memory-region-mpu`.

That allows MPU region definition with
PPB or IO attributes in the DTS.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-06-05 14:46:11 +02:00
Mahesh Mahadevan
2cab43cb83 dts: add erase/write block sizes for nxp hyperflash
Add write and erase block size for Hyperflash devices

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-06-05 14:45:18 +02:00
Maximilian Deubel
3530fc088b ADXL362: Add DTS properties for low-power modes
This patch adds DTS properties for using wake-up mode
and the autosleep function to the ADXL362 driver.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2022-06-05 14:42:40 +02:00
Dylan Hung
46ff553b68 dts: arm: aspeed: add compatible string for syscon
Bind generic syscon driver for syscon in Aspeed AST10x0 series SOC.

Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com>
2022-06-05 14:28:50 +02:00
Mark Holden
44c388fb33 coredump: drivers: Add coredump device
Add a pseudo device diver with device tree bindings for coredump.
The device tree bindings exposes memory address/size values to be
included in any dump. And the driver exposes an API to add/remove
dump memory regions at runtime.

Signed-off-by: Mark Holden <mholden@fb.com>
2022-06-05 14:28:34 +02:00
Adam Wojasinski
d64dc771f3 drivers: spi: spi_nrfx_spim: utilize EasyDMA property from devicetree
This commit aligns SPIM shim to utilize memory-region property from
nordic,nrf-uarte compatible. The memory-region is not required
property that enables user to specify placement of dma buffers
in memory region. It is done by assigning to memory-region property,
phandle to node with zephyr,memory-region and mimo-sram compatible.

When memory-region property is not specified for given
instance, buffer is placed in default RAM region with other data.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2022-06-05 14:27:29 +02:00
Adam Wojasinski
f6a880a2f9 drivers: serial: uart_nrfx_uarte: utilize EasyDMA property from dts
This commit aligns UARTE shim to utilize memory-region property from
nordic,nrf-uarte compatible. The memory-region is not required
property that enables user to specify placement of dma buffers
in memory region. It is done by assigning to memory-region property,
phandle to node with zephyr,memory-region and mimo-sram compatible.

When memory-region property is not specified for given
instance, buffer is placed in default RAM region with other data.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
2022-06-05 14:27:29 +02:00
Adam Wojasinski
a471be3a41 dts: bindings: Add memory-region property in bindings
Since the introduction of the `zephyr,memory-region` compatible
to create new memory region, drivers can now use the newly defined
region in the DT by using the macro LINKER_DT_NODE_REGION_NAME()
on the node_id to retrieve the region name and possibly allocated data
or variables in that region (or for whatever other use).
This is assuming though that the driver knows in advance the node_id to
reference.

A better approach is to add a new generic 'memory-region' property
that can be used by any driver to reference a region by using a phandle,
so that the driver can use that to retrieve the memory-region of interest.

Signed-off-by: Adam Wojasinski <adam.wojasinski@nordicsemi.no>
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-05 14:27:29 +02:00
Adrian Bonislawski
638cfbbdbf drivers: dai: add ALH dai driver
The ALH is an intermediary device, which acts as a hub and provides an
abstracted support for numerous sound interfaces (e.g. SoundWire).

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2022-06-05 14:27:15 +02:00