Repository navigation
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
|
There was a problem hiding this comment.
🟡 Changes recommended
Seven unresolved findings include interrupt-context mutex use, use-after-free risks, build failures, and peripheral correctness issues.
5 open issues
What changed in this PR
Adds the F101 YuzukiNeko BSP with M-mode/S-mode configurations, Sunxi device-model drivers, multimedia support, and display integration.
Changes:
- Adds board initialization, build configuration, device trees, and validation utilities.
- Integrates peripheral, audio, graphics, USB, and DVFS support.
- Updates shared UART, QSPI, thermal, and graphics handling.
| File | Changes and review notes |
|---|---|
components/drivers/usb/Kconfig |
Adds SoC USB configuration integration. |
components/drivers/usb/cherryusb/port/musb/usb_glue_sunxi.c |
Implements MUSB delay handling. |
components/drivers/thermal/Kconfig |
Selects the system workqueue dependency. |
components/drivers/spi/dev_qspi_core.c |
Synchronizes SPI/QSPI configuration. |
components/drivers/serial/device/8250/8250-dw.c |
Adds reset and register-shift handling. critical, 3 votes — line 257: Unconditional reset calls break builds with reset support disabled; select the dependency or guard acquisition, deassertion, and cleanup. |
components/drivers/graphic/logo/logo.c |
Corrects conversion argument ordering. |
components/drivers/graphic/graphic_simple.c |
Updates plane failure cleanup. |
components/drivers/graphic/framebuffer/SConscript |
Integrates the ST77916 driver build. |
components/drivers/graphic/framebuffer/Kconfig |
Adds ST77916 configuration. |
bsp/allwinner/f101/usbcrc-send.sh |
Adds a USB transfer utility. |
bsp/allwinner/f101/SConstruct |
Configures BSP builds and device-tree generation. |
bsp/allwinner/f101/SConscript |
Includes board code and shared drivers. |
bsp/allwinner/f101/rtconfig.py |
Configures the RISC-V toolchain. |
bsp/allwinner/f101/Kconfig |
Defines SoC and board configuration. |
bsp/allwinner/f101/f101-yuzukineko.Kconfig |
Adds boot-mode and display options. |
bsp/allwinner/f101/board/usb_config.h |
Configures Sunxi MUSB. |
bsp/allwinner/f101/board/SConscript |
Integrates board initialization into the build. |
bsp/allwinner/f101/board/board.h |
Declares board initialization. |
bsp/allwinner/f101/board/board.c |
Implements board setup and shutdown hooks. |
bsp/allwinner/f101/applications/SConscript |
Selects application sources. |
bsp/allwinner/f101/applications/main.c |
Adds the startup application. |
bsp/allwinner/f101/applications/fb_rotate.c |
Adds a framebuffer rotation command. |
bsp/allwinner/dm/watchdog/watchdog-sunxi.c |
Implements watchdog and machine-reset support. |
bsp/allwinner/dm/watchdog/SConscript |
Integrates the watchdog build. |
bsp/allwinner/dm/watchdog/Kconfig |
Adds watchdog configuration. |
bsp/allwinner/dm/usb/usb-sunxi.c |
Implements MUSB platform glue. moderate, 1 vote — line 171: Failure cleanup disables/unprepares acquired clocks that were never successfully enabled, risking count underflow or shared-clock disruption; track successful enables separately. |
bsp/allwinner/dm/usb/SConscript |
Integrates USB platform support into the build. |
bsp/allwinner/dm/usb/Kconfig |
Defines USB dependencies. |
bsp/allwinner/dm/thermal/thermal-sunxi.c |
Implements calibrated temperature sensing. critical, 2 votes — line 270: Failed zone unregistration leaves work and list entries referencing freed memory; propagate the error and retain resources until unregistration succeeds. |
bsp/allwinner/dm/thermal/SConscript |
Integrates the thermal driver build. |
bsp/allwinner/dm/thermal/Kconfig |
Adds thermal driver configuration. |
bsp/allwinner/dm/spi/SConscript |
Integrates the SPI driver build. |
bsp/allwinner/dm/spi/Kconfig |
Adds SPI/QSPI configuration. |
bsp/allwinner/dm/soc/SConscript |
Selects multimedia and accelerator sources. |
bsp/allwinner/dm/soc/Kconfig |
Defines accelerator and codec options. |
bsp/allwinner/dm/soc/g2d/g2d.h |
Defines graphics operation interfaces. |
bsp/allwinner/dm/soc/g2d/g2d_sunxi_regs.h |
Defines G2D registers. |
bsp/allwinner/dm/soc/g2d/g2d_sunxi_hw.h |
Defines internal G2D interfaces. |
bsp/allwinner/dm/soc/g2d/g2d_sunxi_format.c |
Handles pixel formats and surfaces. |
bsp/allwinner/dm/soc/g2d/g2d_sunxi_cmdlist.c |
Constructs register command lists. |
bsp/allwinner/dm/sdio/SConscript |
Integrates the SDIO/MMC driver build. |
bsp/allwinner/dm/sdio/Kconfig |
Adds MMC controller configuration. |
bsp/allwinner/dm/SConscript |
Collects shared driver directories. |
bsp/allwinner/dm/rtc/SConscript |
Integrates the RTC driver build. |
bsp/allwinner/dm/rtc/Kconfig |
Adds RTC and alarm configuration. |
bsp/allwinner/dm/reset/SConscript |
Integrates reset-controller builds. |
bsp/allwinner/dm/reset/reset-sunxi.c |
Implements reset-controller operations. |
bsp/allwinner/dm/reset/reset-sun252i-f101.c |
Maps F101 reset lines. |
bsp/allwinner/dm/reset/Kconfig |
Defines reset-controller configuration. |
bsp/allwinner/dm/pwm/SConscript |
Integrates the PWM driver build. |
bsp/allwinner/dm/pwm/Kconfig |
Adds PWM configuration. |
bsp/allwinner/dm/pinctrl/SConscript |
Integrates pin-controller builds. |
bsp/allwinner/dm/pinctrl/pinctrl-sun252i-f101.c |
Defines F101 pin banks and functions. |
bsp/allwinner/dm/pinctrl/Kconfig |
Adds pin-controller configuration. |
bsp/allwinner/dm/nvmem/SConscript |
Integrates the SID driver build. |
bsp/allwinner/dm/nvmem/nvmem-sunxi-sid.c |
Implements read-only eFuse access. |
bsp/allwinner/dm/nvmem/Kconfig |
Adds SID configuration. |
bsp/allwinner/dm/Kconfig |
Defines shared subsystem configuration paths. |
bsp/allwinner/dm/inputcapture/SConscript |
Integrates the input-capture build. |
bsp/allwinner/dm/inputcapture/Kconfig |
Adds IR receiver configuration. |
bsp/allwinner/dm/inputcapture/inputcapture-sunxi-irrx.c |
Implements IR pulse capture. |
bsp/allwinner/dm/input/touchscreen/ts-sunxi-tpadc.c |
Implements resistive touch input. critical, 1 vote — lines 162 and 284: Ignoring unregister failure while the device is open frees an object still referenced by users and device lists; unregister first and propagate failure without freeing resources. |
bsp/allwinner/dm/input/touchscreen/SConscript |
Integrates the touchscreen driver build. |
bsp/allwinner/dm/input/touchscreen/Kconfig |
Adds touchscreen configuration. |
bsp/allwinner/dm/input/SConscript |
Collects input driver subdirectories. |
bsp/allwinner/dm/include/sunxi-pngd.h |
Defines the PNG decoder interface. |
bsp/allwinner/dm/include/sunxi-jpege.h |
Defines the JPEG encoder interface. |
bsp/allwinner/dm/include/sunxi-jpegd.h |
Defines JPEG decoder and buffer interfaces. |
bsp/allwinner/dm/include/sunxi-g2d.h |
Defines the G2D device interface. |
bsp/allwinner/dm/include/sunxi_reset.h |
Defines reset descriptors. |
bsp/allwinner/dm/include/sunxi_pinctrl.h |
Defines pin-controller descriptors. |
bsp/allwinner/dm/include/sunxi_ccu.h |
Defines clock descriptors. |
bsp/allwinner/dm/include/dt-bindings/reset/sun252i-f101-ccu.h |
Defines F101 reset binding IDs. |
bsp/allwinner/dm/include/dt-bindings/clock/sun252i-f101-rtc.h |
Defines RTC clock binding IDs. |
bsp/allwinner/dm/include/dt-bindings/clock/sun252i-f101-cpupll.h |
Defines CPU PLL clock binding IDs. |
bsp/allwinner/dm/include/dt-bindings/clock/sun252i-f101-ccu.h |
Defines peripheral clock binding IDs. |
bsp/allwinner/dm/i2c/SConscript |
Integrates the TWI driver build. |
bsp/allwinner/dm/i2c/Kconfig |
Adds TWI configuration. |
bsp/allwinner/dm/hwcrypto/SConscript |
Integrates hardware cryptography builds. |
bsp/allwinner/dm/hwcrypto/Kconfig |
Configures AES and RNG support. |
bsp/allwinner/dm/graphic/SConscript |
Integrates graphics driver directories. |
bsp/allwinner/dm/graphic/framebuffer/sunxi-display-output.h |
Defines display-output interfaces. |
bsp/allwinner/dm/graphic/framebuffer/SConscript |
Selects display backend sources. |
bsp/allwinner/dm/graphic/framebuffer/Kconfig |
Configures DE/TCON display support. |
bsp/allwinner/dm/dvfs/SConscript |
Collects DVFS drivers. |
bsp/allwinner/dm/dvfs/cpufreq/SConscript |
Integrates the CPUfreq driver build. |
bsp/allwinner/dm/dvfs/cpufreq/Kconfig |
Adds CPUfreq configuration. |
bsp/allwinner/dm/dvfs/cpufreq/dvfs-sun252i-f101-cpufreq.c |
Registers CPU frequency scaling and governor setup. |
bsp/allwinner/dm/dts/sun252i-f101-yuzukineko.dts |
Assembles the board device tree. |
bsp/allwinner/dm/dts/sun252i-f101-yuzukineko-st77916.dtsi |
Configures QSPI panel wiring and initialization. |
bsp/allwinner/dm/dts/sun252i-f101-yuzukineko-common.dtsi |
Describes board resources and peripherals. moderate, 3 votes — line 129: Speaker-enable GPIO bank 8 is unsupported by the A–F pin controller, leaving the amplifier disabled; correct the GPIO or implement the required bank. |
bsp/allwinner/dm/dma/SConscript |
Integrates the DMA driver build. |
bsp/allwinner/dm/dma/Kconfig |
Adds DMA configuration. |
bsp/allwinner/dm/clock_time/SConscript |
Integrates the timer driver build. |
bsp/allwinner/dm/clock_time/Kconfig |
Adds timer configuration. |
bsp/allwinner/dm/clk/SConscript |
Integrates F101 clock providers. |
bsp/allwinner/dm/clk/Kconfig |
Defines clock-controller configuration. |
bsp/allwinner/dm/clk/clk-sun252i-f101-rtc.c |
Implements the RTC clock provider. |
bsp/allwinner/dm/audio/SConscript |
Selects audio driver sources. |
bsp/allwinner/dm/audio/Kconfig |
Defines audio output configuration. |
bsp/allwinner/dm/audio/audio-sunxi.h |
Defines shared audio interfaces. |
bsp/allwinner/dm/audio/audio-sunxi.c |
Implements DMA-backed audio output. critical, 1 vote — line 268: DMA completion synchronously restarts transmission and takes a mutex in interrupt context, risking assertion or deadlock; defer restart to a worker or make the entire path ISR-safe. |
bsp/allwinner/dm/adc/SConscript |
Integrates the GPADC driver build. |
bsp/allwinner/dm/adc/Kconfig |
Adds GPADC configuration. |
bsp/allwinner/dm/adc/adc-sunxi-gpadc.c |
Implements ADC configuration and channel access. moderate, 1 vote — line 136: The fixed 2 µs delay is insufficient at supported low sample rates, causing stale reads and premature channel disable; wait for conversion-ready with a bounded, rate-aware timeout. |
Review effort: Balanced
41d4710 to
b3b185e
Compare
Add initial support for the Allwinner F101S3-based YuzukiNeko board. - add the F101 YuzukiNeko BSP with M-mode and S-mode configurations - add Sun252i F101 DM drivers for clock, reset, pinctrl, DMA, SDIO, SPI, USB, audio, thermal, RTC, PWM, ADC, NVMEM, watchdog, DVFS, G2D, and JPEG - add the Sunxi DE0/TCON0 display-output backend for RGB, LVDS, and MIPI-DSI - add ST77916 QSPI framebuffer board configuration and validation commands - add Sunxi MUSB glue support for CherryUSB - fix shared driver framework handling for power domains, DVFS, graphics, UART reset and register shift, QSPI configuration, thermal workqueues, input capture, and DM USB integration Signed-off-by: GuEe-GUI <2991707448@qq.com>
Add initial RT-Thread support for Allwinner H616 boards - add the AArch64 H616 BSP with MMU, SMP, PSCI, and external DTB boot - add H616 DM drivers for CCU/reset, pinctrl, thermal, CPU DVFS, codec, AHUB HDMI audio, CE hwcrypto, DE33 HDMI framebuffer, and TCON TOP - add support for H616 RTC, DMA, SDIO, I2C, SPI, PWM, watchdog, IR, SID NVMEM, GPIO LEDs, JPEG decode, G2D, GPADC, and LRADC - add AXP313A regulator support - extend shared Sunxi SDIO, G2D, and JPEG drivers for H616 resources Signed-off-by: GuEe-GUI <2991707448@qq.com>


拉取/合并请求描述:(PR description)
[
add the F101 YuzukiNeko BSP with M-mode and S-mode configurations
add Sun252i F101 DM drivers for clock, reset, pinctrl, DMA, SDIO, SPI, USB, audio, thermal, RTC, PWM, ADC, NVMEM, watchdog, DVFS, G2D, and JPEG
add the Sunxi DE0/TCON0 display-output backend for RGB, LVDS, and MIPI-DSI
add ST77916 QSPI framebuffer board configuration and validation commands
add Sunxi MUSB glue support for CherryUSB
fix shared driver framework handling for power domains, DVFS, graphics, UART reset and register shift, QSPI configuration, thermal workqueues, input capture, and DM USB integration
Add initial RT-Thread support for Allwinner H616 boards
add the AArch64 H616 BSP with MMU, SMP, PSCI, and external DTB boot
add H616 DM drivers for CCU/reset, pinctrl, thermal, CPU DVFS, codec,
AHUB HDMI audio, CE hwcrypto, DE33 HDMI framebuffer, and TCON TOP
add support for H616 RTC, DMA, SDIO, I2C, SPI, PWM, watchdog, IR,
SID NVMEM, GPIO LEDs, JPEG decode, G2D, GPADC, and LRADC
add AXP313A regulator support
extend shared Sunxi SDIO, G2D, and JPEG drivers for H616 resources
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up