Commit graph

5342 commits

Author SHA1 Message Date
Torsten Rasmussen
c6aded2dcb linker: align _image_rodata and _image_rom start/end/size linker symbols
Cleanup and preparation commit for linker script generator.

Zephyr linker scripts provides start and end symbols for each larger
areas in the linker script.

The symbols _image_rom_start and _image_rom_end corresponds to the group
ROMABLE_REGION defined in the ld linker scripts.

The symbols _image_rodata_start and _image_rodata_end is not placed as
independent group but covers common-rom.ld, thread-local-storage.ld,
kobject-rom.ld and snippets-rodata.ld.

This commit align those names and prepares for generation of groups in
linker scripts.

The symbols describing the ROMABLE_REGION will be renamed to:
_image_rom_start -> __rom_region_start
_image_rom_end   -> __rom_region_end

The rodata will also use the group symbol notation as:
_image_rodata_start -> __rodata_region_start
_image_rodata_end   -> __rodata_region_end

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-08-28 08:48:03 -04:00
Glauber Maroto Ferreira
2689a6ee0a esp32s2: drivers: gpio: add gpio support
through the reuse of current gpio driver.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-08-27 17:34:41 -04:00
Glauber Maroto Ferreira
219fe5339d esp32s2: drivers: pinmux: add pinmux support
on top of esp32 pinmux driver code.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-08-27 17:34:41 -04:00
Mahesh Mahadevan
e4c6ea9e79 drivers: counter: Add ctimer driver for RT685
Add counter support using CTimer for RT685

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-08-27 13:47:04 -05:00
Yuguo Zou
7d8d4fd0cd boards: arc: add a nsim_hs_mpuv6 board simulator
We add support of mpu v6 therefore it is needed to have a board to
validate that feature. This commit add a new HS nsim simulator
which supports mpu v6.

Signed-off-by: Yuguo Zou <yuguo.zou@synopsys.com>
2021-08-27 11:45:43 -04:00
Arvin Farahmand
f4ad81bb29 boards: sam_v71_xult: add support for PHY driver
Update to dts file to use the generic MII PHY driver.

Signed-off-by: Arvin Farahmand <arvinf@ip-logix.com>
2021-08-27 11:43:48 -04:00
Arvin Farahmand
c2add72676 boards: sam_e70_xplained: add support for PHY driver
Update to dts file to use the generic MII PHY driver.

Signed-off-by: Arvin Farahmand <arvinf@ip-logix.com>
2021-08-27 11:43:48 -04:00
Arvin Farahmand
4b6c9ff266 boards: sam4e_xpro: add support for PHY driver
Update to dts file to use the generic MII PHY driver.

Signed-off-by: Arvin Farahmand <arvinf@ip-logix.com>
2021-08-27 11:43:48 -04:00
Arvin Farahmand
4daaa1a10f boards: atsame54_xpro add support for PHY driver
Update to dts file to use the generic MII PHY driver.

Signed-off-by: Arvin Farahmand <arvinf@ip-logix.com>
2021-08-27 11:43:48 -04:00
Gerson Fernando Budke
c3db83ba58 scripts: runners: openocd: Enable thread awareness
Zephyr thread awareness is available for openocd but boards don't
have debuggers configuration.  This configure OpenOCD runner
automatically to complete configuration.

User still require enable CONFIG_DEBUG_THREAD_INFO=y to visualize
thread debug information.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-27 06:44:45 -04:00
Daniel Leung
27f36bda51 boards: qemu_x86_tiny: enabled for general demand paging testing
This enables qemu_x86_tiny to be used for more general demand
paging testing where non-pinned code and data is not available
in physical memory at boot. This adds a custom linker script to
qemu_x86_tiny for pinning code and data. In the process, a new
kconfig CONFIG_BOARD_QEMU_X86_TINY has to be introduced to
distinguish from other qemu_x86* boards. This linker script
is based on the generic x86-32 one in
include/arch/x86/ia32/linker.ld, with additions to
put symbols into boot and pinned sections.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-08-26 21:16:22 -04:00
Erwan Gouriou
7a93e9e3a5 boards: nucleo_u575zi_q: Instructions and configuration for openocd
STM32U5 support is not yet supported in upstream openocd.
Provide instructions to use STMicro openocd fork as a temporary
workaround.

Additionally, provide openocd configuration to be used for this
target.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-08-26 17:57:09 -04:00
Piotr Mienkowski
e73187ee1a boards: enable support for Atmel SAM DAC driver
Enable support for Atmel SAM DAC driver on the following boards:
- sam_e70_xplained
- sam_e70b_xplained
- sam_v71_xult
- sam_v71b_xult

Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2021-08-26 16:46:16 -04:00
Gerson Fernando Budke
71b27487f1 boards: arm: sam4l_ek: Enable USB device ctrl
Enable SAM4L USBC device controller.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-26 14:03:44 -04:00
Erwan Gouriou
661bf176bb boards: nucleo_g01re: Missing zephyr_udc0 alternate node label
This board is missing new usb device controller alternate node label.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-08-25 18:03:31 -04:00
David Leach
d3cd0d2f9a drivers: adc: add LPADC driver support to mimxrt685 platform
Add LPADC support to the mimxrt685 platform.

Signed-off-by: David Leach <david.leach@nxp.com>
2021-08-25 18:02:00 -04:00
Stephanos Ioannidis
fcceceafad boards: mps3_an547: Fix typo in the board documentation
The mps3_an547 board documentation incorrectly referred to the
Ethos-U55 coprocessor as an FPU (floating point unit) when it is really
an NPU (neural processing unit).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2021-08-25 18:01:36 -04:00
Scott Worley
145673d57a Microchip: MEC172x: I2C driver
Microchip MEC172x series I2C driver implementing controller
and target modes. The driver implemenents its own I2C port
pin control functions and does not depended upon pinmux. Future
updates will make use of PINCTRL when that subystem is finalized.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2021-08-25 13:07:45 -04:00
Maureen Helm
3021c273de boards: arm: Enable dma driver on mimxrt1064_evk
Enables the dma driver on the mimxrt1064_evk board. The board
documentation is not updated because it already mentions dma driver
support.

Tested with:
  - tests/drivers/dma/chan_blen_transfer
  - tests/drivers/dma/chan_link_transfer
  - tests/drivers/dma/loop_transfer

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-08-24 22:15:19 -04:00
Maureen Helm
6985bc9c1d boards: arm: Enable watchdog driver on mimxrt1064_evk
Enables the watchdog driver on the mimxrt1064_evk board. The board
documentation is not updated because it already mentions watchdog driver
support.

Tested with tests/drivers/watchdog/wdt_basic_api

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-08-24 22:14:44 -04:00
Toby Firth
893bfc0fc1 drivers: counter: added ctimer driver for lpcexpresso55s69
Added shim driver for the CTIMERs for the lpcexpresso55s69 board.

Fixes: #22705

Signed-off-by: Toby Firth <tobyjfirth@gmail.com>
2021-08-24 17:13:22 -04:00
Jingru Wang
cd87366016 cmake: emu: nsim: Allow all nsim platform use mdb
Currently the default runner of nsim_hs_smp is mdb,
the runner of other nsim platform is nsimdrv, user
can't change the default runner unless he uses
west command(--runner).

With this change cmake will choose runner according
to BOARD_DEBUG_RUNNER or BOARD_FLASH_RUNNER. so if
add -DBOARD_FLASH_RUNNER=mdb-nsim or
-DBOARD_DEBUG_RUNNER=mdb-nsim to cmake command,
the apllication will be run with mdb.

Signed-off-by: Jingru Wang <jingru@synopsys.com>
2021-08-24 07:22:22 -04:00
Alberto Escolar Piedras
9249609071 boards: bsim: fix bug with single settings file for few bsim devices
Reapply the part of 4b5cd92312
that added new functionality/fixed the actual issues described
in the original commit message withtout the further cleanup.

There was also some cross-commit content from
2b91ebe16e
as part of the cleanup in test_friendship.c which is also included.
+ added cleanup also to test_provision.c on request from Aleksandr.

Original commit msg:
-----------
Multiple bsim devices cannot store individual settings
with the existing settings backend for bsim.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
-----------

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2021-08-24 12:37:51 +02:00
Alberto Escolar Piedras
26d7d7c8c8 Revert "boards: bsim: fix bug with single settings file for few bsim devices"
This reverts commit 4b5cd92312.

global_device_nbr is used by many bsim tests.
And many of those are now off tree in preparation of the LE-Audio
work. Removing this for cleanliness now is not nice on others.
=> Revert

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2021-08-24 12:37:51 +02:00
Aleksandr Khromykh
4b5cd92312 boards: bsim: fix bug with single settings file for few bsim devices
Multiple bsim devices cannot store individual settings
with the existing settings backend for bsim.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2021-08-23 18:55:53 -04:00
Johann Fischer
92a00ee39b drivers: uart_altera_jtag_hal: use DEVICE_DT_INST_DEFINE()
The conversion to devicetree seems to be half lost
for this driver. There are already bindings and nodes for
compatible "altr,jtag-uart", update driver to use it.
Remove last mention of CONFIG_UART_CONSOLE_ON_DEV_NAME.

Resolves #37207

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Johann Fischer
03669db6e3 boards: rak5010_nrf52840: remove wrong uart1 node compatible
uart1 node compatible should not be changed.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Johann Fischer
6974c7cee3 boards: degu_evk: add chosen nodes for shell and console
Remove UART_CONSOLE_ON_DEV_NAME and UART_SHELL_ON_DEV_NAME options
and add chosen nodes for shell and console.

Enable USB device support because the board uses
CDC ACM UART for console.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Johann Fischer
134488aea9 boards: bl654_usb: add chosen nodes for shell and console
Remove UART_CONSOLE_ON_DEV_NAME and UART_SHELL_ON_DEV_NAME options
and add chosen nodes for shell and console.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Johann Fischer
aa5b1b62c4 boards: nrf52840dongle_nrf52840: do not default SERIAL on USB_CDC_ACM
Prevent configuration dependency loop.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Johann Fischer
5ee0f6bd8e boards: native_posix: add USB device controller binding and node
Current USB device controller drivers (drivers/usb/device)
do not use DEVICE_DT_GET but the properties from devicetree,
and USB device controller node is parent for CDC ACM UART and
AUDIO children nodes.

Add USB device controller binding and node to keep the samples
building for native_posix driver.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Johann Fischer
35ff632321 boards: bl654_usb: add zephyr_udc0 nodelabel
Add zephyr_udc0 (USB device controller) nodelabel to
specific USB node to allow generic USB samples to be build.

Follow up on commit e4f89478
("boards: add zephyr_udc0 nodelabel to all boards with USB support")

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-23 18:53:47 -04:00
Maxime Bittan
35b1a6f337 boards: arm: Add Legend 3.5" board
This commit adds support for the Legend 3.5" board revision.
This board revision is found on the Seagate FireCuda Gaming
Hub and Gaming Drive Hub for Xbox devices. It contains the following
hardware components:
- A B1414 LED strip connected to the PA7 pin (SPI MOSI)
- A SPI flash (FM25F005) connected on SPI2 bus
- A PWM LED connected on TIM3 CH3
- An external 24 MHz oscillator

Signed-off-by: Maxime Bittan <maxime.bittan@seagate.com>
Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2021-08-23 08:26:23 -04:00
Maxime Bittan
39614b8960 boards: arm: Add Legend 2.5" boards
This commit adds support for the Legend 2.5" boards (legend25_ssd and
legend25_hdd) based on the STM32F070CB MCU. These boards can be found in
the Seagate FireCuda Gaming Drive, Gaming Drive for Xbox, SSD Gaming
Drive for Xbox, and Gaming Drive for PlayStation devices. Both boards
contain the following hardware components:
- A B1414 LED strip connected to the PA7 pin (SPI MOSI)
- A SPI flash (FM25F005) connected on SPI2 bus

The Legend 2.5" HDD board also contains an activity LED connected on
TIM3 CH3

Signed-off-by: Maxime Bittan <maxime.bittan@seagate.com>
Signed-off-by: Simon Guinot <simon.guinot@seagate.com>
2021-08-23 08:26:23 -04:00
Yong Cong Sin
ae0ef7e56a boards: arm: nucleo_g0b1re: Enable support for USB
Enable USB support for nucleo_g0b1re board.

Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2021-08-23 08:24:46 -04:00
Francois Ramu
dba4e63c41 boards: arm: nucleo_h723zg board enabling usart2
This enables defines the usart2 on PD5, PD6 pins
of the nucleo stm32h723zg target board. Pins are available
on the CN9 pin6 & 4 of the MB1364 nucleo144

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2021-08-20 06:28:32 -04:00
Yuriy Vynnychek
59fb8fe970 boards: riscv: tlsr9518adk80d: clean-up board documentation
- Fixe reversed UART TX/RX pins info
- Added info about CONFIG_FPU in case of Telink's toolchain

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-08-20 06:23:24 -04:00
Yuriy Vynnychek
24f976ab71 boards: riscv: tlsr9518adk80d: new "openthread" sample support
Added info about new "openthread" sample support.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-08-20 06:23:24 -04:00
Torsten Rasmussen
1cccc8a8fe cmake: increase minimal required version to 3.20.0
Move to CMake 3.20.0.

At the Toolchain WG it was decided to move to CMake 3.20.0.

The main reason for increasing CMake version is better toolchain
support.

Better toolchain support is added in the following CMake versions:
- armclang, CMake 3.15
- Intel oneAPI, CMake 3.20
- IAR, CMake 3.15 and 3.20

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2021-08-20 09:47:34 +02:00
Martí Bolívar
5726783d85 boards: native_posix: provide i2c device if CONFIG_I2C=y
This is necessary to get some samples to link properly when moving
from device_get_binding() to DEVICE_DT_GET and friends. In particular
I ran into issues building i2c_fujitsu_fram without a real I2C device.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-19 17:20:21 -04:00
Mahesh Mahadevan
95ee8f0f64 soc: LPC55S69: Add USB support
1. Update soc.c file to add USB clock setup
2. Add a linker script file to move USB transfer
   buffer and controller buffers to USB RAM
3. Update Kconfig's to add USB support
4. Add zephyr_udc0 nodelabel

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-08-19 17:19:11 -04:00
Mahesh Mahadevan
34a445d943 soc: RT685: Add USB support
1. Update soc.c file to add USB clock setup
2. Add a linker script file to move USB transfer
   buffer and controller buffers to USB RAM
3. Update Kconfig's to add USB support
4. Add zephyr_udc0 nodelabel

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-08-19 17:19:11 -04:00
Yuriy Vynnychek
5d9d35dbb2 boards: riscv: tlsr9518adk80d: add Telink B91 SPI driver support
Added SPI driver board support.

Signed-off-by: Yuriy Vynnychek <yura.vynnychek@telink-semi.com>
2021-08-19 17:18:23 -04:00
Johann Fischer
e4f894788a boards: add zephyr_udc0 nodelabel to all boards with USB support
USB devicetree nodes in Zephyr have different names,
mostly derived from the designations in data sheets.
Add zephyr_udc0 (USB device controller) nodelabel to
specific USB node to allow generic USB sample to be build.

Follow up on commit b4242a8 ("boards: add USB node aliases")

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-19 16:56:54 +02:00
Johann Fischer
5e41c3477b Revert "boards: add USB node aliases"
This reverts commit b4242a8dab.
The "usbd0 aliases" approach has not proven to work.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2021-08-19 16:56:54 +02:00
Sylvio Alves
57e7fba288 soc: esp32: move board config to soc context
log and libc optimization default config are soc related
and should be moved out from board context.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2021-08-18 07:46:29 -04:00
Mahesh Mahadevan
cc170c8158 mxrt685: Add USDHC support for RT685
Add USDHC support for RT685

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-08-17 17:53:31 -04:00
Martí Bolívar
24514ec881 boards: pinetime_devkit0: adjust spi flash compatible
We have a 'mxicy' entry in vendor-prefixes.txt for this vendor. Use it
to be consistent. Linux's
Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml file allows
both, but I'd like to see what happens if we try to be consistent in
Zephyr. There isn't a binding for this compatible in zephyr, so I'm
hopeful this won't break any upstream use cases.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00
Martí Bolívar
1543d2e0a7 boards: pinetime_devkit0: rename some sensor compatibles
These are using unknown vendor prefixes.

I did find references to a Nanjing Tianyi Hexin Electronics Co., Ltd.
on Crunchbase and I thought about adding a vendor prefix, but I can't
justify it since it's just a single board that is using it, and there
is no upstream driver.

Similarly, I found hynitron.com, which seems to be an electronics
vendor, but Google Translate says their "about" page translates to
"Incomplete website information, please contact sales" (and the
English version contains no text).

Just change ',' to '-' instead so there is no vendor prefix anymore.

We can revisit this if anyone wants to upstream drivers for these
compatibles in the future, but for now it doesn't seem worth it.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00
Martí Bolívar
f5a91d7a3f dts: use 'cdns' instead of 'xtensa' vendor prefix
These IP blocks' vendor is Cadence, whose proper vendor prefix is
'cdns' if we are going to match the Linux vendor prefixes list.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-17 17:51:57 -04:00