summaryrefslogtreecommitdiff
path: root/bsp
AgeCommit message (Collapse)Author
2024-07-19[stm32][pm]lptimer is supportedwdfk-prog
2024-07-19[stm32][lptim]lptimer is register with hwtimer, only supports pm calls,the ↵wdfk-prog
timer function is not supported
2024-07-18bsp: cvitek: switch to device init function for some driversChen Wang
Some drivers use INIT_BOARD_EXPORT, it is not necessary, it is enough to use INIT_DEVICE_EXPORT for genearl drivers. Signed-off-by: Chen Wang <[email protected]>
2024-07-18adapt to rv64ilp32 toolchainMuChenger
2024-07-17Merge pull request #9201 from unicornx/dev-wdt-bugfixBernard Xiong
bsp: cvitek: accuulated bugfixes for wdt driver
2024-07-17Merge pull request #9200 from unicornx/dev-spi-newBernard Xiong
bsp: cvitek: re-wrote spi driver
2024-07-17Merge pull request #9199 from unicornx/dev-i2c-newBernard Xiong
bsp: cvitek: re-wrote i2c driver
2024-07-17bsp: cvitek: fix the wdt timeout unit problemChen Wang
See `components/drivers/include/drivers/watchdog.h` maco definition of RT_DEVICE_CTRL_WDT_GET_TIMEOUT RT_DEVICE_CTRL_WDT_SET_TIMEOUT RT_DEVICE_CTRL_WDT_GET_TIMELEFT The wdt timeout time unit is defined as seconds in the API, but the code incorrectly uses ms. Correct this and comply with the API definition. Signed-off-by: Chen Wang <[email protected]> Reviewed-by: Yuanjie He <[email protected]> Reviewed-by: Shell <[email protected]>
2024-07-17bsp: cvitek: re-wrote spi driverflyingcys
Rewrote the spi driver. Reuse the driver code from https://github.com/sophgo/cvi_alios_open, which is Apache 2.0 licenced. Signed-off-by: flyingcys <[email protected]> Reviewed-by: Chen Wang <[email protected]>
2024-07-17Merge branch 'master' into shell/rv64-tickShell
2024-07-17bsp: cvitek: remove warning when building wdt driverChen Wang
``` ./bsp/cvitek/drivers/drv_wdt.c: In function '_wdt_control': warning: assignment to 'void *' from 'unsigned int' makes pointer from integer without a cast [-Wint-conversion] 119 | wdt_device->parent.user_data = (rt_uint32_t)(*(rt_uint32_t *)arg); | ^ warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 122 | *(rt_uint32_t *)arg = (rt_uint32_t)wdt_device->parent.user_data; | ^ ``` Rootcasue: It's not portable to store integar in a pointer. Solution: use global _wdt_dev to store the timeout value. Signed-off-by: Chen Wang <[email protected]>
2024-07-17bsp: cvitek: re-wrote i2c driverflyingcys
Optimize the original i2c driver code. Signed-off-by: flyingcys <[email protected]> Reviewed-by: Chen Wang <[email protected]>
2024-07-16bsp:cvitek: add pinmux for adcChen Wang
Signed-off-by: Chen Wang <[email protected]>
2024-07-16bsp:cvitek: add pinmux for spiChen Wang
Board level pin available info: duo & duo256: NAME SPI CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- GP6 SPI2_SCK PWR_GPIO[23] SD1_CLK__SPI2_SCK GP7 SPI2_SDO PWR_GPIO[22] SD1_CMD__SPI2_SDO GP8 SPI2_SDI PWR_GPIO[21] SD1_D0__SPI2_SDI GP9 SPI2_CS_X PWR_GPIO[18] SD1_D3__SPI2_CS_X Signed-off-by: Chen Wang <[email protected]>
2024-07-16bsp:cvitek: add pinmux for pwmChen Wang
Board level pin available info is summarized and list here for memo: Duo: NAME PWM CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- PWM-1 GP9 PWM4 PWR_GPIO[18] SD1_D3__PWM_4 GP12 PWM4 XGPIOA[16] UART0_TX__PWM_4 GP4 PWM5 PWR_GPIO[19] SD1_D2__PWM_5 GP13 PWM5 XGPIOA[17] UART0_RX__PWM_5 GP5 PWM6 PWR_GPIO[20] SD1_D1__PWM_6 GP8 PMW7 PWR_GPIO[21] SD1_D0__PWM_7 PWM-2 GP7 PWM8 PWR_GPIO[22] SD1_CMD__PWM_8 GP6 PWM9 PWR_GPIO[23] SD1_CLK__PWM_9 GP2 PWM10 PWR_GPIO[26] SD1_GPIO1__PWM_10 GP3 PWM11 PWR_GPIO[25] SD1_GPIO0__PWM_11 Duo256: NAME PWM CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- PWM-1 GP9 PWM4 PWR_GPIO[18] SD1_D3__PWM_4 GP12 PWM4 XGPIOA[16] UART0_TX__PWM_4 GP4 PWM5 PWR_GPIO[19] SD1_D2__PWM_5 GP13 PWM5 XGPIOA[17] UART0_RX__PWM_5 GP3 PWM6 XGPIOA[18] JTAG_CPU_TCK__PWM_6 GP5 PWM6 PWR_GPIO[20] SD1_D1__PWM_6 GP2 PWM7 XGPIOA[19] JTAG_CPU_TMS__PWM_7 GP8 PMW7 PWR_GPIO[21] SD1_D0__PWM_7 PWM-2 GP7 PWM8 PWR_GPIO[22] SD1_CMD__PWM_8 GP6 PWM9 PWR_GPIO[23] SD1_CLK__PWM_9 GP10 PWM10 XGPIOC[14] PAD_MIPI_TXM1__PWM_10 GP11 PWM11 XGPIOC[15] PAD_MIPI_TXP1__PWM_11 Signed-off-by: Chen Wang <[email protected]>
2024-07-16bsp:cvitek: add pinmux for uartChen Wang
Board level UART pinmux summary, following capability should be controlled by pinname whitelist. Duo: NAME UART CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- GP13 UART0_RX XGPIOA[17] UART0_RX__UART0_RX GP12 UART0_TX XGPIOA[16] UART0_TX__UART0_TX GP1 UART1_RX XGPIOA[29] IIC0_SDA__UART1_RX GP13 UART1_RX XGPIOA[17] UART0_RX__UART1_RX GP0 UART1_TX XGPIOA[28] IIC0_SCL__UART1_TX GP12 UART1_TX XGPIOA[16] UART0_TX__UART1_TX GP1 UART2_RX XGPIOA[29] IIC0_SDA__UART2_RX GP5 UART2_RX PWR_GPIO[20] SD1_D1__UART2_RX GP0 UART2_TX XGPIOA[28] IIC0_SCL__UART2_TX GP4 UART2_TX PWR_GPIO[19] SD1_D2__UART2_TX GP5 UART3_RX PWR_GPIO[20] SD1_D1__UART3_RX GP4 UART3_TX PWR_GPIO[19] SD1_D2__UART3_TX GP3 UART4_RX PWR_GPIO[25] SD1_GPIO0__UART4_RX GP2 UART4_TX PWR_GPIO[26] SD1_GPIO1__UART4_TX Duo 256m: NAME UART CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- GP13 UART0_RX XGPIOA[17] UART0_RX__UART0_RX GP12 UART0_TX XGPIOA[16] UART0_TX__UART0_TX GP1 UART1_RX XGPIOA[29] IIC0_SDA__UART1_RX GP3 UART1_RX XGPIOA[18] JTAG_CPU_TCK__UART1_RX GP13 UART1_RX XGPIOA[17] UART0_RX__UART1_RX GP0 UART1_TX XGPIOA[28] IIC0_SCL__UART1_TX GP2 UART1_TX XGPIOA[19] JTAG_CPU_TMS__UART1_TX GP12 UART1_TX XGPIOA[16] UART0_TX__UART1_TX GP1 UART2_RX XGPIOA[29] IIC0_SDA__UART2_RX GP5 UART2_RX PWR_GPIO[20] SD1_D1__UART2_RX GP0 UART2_TX XGPIOA[28] IIC0_SCL__UART2_TX GP4 UART2_TX PWR_GPIO[19] SD1_D2__UART2_TX GP5 UART3_RX PWR_GPIO[20] SD1_D1__UART3_RX GP4 UART3_TX PWR_GPIO[19] SD1_D2__UART3_TX Note: this patch also update the .config and rtconfig.h because this patch modify some configuration items's name, for example: RT_USIMG_UART0 -> BSP_USING_UART0. FIXME: only handle RISC-V related, no ARM. Signed-off-by: Chen Wang <[email protected]>
2024-07-16bsp:cvitek: add pinmux for i2cChen Wang
Based on new pinmux framework, add configuration for uart. Board level pin available info is summarized and should be controlled by pin whitelist. Duo NAME I2C CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- GP0 I2C0_SCL XGPIOA[28] IIC0_SCL__IIC0_SCL GP1 I2C0_SDA XGPIOA[29] IIC0_SDA__IIC0_SDA GP4 I2C1_SCL PWR_GPIO[19] SD1_D2__IIC1_SCL GP9 I2C1_SCL PWR_GPIO[18] SD1_D3__IIC1_SCL GP11 I2C1_SCL XGPIOC[10] PAD_MIPIRX0N__IIC1_SCL GP5 I2C1_SDA PWR_GPIO[20] SD1_D1__IIC1_SDA GP8 I2C1_SDA PWR_GPIO[21] SD1_D0__IIC1_SDA GP10 I2C1_SDA XGPIOC[9] PAD_MIPIRX1P__IIC1_SDA GP7 I2C3_SCL PWR_GPIO[22] SD1_CMD__IIC3_SCL GP6 I2C3_SDA PWR_GPIO[23] SD1_CLK__IIC3_SDA Duo256m NAME I2C CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- GP4 I2C1_SCL PWR_GPIO[19] SD1_D2__IIC1_SCL GP9 I2C1_SCL PWR_GPIO[18] SD1_D3__IIC1_SCL GP5 I2C1_SDA PWR_GPIO[20] SD1_D1__IIC1_SDA GP8 I2C1_SDA PWR_GPIO[21] SD1_D0__IIC1_SDA GP11 I2C2_SCL XGPIOC[15] PAD_MIPI_TXP1__IIC2_SCL GP10 I2C2_SDA XGPIOC[14] PAD_MIPI_TXM1__IIC2_SDA GP7 I2C3_SCL PWR_GPIO[22] SD1_CMD__IIC3_SCL GP6 I2C3_SDA PWR_GPIO[23] SD1_CLK__IIC3_SDA Duo S(Note, we have not supported duo S, just list for memo) NAME I2C CV1800B/GPIO <PINNAME>__<FUNCNAME> ---- --- ------------ --------------------- J3-B18 I2C1_SCL XGPIOB[18] VIVO_D3__IIC1_SCL J3-B12 I2C1_SCL XGPIOB[12] VIVO_D9__IIC1_SCL J3-B11 I2C1_SDA XGPIOB[11] VIVO_D10__IIC1_SDA J3-B13 I2C2_SCL XGPIOB[13] VIVO_D8__IIC2_SCL J4-E1 I2C2_SCL PWR_GPIO[1] PWR_GPIO1__IIC2_SCL J3-B14 I2C2_SDA XGPIOB[14] VIVO_D7__IIC2_SDA J4-E2 I2C2_SDA PWR_GPIO[2] PWR_GPIO2__IIC2_SDA J3-B20 I2C4_SCL XGPIOB[20] VIVO_D1__IIC4_SCL J4-B1 I2C4_SCL XGPIOB[1] ADC3__IIC4_SCL J3-B21 I2C4_SDA XGPIOB[21] VIVO_D0__IIC4_SDA J4-B2 I2C4_SDA XGPIOB[2] ADC2__IIC4_SDA Signed-off-by: Chen Wang <[email protected]>
2024-07-16bsp:cvitek: add calibration for adcChen Wang
The ADC controller needs to be calibrated during the initialization phase, otherwise the measured voltage value will be inaccurate. Signed-off-by: Chen Wang <[email protected]>
2024-07-16bsp: cvitek: new design for pinmuxChen Wang
In the new design, we require the user to manually enter the PinName (as a string) in menuconfig instead of being given menu items to select. The original method will lead to too many menu item-related macros being defined in the code, causing ifdef and other codes scatter everywhere in the driver code, which is inconvenient to maintain. The new design adds a pinmux driver module to manage the multiplexing of pins. This patch provides this driver module. P.S., the reason why users are allowed to specify pinname in a string instead of the pin number is mainly because the technical manual provided by the SOC manufacturer does not have numbers for some pins, only names. Signed-off-by: Chen Wang <[email protected]> Reviewed-by: Yuanjie He <[email protected]> Reviewed-by: Shell <[email protected]>
2024-07-16bsp:cvitek: revert add i2c pinmux config for c906Chen Wang
The contents of the SOC type part in the Kconfig configuration are retained, and other parts related to I2C pin multiplexing selection have been rolled back. Signed-off-by: Chen Wang <[email protected]> Reviewed-by: Yuanjie He <[email protected]> Reviewed-by: Shell <[email protected]>
2024-07-15Bugfix/fix weak handle trap in riscv common crash rv64 trap handling (#9189)Fan Yang
* [bsp][hpmicro] add weak handle_trap implementation - added weak handle_trap implementation Signed-off-by: Fan YANG <[email protected]> * [libcpu][risc-v][common] remove weak handle_trap function - removed weak handle_trap function from trap_common.c Signed-off-by: Fan YANG <[email protected]> --------- Signed-off-by: Fan YANG <[email protected]>
2024-07-15[libcpu/rv64] feat: unify tick.cShell
The changes unify the tick.c implementations for all risc-v64 architectures, leveraging the CPUTIME feature. This refactoring was necessary to streamline the codebase, and ensure consistent timer handling across different platforms. Changes: - Updated `Kconfig` in `bsp/cvitek/cv18xx_risc-v` to fix formatting issues. - Updated .config for BSPs to update `CPUTIME_TIMER_FREQ` - Updated header of for API `riscv_cputime_init` - Initialized riscv timer on `rt_hw_tick_init` - Refactored `tick.c` and `tick.h` in `libcpu/risc-v/t-head/c906` and `libcpu/risc-v/virt64`: - Replaced direct use of `rdtime` with `clock_cpu_gettime`. - Removed redundant timer frequency definitions. - Added static assertions to check the value of `CPUTIME_TIMER_FREQ`. - Initialized `tick_cycles` based on `CPUTIME_TIMER_FREQ`. - Integrated `ktime` support for tick initialization. Signed-off-by: Shell <[email protected]> Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9164 Reviewed-by: Chen Wang <[email protected]>
2024-07-12[STM32][SPI]移除内部编写的延时函数使用统一延时接口wdfk-prog
2024-07-11[bsp/cvitek]将eth驱动中地址类型改为指针以适应ioremap (#9137)heyuanjie87
ioremap后地址可能超32位
2024-07-09[bsp][stm32_rt_spark]Add README_ENLZerro
2024-07-09[bsp/allwinner] feat: porting to RT_USING_DEVICE_OPS (#9142)Shell
* [bsp/allwinner] feat: porting to RT_USING_DEVICE_OPS This patch ports the codebase to use the RT_USING_DEVICE_OPS structure, which is required by v5.1.0 Smart kernel, improves modularity and makes it easier to manage device operations by consolidating them into a single structure, enhancing maintainability and future scalability. Changes: - Added RT_USING_DEVICE_OPS conditionals to partition.c and drv_sdmmc.c. - Defined rt_device_ops structures for partition and sdmmc drivers. - Updated device initialization to use the ops structure if defined. - Replaced direct function calls with rt_dev_control, rt_dev_read, and rt_dev_write macros where applicable. - Removed redundant us_delay function from os.c. Signed-off-by: Shell <[email protected]> * feat: update configuration * feat: fixup compiler warning --------- Signed-off-by: Shell <[email protected]>
2024-07-08document: add ref to gpio pinoutShell
2024-07-08[bsp][NXP]Fix .md picture mistakesLZerro
2024-07-08[bsp][Infineon]&[NXP] Add README_ENLZerro
2024-07-07[bsp][qemu]修复qemu-a9使能lcd缺失依赖问题.Rbb666
2024-07-04[bsp/cvitek/eth]解决编译警告heyuanjie87
2024-07-04[bsp][stm32]Increase the serial_v1 tx timeout.Rbb666
2024-07-02[bsp/cvitek]解决eth编译报错heyuanjie87
2024-07-02[bsp][stm32]fix stm32h7 spi transmit fail probelm.Rbb666
2024-06-30[rtduino][pico] update README.mdShicheng Chu
2024-06-30Update cherryusb to v1.3.1 (#9122)sakumisu
* fix(hpmicro): remove duplicate usb variable * update(cherryusb): update to v1.3.1
2024-06-28[BSP][HC32]add lckfb-hc32f4a0-lqfp100 (#9119)yuanzihao
* -以ev_hc32f4a0_lqfp176为模板进行修改 * -修改对应引脚 * -更新readme * -update readme * -添加 lckfb-hc32f4a0-lqfp100
2024-06-28[BSP][nxp]增加wifi_weather_sample.c (#9118)Abner
* [BSP][nxp]增加wifi_weather_sample.c * [BSP][nsp]增加wifi_weather_sample.c
2024-06-27[bsp][nxp] Delete mcxn947 sdk unused path.andeyqi
2024-06-27[bsp][nxp] Update mcxn236 & mcxn947 LFLAGS config.andeyqi
2024-06-27[bsp/stm32f407-lckfb-skystar] ↵yuanzihao
天空星高配版的FLASH从GD25Q32升级为W25Q128 (#9108) * -更新芯片型号和板子型号 * -天空星目前只有青春版(没有贴外部flash),高配版(有贴外部flash)正在生产,所贴的SPI FLASH 从GD25Q32升级为W25Q128。
2024-06-27[file]modify a9/launch.json[email protected]
2024-06-27[bsp/stm32f103-100ask-mini] extend ROM from 64KB to 128KBMeco Man
2024-06-27[bsp][stm32][uart V1]优化驱动实现wdfk-prog
* 增加putc超时处理机制,防止死循环 * 优化TX中断初始化与卸载 * 添加TX中断方式实现
2024-06-26[bsp][nxp][frdm-mcxn236] remove sdio and ethJisheng Zhang
there's no sdio/eth in HW, remove it
2024-06-26[bsp][nxp][frdm-mcxn236] fix SW btnJisheng Zhang
This is the SW2 button, a.k.a wakeup button on the board. Another choice is SW3 a.k.a ISP button which is connected to P0_6.
2024-06-26[bsp][nxp] s/libraries/LibrariesJisheng Zhang
The upper/lower case matters under *nix
2024-06-26[bsp]: fix bugs of cvitek and pico driversZ8MAN8
2024-06-26[bsp][stm32]Optimize ADCs and fix some bugsyiyi
2024-06-26bsp/cvitek update readmeLTreeshu