Commit graph

11,885 commits

Author SHA1 Message Date
Martí Bolívar
e741053f92 dts: vendor-prefixes: add quectel
We have a binding for compatible "quectel,bg9x".

I can't find any bindings for this vendor in Linux.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00
Martí Bolívar
0853a0958f dts: vendor-prefixes: add wiznet
We have a binding for wiznet,w5500 in zephyr.

Linux has a binding for this device, too:

d5ad8ec3cf/Documentation/devicetree/bindings/net/wiznet,w5x00.txt

But 'wiznet' is not present in the Linux vendor prefixes file for some
reason.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00
Martí Bolívar
e1e3ee83da dts: vendor-prefixes: add wnc
I can't find any bindings in Linux, but we have a binding for
wnc,m14a2a in Zephyr.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00
Martí Bolívar
7e15c4f348 dts: vendor-prefixes: add hoperf
This is present in Linux too:

https://lore.kernel.org/linux-devicetree/20201031134110.724233-9-jic23@kernel.org/

But for some reason is not present in own Linux's vendor prefixes
file.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00
Tim Lin
6a1262198a ITE: drivers/i2c: it8xxx2: move pinctrls macro to soc_dt.h
This PR will change accessing the related pinctrl macro from soc_dt.h
And the pinctrl of SCL and SDA were got from pinctrl-0 and pinctrl-1,
respectively. Change it to get from pinctrl-0 only.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2021-08-17 17:51:17 -04:00
Robert Szczepanski
55e3c732d0 drivers: video: ov2640: add driver for ov2640 image sensor
This adds the driver for Omnivision OV2640 image sensor.

The driver provides support for 10 different resolutions in range from
160x120 to 1600x1200 in both JPEG and RGB565 pixel formats. There are
also mutliple configuration options, e.g. hflip, vflip, saturation and
brightness control.

Signed-off-by: Robert Szczepanski <rszczepanski@antmicro.com>
2021-08-17 09:18:38 -04:00
David Leach
f567e02926 boards: arm: lpc55s28: Remove Trustzone-M flags
The LPC55S28 does not have the Trustzone-M support.

Fixes #36768
Fixes #37266
Fixes #37267

Signed-off-by: David Leach <david.leach@nxp.com>
2021-08-17 10:26:35 +02:00
Kim Bøndergaard
68d9ac1c6f dts: arm: stm32f412: Add quadspi node
register address 0xa0001000 length 0x400
Interrupt 92
Clockbit 1

Signed-off-by: Kim Bøndergaard <kim@fam-boendergaard.dk>
2021-08-15 19:29:26 -04:00
Gerson Fernando Budke
dca54e69f2 dts: bindings: riscv: Add sifive-e24 cpu
Add sifive-e24 cpu binding.  This introduce riscv,cpu binding to
be used as riscv cpu base and riscv,sifive, which define specific
properties for this vendor.  Both are necessary to create the e24
core.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-14 20:31:44 -04:00
Kumar Gala
1deb3cff9b dts: bindings: Add missing binding for SI7055 sensor
Add missing dts binding for sensor, this was causing build errors with
CONFIG_PM set on bt510/bt6x0 boards.

Fixes #37675

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-08-13 11:46:38 -05:00
Thomas Stranger
1b238b8bd3 dts: arm: st: rename g0 tim1 interrupt to align with f0 series
Renames stm32g0 tim1 brk interrupt to brk_up_trg_com, such that the
naming aligns with stm32f0 series and drivers can find the interrupt
with a common name.

Signed-off-by: Thomas Stranger <thomas.stranger@outlook.com>
2021-08-12 07:06:14 -05:00
Scott Worley
19dd46ef68 Microchip: MEC172x: ADC driver
Add ADC driver version 2 for MEC172x using new in-tree headers
and device tree properties. Update the ADC shell for the new driver.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2021-08-11 19:44:31 -04:00
Flavio Ceolin
8eceeee798 pm: device: Add wakeup source API
Introduce a new API to allow devices capable of wake up the system
register themselves was wake up sources. This permits applications to
select the most appropriate way to wake up the system when it is
suspended.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-08-11 19:39:13 -04:00
Carles Cufi
1126bbdca0 dts: psoc6: Use valid IRQ prio levels for CM4
The psoc6 SoC has 2 cores, each with different allowed priority ranges:

CM0: 0-3 (2 bits of NVIC prio, no prio reserved by the kernel)
CM4: 0-6 (3 bits of NVIC prio, one level reserved by the kernel)

Since some of the peripherals are only available to the CM4, those
should be set to a priority that is actually valid for it. In this case
the lowest possible one is 6, so transition from 7 to 6.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-08-11 10:06:13 -05:00
Henrik Brix Andersen
f72d4f898e dts: bindings: sensor: add binding for the LM77 temperature sensor
Add devicetree binding for the LM77 temperature sensor.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-08-09 19:50:29 -04:00
Scott Worley
ad19104f28 Microchip: MEC172x: Add UART driver
Microchip XEC has been using the standard NS16550 driver.
Using the standard NS16550 driver requires extra HW programming
for XEC UART in board level and did not support XEC GIRQ interrupt
programming. We add an XEC specific driver and remove UART specific
register programming from the board level and implement interrupt
support. Also, by implementing a SoC specific driver we can add
driver PM in the future.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2021-08-09 16:21:33 -04:00
Sylvio Alves
651b448131 dtsi: esp32c3: added missing cell defs
missing address and cell size definition causes
testing failures.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-08-09 13:15:47 -04:00
Scott Worley
7075b700b7 Microchip: MEC172x: Device tree constant property cleanup
Microchip XEC two custom DT properies girqs and pcrs cell sizes
are defined as constants. There is no need to replicate these
is the chip DTSI since the value cannot be changes. Fix the syntax
of the cell size constant to match the naming convention used
thoughout DT.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2021-08-09 13:06:01 -04:00
Glauber Maroto Ferreira
8e865a7a88 esp32s2: drivers: serial: add minimal uart driver
based on uart rom functions, also enable console driver
on top of this driver, which enables logging

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-08-09 13:03:14 -04:00
Imre Lagas
ee3f50fdeb drivers: gpio: Add fxl6408 driver
Add a driver for the fxl6408 gpio-expander using gpio api.

Origin: original

Signed-off-by: Imre Lagas <Imre_Lagas@hotmail.com>
2021-08-09 13:02:20 -04:00
Aurelien Jarno
117090c1a2 drivers: sensors: ti_hdc20xx: add support for DRDY/INT pin
Add optional support for the DRDY/INT pin. This avoids waiting a fixed
time for the temperature and humidity conversion to finish.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2021-08-09 11:32:43 -04:00
HaiLong Yang
85ac062096 dts: stm32h7: define mailbox controller based on stm32 hsem
The ipm_stm32_hsem driver is a virtual mailbox based on STM32 HSEM.
Since we already have LL_HSEM(low-level HSEM) API on the hal_stm32
module, looks there is no need to implement a new HSEM driver.
But there are still have some limitations, the HSEMx interrupt is
not shareable. If another HSEM user wants to use the HSEMx interrupt,
the ipm_stm32_hsem mailbox needs to be disabled.

Signed-off-by: HaiLong Yang <hailong.yang@brainco.cn>
2021-08-09 16:11:28 +02:00
Mulin Chao
3cfdf3e81e soc: arm: rename soc/arm/nuvoton as soc/arm/nuvoton_numicro
We try to reduce the ambiguity between 'soc/nuvoton/' and
'soc/nuvoton_npcx' folders. Most if soc vendors name their soc folder by
the company name with SOC_FAMILY suffix instead of the company name
directly. It is clearer if the soc company has different product lines
that aim to specific markets.

In this CL, the 'numicro' suffix is used for Nuvoton Microcontroller
production line. It distinguishes the 'npcx' suffix that used for
Nuvoton Embedded Controller (EC) of Notebook PC product line.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-08-07 20:37:24 -04:00
Yuval Peress
268f9bf163 nuvoton: battery-backed ram
Add bindings and entry for the battery-backed ram in the nuvoton
npcx. This commit is an upstream port of
https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform/ec/zephyr/dts/bindings/cros_bbram/nuvoton,npcx-cros-bbram.yaml;l=1;drc=e9af813c36b7b411bf2a01cbc1b09d5fdec49b8a

Along with a bit of cleaning up and an emulator.

Signed-off-by: Yuval Peress <peress@chromium.org>
2021-08-07 20:32:33 -04:00
Andrzej Głąbek
3842babc79 drivers: serial: nrf: Make pull-ups on UART pins configurable
This is a follow-up to commit 3656ba5ae9.

Do not enforce pull-up resistors to be enabled on RXD and CTS pins
in nRF UART drivers, as in certain hardware designs this may be
undesirable or may even make certain hardware not working.
Instead, provide devicetree properties that allow enabling of those
resistors when it is actually needed.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2021-08-06 19:17:26 -04:00
Yuriy Vynnychek
0830738975 dts: riscv: add Telink B91 PWM driver support
Added PWM driver DTSI support for Telink B91 platform.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-08-05 16:11:41 +02:00
Guillaume Lager
ca5921845d driver: i2c: Add TCA9546a I2C switch driver
The driver only support use case where the channels are used in mutual
exclusion.
Origin: Original

Signed-off-by: Guillaume Lager <g.lager@innoseis.com>
2021-08-05 11:48:30 +02:00
Krishna Mohan Dani
db75db2bcf dts/arm: stm32l562e_dk: Adding flash support
This commit adds flash node in dtsi of stm32l562e_dk platform.

Signed-off-by: Krishna Mohan Dani <krishnamohan.d@hcl.com>
2021-08-04 10:26:06 -05:00
Yuriy Vynnychek
2b1548d05d dts: riscv: add Telink B91 Entropy driver support
Added Entropy driver DTSI support for Telink B91 platform

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-08-04 15:45:32 +02:00
Yuriy Vynnychek
d011e782c7 dts: riscv: add Telink B91 IEEE802154 driver support
Added IEEE802154 driver DTSI support for Telink B91 platform.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-08-04 11:58:02 +02:00
Scott Worley
2070c0997f Microchip: MEC172x: Update pinmux driver
Update the Microchip XEC pinmux driver to use system I/O
routine for read/write of registers instead of direct use
of volatile and CMSIS defines. Add GPIO port number to
bindings instead of using hard coded value from chip headers.
Modify SoC DTSI pinmux syntax, requires "pinmux: pinumx {..."
or the DT macros will not work. Since pinmux is used by MEC152x
we update its chip pinmux DT.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2021-08-03 19:04:56 -04:00
John Kjellberg
f452a086fb drivers: led: Add LED driver support for TLC59108
Add support for TI TLC59108 an I2C 8-bit LED driver.
Supported blinkink period: 41ms to 10730ms
Supported brightness value: 0 to 100%

This driver supports the following APIs:

1. led_blink
2. led_set_brightness
3. led_on
4. led_off

This is a modified version of the NXP PCA9633 driver.

Signed-off-by: John Kjellberg <kjellberg.john@gmail.com>
2021-08-03 19:03:29 -04:00
Martí Bolívar
043304bf7e dts: vendor-prefixes.txt: add 'arduino'
This is a common Zephyr addition.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-03 12:21:45 -05:00
Martí Bolívar
57c4a4dec6 dts: tweak vendor-prefixes.txt format
Use a comment syntax instead of a separator. This is a bit cleaner
and is prep work for moving the parsing code to a more generic place,
namely edtlib.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-03 12:21:45 -05:00
Martí Bolívar
2a241f6ef9 dts: bindings: update vendor-prefixes.txt
Update our vendor-prefixes.txt file to match the data in upstream
Linux's vendor-prefixes.yaml file as of Linux commit
8ac91e6c6033ebc12c5c1e4aa171b81a662bd70f.

(We can't easily switch to using the Linux YAML file directly because
our documentation tooling depends on this plain text format.)

The changes were done using a script and then cleaned up by hand in
order to not throw away any Zephyr-only prefixes, and to manually
override Linux in some cases.

List of Zephyr-only prefixes, all of which were kept:

    asmedia
    cadence
    gaisler
    lairdconnect
    ovti
    openisa
    particle
    quicklogic
    ruuvi
    segger
    vnd
    weact
    zephyr

Other things to note:

- keep Espressif as 'espressif', overriding Linux's 'esp'
- 'gw' is deprecated in Linux and is unused here; just remove it
- ROCKTECH DISPLAYS LIMITED SHOULD HAVE BEEN ALL CAPS;
  HOW COULD WE POSSIBLY HAVE MISSED THIS BEFORE?
- Did not include '70mai' from upstream, as that violates the legal
  compatible regexp

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-03 12:21:45 -05:00
Martí Bolívar
97eea281cf dts: fix vendor-prefixes.txt whitespace
This line is here to satisfy the commit message linter.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-03 12:21:45 -05:00
Felipe Neves
d368087fc0 drivers: serial: added minimal uart driver for esp32c3
based on uart rom functions, also enable console driver
on top if this driver enabling logging

Signed-off-by: Felipe Neves <felipe.neves@espressif.com>
2021-08-03 11:20:06 -05:00
Jun Lin
b804956a7d dts: misc: npcx: add new DT node for booter variant
The booter (bootloader) behavior may be different in different NPCX
chip series. One example is that the booter sets host interface type in
NPCX7 series but leave the firmware to set it in NPCX9 series.
This commit adds a new DT node to record variants in its properties.
NPCX drivers can understand if they need to configure the related
setting by checking the node's properties.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2021-08-03 13:59:42 +02:00
Eric Johnson
7147e68ffb dts: arm: Add #address-cells to nvic nodes
dtc v1.6.1 produces an error without specifying #address-cells
on an interrupt-controller node.

Fixes #36495

Signed-off-by: Eric Johnson <eric@liveathos.com>
2021-08-02 15:02:09 -04:00
David Leach
bdd536a09e watchdog: add watchdog driver support to mimxrt685 platform
Add watchdog support to the mimxrt685 platform.

The mimxrt685 platform is excluded from the watchdog
test case because the test case uses variables in the
noinit section that need to be retained through a reset
but the rt685 does not retain this memory through a
reset.

Signed-off-by: David Leach <david.leach@nxp.com>
2021-08-02 13:21:20 -05:00
Kieran Mackey
19f7af11fa drivers: gpio: Add PCA953X driver (gpio port expander)
The Texas Instruments TCA9538 is an 8 pin GPIO port expander.
It operates on an I2C bus with 2 configurable address pins. The
device has an interrupt output pin that is asserted when any pin
configured as an input changes state.

Added under the PCA953X name to allow other similar parts to
use the same driver.

Signed-off-by: Kieran Mackey <kieran.mackey@lairdconnect.com>
2021-07-31 14:56:34 -04:00
Yuriy Vynnychek
313e29b87d dts/bindings: add Telink B91 Flash driver support
Added Flash driver dts bindings support for Telink B91 platform.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-07-30 19:53:04 -04:00
Kieran Mackey
94e006f0fc drivers: counter: add driver for Microchip MCP7940N RTCC
Microchip MCP7940N is a Real-Time Clock/Calendar. It operates on a I2C
bus. It can be used to set a calendar time and has two alarm channels.
When an alarm is asserted the state of the MPF pin of the MCP7940N will
change (depending on gpio active high/active low setting) to trigger an
interrupt.

Signed-off-by: Kieran Mackey <kieran.mackey@lairdconnect.com>
2021-07-30 19:51:29 -04:00
Gerson Fernando Budke
62ba4723d4 drivers: serial: uart_sam0: Add pinctrl support
Add Atmel sam0 sercom[uart] pinctrl bindings and implements pinctrl at
driver level.  It changes all sam0 boards to use new feature and remove
pinmux driver dependency for sercom[uart].  The samples that require a
binding were update to keep consistency and avoid errors.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-07-30 14:37:20 -05:00
Gerson Fernando Budke
c9879a58f7 dts: atmel_sam0: Add pinctrl structure
Add Atmel sam0 MCU series pinctrl devicetree bindings and
infrastructure.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-07-30 14:37:20 -05:00
Mahesh Mahadevan
5f636286d3 drivers: pwm: Add PWM support for NXP LPC devices
Add PWM support using the LPC SCTimer module

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-07-30 13:08:03 -05:00
Francois Ramu
20af6c0b36 dts: arm: stm32l1 with dma1 node
add support of the dma  (V2bis) for the stm32l1 serie

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-07-29 11:48:23 -04:00
Francois Ramu
5c396e569f dts: arm: stm32f091 interrupt dma2 channels
Define the interrupt for the 5 channels
of the DMA2 of the stm32f091 device.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-07-29 11:48:23 -04:00
Krzysztof Chruscinski
ffc4a6c928 testsuite: Add busy simulator module
Busy simulator is using counter device and entropy device to
generate random cpu load. Counter device cofiguration can be
used to set cpu load interrupt priority and optional pin that
can be set during the load.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2021-07-29 10:59:00 -04:00
Erwan Gouriou
69c37a73b9 dts/bindings: flash_controller: Add u5 flash controller binding
Just do it.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-07-29 07:28:32 -05:00