Commit Graph

4088 Commits

Author SHA1 Message Date
Rodrigo Sim 86c2e429eb arm: Fix DS1307 initialization for common STM32 logic
Signed-off-by: Rodrigo Sim rcsim10@gmail.com
2024-08-20 10:25:42 +08:00
Windrow14 190c8787ff arch/xtensa/src/esp32s3/Kconfig|Make.defs|esp32s3_sdmmc.c,
arch/xtensa/src/esp32s3/hardware/esp32s3_sdmmc.h|esp32s3_soc.h,
boards/xtensa/esp32s3/common/include/esp32s3_board_sdmmc.h,
boards/xtensa/esp32s3/common/src/Make.defs|esp32s3_board_sdmmc.c,
boards/xtensa/esp32s3/esp32s3-devkit/src/esp32s3_bringup.c: add SD/mmc driver

Support 1-bit bus width and 4-bit bus width. Support eMMC high speed SDR mode.
Support transfer data with DMA. Support SD clock frequency up to 40MHZ.

Signed-off-by: Yinzhe Wu <Yinzhe.Wu@sony.com>
Reviewed-by: Yuezhang Mo <Yuezhang.Mo@sony.com>
Reviewed-by: Jacky Cao <Jacky.Cao@sony.com>
Tested-by: Yinzhe Wu <Yinzhe.Wu@sony.com>
2024-08-19 19:52:39 +08:00
cuiziwei e21885b84a nuttx/boards:Uniform initialization format for init_array.
(1) Keep the `.init_array` and `.ctors` symbols and sort them according to their initialization priority.
(2) Exclude symbols ending with crtend.* and crtbegin.* to support c++
application.if we not exclude crtend.* crtbegin.* frame_dummy will be
added when enable any c++ application with global variables, this symbol
execution is problematic, removing it does not affect the application.

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-08-19 19:48:32 +08:00
halyssonJr b832638b15 add support to LTDC for Linum board 2024-08-19 16:44:53 +08:00
halyssonJr 3c1d52ac19 add configuration to use the gpio example and update interrupt gpio according to the pinout description. 2024-08-19 13:54:11 +08:00
Yanfeng Liu b9fde453ce riscv/qemu-rv: add RPTUN support
This adds initial RPTUN support for qemu-rv and rv-virt device.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-18 19:55:27 +08:00
Tiago Medicci 69a8e2697f espressif: Fix default pins for SPI bus 2 on ESP32-[C3|C6|H2]
Fix the correct pin number for the SPI 2 bus on ESP32-C3, ESP32-C6
and ESP32-H2.
2024-08-17 13:43:58 +08:00
pengyiqiang 08cdff2046 arch/sim/Kconfig: set SIM_FBBPP to 32 by default
32bpp is the most commonly used option and should be used as the default

Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com>
2024-08-15 02:38:31 +08:00
chenxiaoyi 4cd66fa7cc windows sim:add CONFIG_SYSTEM_TIME64 fix windows build error
nuttx\arch\sim\src\sim\sim_checkhostfstypes.c(80,1): error C2338: static_assert failed: 'sizeof(((struct nuttx_stat_s *)0)->st_atim) == sizeof(((struct stat *)0)->st_atim)'
nuttx\arch\sim\src\sim\sim_checkhostfstypes.c(81,1): error C2338: static_assert failed: 'offsetof(struct nuttx_stat_s, st_mtim) == offsetof(struct stat, st_mtim)'
nuttx\arch\sim\src\sim\sim_checkhostfstypes.c(81,1): error C2338: static_assert failed: 'sizeof(((struct nuttx_stat_s *)0)->st_mtim) == sizeof(((struct stat *)0)->st_mtim)'
nuttx\arch\sim\src\sim\sim_checkhostfstypes.c(82,1): error C2338: static_assert failed: 'offsetof(struct nuttx_stat_s, st_ctim) == offsetof(struct stat, st_ctim)'

Co-authored-by: chenxiaoyi <chenxiaoyi@xiaomi.com>
Co-authored-by: xuxin19 <xuxin19@xiaomi.com>
2024-08-14 22:36:57 +08:00
anjiahao 8c8ccbf039 mps3-an547:support mps3-an547 reset
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-08-12 01:59:35 +08:00
Yanfeng Liu 76b58e4af0 board/lm3s6965-ek: restore 128K kflash
This reverts both 2afdcfb6a6 and 0a0af89de9 to restore the 128K kflash
design as the implementation depends on that to work, checked with:

```
$ qemu-system-arm -M lm3s6965evb -nographic -device \
    loader,file=nuttx.bin,addr=0x0 -device \
    loader,file=nuttx_user.bin,addr=0x2000
```

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-11 19:00:18 +08:00
Alan C. Assis fe10abe4a0 arm/stm32f103-minimum: Use common board MFRC522 2024-08-11 03:09:40 +08:00
Rodrigo Sim 208b8e084f arm/stm32f401rc-rs485: Add support to BMP280 sensor
Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
2024-08-11 03:09:14 +08:00
Alan C. Assis 7e0db94063 arm/lm3s6965-ek: Disable NTPC for lm3s6965 to fix maximum flash space reached 2024-08-10 19:26:32 +08:00
Yanfeng Liu 0a0af89de9 board/lm3s6965-ek: fix memory.ld for PROTECTED
The uflash origin should equal to kflash size, this completes the
fix to unblock CI.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-10 19:21:35 +08:00
Yanfeng Liu 83932d115b boards/rv-virt: unify rv32 config names
This renames a few RV32 configs to follow the convention that names w/o
numbers are for RV32, so that to be in line with majority RV32 configs.

As a result, we have:  `nsh` vs `nsh64`, `knsh` vs `knsh64`, `pnsh`
vs `pnsh64`,`flats` vs `flats64`, `nsbi` vs `nsbi64`, `libcxx` vs
`libcxx64` etc. This helps us pick the right config name w/o checking
file contents.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-09 23:44:40 +08:00
Yanfeng Liu 2afdcfb6a6 boards/lm3s6965-ek: adjust memory.ld to unblock CI
This adjusts memory.ld to unblock CI issue: `nuttx_user.elf
section '.text' will not fit in region 'uflash'`

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-09 23:43:31 +08:00
Yanfeng Liu 46f4a24d59 riscv/qemu: add CMake for PROTECTED
This adds CMake support for PROTECTED build mode on rv-virt target.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-09 23:43:31 +08:00
Yanfeng Liu 34a30e577e riscv/qemu: add CMake for NuttSBI
This allows building NuttSBI based kernel image with CMake so that
to support out-of-tree building.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-09 23:43:31 +08:00
chao an 6c97a8f468 sim/login: remove login restrictions to improve the experience for green hands
Most developers start learning Nuttx from sim/nsh, but the login experience is very bad,
they don't know where to get the username and password, this commit will remove the
limitation of sim/nsh login, and add sim/login configuration to ensure the feature of
NSH_CONSOLE_LOGIN is verified.

Signed-off-by: chao an <anchao@lixiang.com>
2024-08-09 11:34:38 -03:00
Nonpawit Ekburanawat 01bac59cb7 Add STM32H745I-DISCO Per Core Support
- New defconfig for nsh CM4 and CM7
- New linker script for cm4
- Update linker script to include shared memory and condition for flash size
- Update Make and CMake file to compile according to core
- Added UART7 pin by default for CM4 serial output
- Changed userled configuration to fix error

Signed-off-by: Nonpawit Ekburanawat <nonpawit.ek@gmail.com>
2024-08-09 01:58:51 +08:00
Lup Yuen Lee 3862b71728 risc-v/qemu-rv: Add Build Config for leds64_rust
This PR adds a new Build Config `rv-virt:leds64_rust` that builds the Rust App `leds_rust` for QEMU RISC-V 64-bit. The build requires the [Rust Target `riscv64gc-unknown-none-elf`](https://github.com/apache/nuttx/pull/12858):

```bash
rustup target add riscv64gc-unknown-none-elf
```

New Files:

`boards/risc-v/qemu-rv/rv-virt/configs/leds64_rust/defconfig`: Add new Build Config `rv-virt:leds64_rust`

Updated Docs:

`applications/examples/leds_rust/index.rst`: Add `leds_rust` example app

`platforms/risc-v/qemu-rv/boards/rv-virt/index.rst`: Add `rv-virt:leds64_rust` config
2024-08-08 12:19:25 +08:00
Shoukui Zhang f94160095e Adapt i2c slave callback interface for rp2040 and s32k11x
Signed-off-by: Shoukui Zhang <zhangshoukui@xiaomi.com>
2024-08-07 12:13:38 -03:00
YAMAMOTO Takashi d9c90eef13 esp32s3-devkit/toywasm: enable ESP32S3_SPI_FLASH_SUPPORT_PSRAM_STACK 2024-08-07 15:59:41 +08:00
Ville Juven 2eb26d04f4 rv-virt/pnsh: Refresh PROTECTED mode configs 2024-08-07 02:41:14 +08:00
Filipe Cavalcanti 65e989e063 arch/risc-v: add support for motor control on ESP32|C6|H2 2024-08-05 15:35:19 -03:00
Rodrigo Sim fddebc267d arm/stm32f401rc-rs485: Add support to RFID MFRC522
Signed-off-by: Rodrigo Sim rcsim10@gmail.com
2024-08-05 11:03:29 -03:00
halyssonJr 415fc185cb add defconfig to userleds 2024-08-04 11:44:34 +08:00
Yanfeng Liu 5848a8e77c riscv/qemu-rv: revise PROTECTED mode
This revises PROTECTED build for qemu-rv mainly to avoid hard-coded
addresses in linker scripts. It also added rv32 support, cleaned up
config `pnsh64` and added config `pnsh`.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-04 11:09:26 +08:00
Ville Juven 1f928b2338 qemu-rv: Add test target pnsh64 for BUILD_PROTECTED
This adds BUILD_PROTECTED target for rv-virt (rv-virt:pnsh64).
2024-08-02 20:29:11 +08:00
Roberto Bucher f5df946676 Additional encoder for F7 and added functions for TimerHook for F745 and H745 and H743 2024-08-02 20:26:06 +08:00
Yanfeng Liu 918ad10859 riscv/qemu: add NuttSBI support
This adds NuttSBI support for rv-virt device so that to enable CI
checks for NuttSBI later. It allows using `-bios nuttx` option to
run NuttX with QEMU v6.2 w/o OpenSBI.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-01 23:32:01 +08:00
p-szafonimateusz 3c05da536a arch/intel64: add support for HPET as system clock
HPET can be used as system clock for x86_64

to set HPET as system clock you have to enable:
  CONFIG_ONESHOT=y
  CONFIG_ALARM_ARCH=y
  CONFIG_INTEL64_ONESHOT=y
  CONFIG_ARCH_INTEL64_HPET_ALARM=y

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-08-01 17:49:41 +08:00
Tiago Medicci 93322a50fe boards/esp32s3: Add initial support to the ESP32-S3-Korvo-2 board
The ESP32-S3-Korvo-2 is a multimedia development board based on the
ESP32-S3 chip. It is equipped with a two-microphone array which is
suitable for voice recognition and near/far-field voice wake-up
applications. The board integrates multiple peripherals such as
LCD, camera, and microSD card. It also supports JPEG video stream
processing. With all of its outstanding features, the board is an
ideal choice for the development of low-cost and low-power
network-connected audio and video products.
2024-08-01 16:04:53 +08:00
Tiago Medicci Serrano 016bc47a63 esp32s3/elf: Enable ELF loader for ESP32-S3
Provide `up_copy_section` function that enables copying data using
the data bus. If the memory destination address is accessible
through the instruction bus, the data is copied using the
correspondent address accessible through the data bus.
2024-07-31 02:33:12 +08:00
zouboan d74a612a6e zynq-mpsoc/zcu111: independent JTAG configs from normal nsh configs 2024-07-30 12:41:30 -03:00
Tiago Medicci Serrano c91599d34c esp32s3/i2s: Fix faulty initialization when SMP is enabled
The buffer initialization function (`i2s_buf_initialize`) calls
`i2s_buf_free`, which performs buffer initialization within a
critical section (`spin_lock_irqsave`). If this function is called
under the same critical section (same spinlock), initialization
will hang.
2024-07-30 01:44:57 +08:00
raiden00pl 1767682f80 boards/arm/stm32/maple: remove SERIAL_CONSOLE from nx and usbnsh configs
these config use CONFIG_CDCACM_CONSOLE console
2024-07-29 00:31:24 +08:00
raiden00pl c5b242a935 boards/arm/lpc17xx_40xx/pnev5180b: remove OTHER_SERIAL_CONSOLE from usbnsh-cdcecm
this configuration uses CONFIG_CDCACM_CONSOLE
2024-07-29 00:31:24 +08:00
raiden00pl 1a94cb60c4 boards/arm/stm32/stm32_tiny: remove SERIAL_CONSOLE from usbnsh config
this configuration uses CONFIG_CDCACM_CONSOLE
2024-07-29 00:31:24 +08:00
raiden00pl 624c841cdc boards/arm/mx8mp/verdin-mx8mp: remove SERIAL_CONSOLE from rmpsg config
this configuration uses CONFIG_RPMSG_UART_CONSOLE as console
2024-07-29 00:31:24 +08:00
raiden00pl 5efe1d5c54 boards/arm/stm32/stm32f429i-disco: remove SERIAL_CONSOLE from systemview config
RTT_CONSOLE takse priority over SERIAL_CONSOLE in arm_internal.h
so enabling SERIAL_CNSOLE has no effects and can be removed
2024-07-29 00:31:24 +08:00
raiden00pl f51772da0e boards/sim/sim/sim: disable CONFIG_SERIAL_RTT_CONSOLE for segger config
disable CONFIG_SERIAL_RTT_CONSOLE for segger config - only one CONSOLE option should be set
2024-07-29 00:31:24 +08:00
Eren Terzioglu 98f5d6adc5 esp32[s2|s3]: Add temperature sensor support 2024-07-27 14:12:44 -03:00
Eren Terzioglu e467a16abe esp32[c3|c6|h2]: Add temperature sensor support 2024-07-27 14:12:44 -03:00
Henry Rovner 42eafcdfa5 risc-v/bl808: Add watchdog driver
This change implements a driver for the two watchdog timers on the BL808, and enables it as part of the timer config. The driver is based on the GP timer driver.
2024-07-27 22:59:23 +08:00
Nonpawit Ekburanawat 7a9418c82c Enable SMPS for STM32H745I-DISCO by default 2024-07-27 22:57:46 +08:00
Huang Qi 78743e4055 Fix some style issues
Modified files:
- boards/arm/cxd56xx/spresense/src/cxd56_clock.c
- boards/arm/sama5/giant-board/include/board.h
- boards/arm/stm32l4/b-l475e-iot01a/include/board.h
- boards/risc-v/esp32c3-legacy/esp32c3-devkit-rust-1/src/esp32c3-devkit-rust-1.h
- boards/sim/sim/sim/src/dummy.c
- drivers/wireless/spirit/lib/spirit_radio.c
- include/nuttx/modem/u-blox.h

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2024-07-27 22:57:32 +08:00
Filipe Cavalcanti 91dfd20eaf arch/xtensa: add support for brushed DC motor control
arch/xtensa: add support for capture driver on ESP32 and ESP32|S3|

Squashed:
Initial settings for MCPWM Capture on board level
Created lower half files - compilation ok
Using capture debug features. Simple example on fops works
Successful duty and freq calculation
Documentation update
Fixed and added interupt capabilities for all 3 capture channels
Cleaned defconfig
Renamed macros, added S3 options and moved arch source to common dir
Added support for ESP32S3
Added capture example to defconfig and renamed

Basic bring up ready. New Kconfig options for motor.

Good motor registration

Working on enabling pwm generators

Working on enabling pwm generators

Added fops functions

Success on PWM 50%

stable pwm operation for bdc

Added loopback option for testing

Improved rules on fsm

Working motor direction control

Testing new ISR for fault handling

Issues on fault ISR

Removed fault implementation (not working)

Added support for esp32s3

Documentation improvements

Added default motor spin direction

Added parameter change while running

Review fixes

arch/xtensa: add support for fault signal on motor control

Squashed:
Initial settings for MCPWM Capture on board level
Created lower half files - compilation ok
Using capture debug features. Simple example on fops works
Successful duty and freq calculation
Documentation update
Fixed and added interupt capabilities for all 3 capture channels
Cleaned defconfig
Renamed macros, added S3 options and moved arch source to common dir
Added support for ESP32S3
Added capture example to defconfig and renamed

Basic bring up ready. New Kconfig options for motor.

Good motor registration

Working on enabling pwm generators

Working on enabling pwm generators

Added fops functions

Success on PWM 50%

stable pwm operation for bdc

Added loopback option for testing

Improved rules on fsm

Working motor direction control

Testing new ISR for fault handling

Issues on fault ISR

Removed fault implementation (not working)

Added support for esp32s3

Documentation improvements

Added default motor spin direction

Added parameter change while running

Got responsive fault indicator

Working brakes - still need to work on starting isr

Fixed single-time ISR initializiation

Working soft brake on fault

Improved KConfig for BDC and BLDC

Kconfig fixed at board level
2024-07-27 12:08:51 +08:00
Luchian Mihai b57079e88e boards/arm/stm32/nucleo-f429zi: remove faulty nsh defconfig symbols
nucleo-f4229zi board does not come with external ram.
Looking at netnsh config, these changes are also not present.
Issue found when registering i2c char driver for i2ctool. zalloc
returned -ENOMEM
2024-07-27 03:12:11 +08:00