-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
适配 Milk-V Duo #1
base: main
Are you sure you want to change the base?
Conversation
T-Head is a semiconductor chip business entity of Alibaba Group. Signed-off-by: Chen Xingyu <[email protected]>
SOPHGO is a company focus on development of TPU and RISC-V processors. Signed-off-by: Chen Xingyu <[email protected]>
MilkV is a RISC-V MCU company located in Shenzhen, China. Signed-off-by: Chen Xingyu <[email protected]>
C906 is a RISC-V CPU designed by T-Head. This commit introduces its DTS binding for later use. Signed-off-by: Chen Xingyu <[email protected]>
This commit introduces the existing RISC-V Machine Timer driver to CV180x: * Though it's a RV64I CPU, the MTIMECMP register can only be access in 32-bit. * `MTIME` should be read with a `rdtime` instruction, instead of memory access. Signed-off-by: Chen Xingyu <[email protected]>
On some platforms, such as T-HEAD C906, edge-triggered interrupts are not supported, and the `TRIG_TYPE` register does not exist. Accessing such a register causes mcause 5 (Load access fault). This commit introduces a Kconfig option to prevent such faults. On platforms that do not support edge-triggered interrupts, this option should be set to `n`. For backward compatibility reasons, this option is set to `y` by default. Co-authored-by: honglin leng <[email protected]> Signed-off-by: Chen Xingyu <[email protected]>
Getting the IRQ number with `DT_*IRQN` helpers instead of directly getting the `irq` DT prop, so the multi-level interrupts are correctly encoded. Signed-off-by: Chen Xingyu <[email protected]>
CV180x is a series of RV64 SoCs developed by SOPHGO (formerly CVITEK), based on T-Head C906 CPU. Co-authored-by: honglin leng <[email protected]> Signed-off-by: Chen Xingyu <[email protected]>
This commit introduces a pin-controller driver for the CV180x series. Please refer to the official datasheet for the naming conventions of pins and signals. Signed-off-by: Chen Xingyu <[email protected]>
This commit adds PWM driver for CV180x. Signed-off-by: Chen Xingyu <[email protected]>
This implements a mailbox driver for CV18xx, a multi-core SoC by SOPHGO. This driver enables the little core of CV18xx running RTOS to communicate with its big core running Linux. Signed-off-by: honglin leng <[email protected]>
Milk-V Duo is a tiny development board shipped with SOPHGO CV1800B. Signed-off-by: Chen Xingyu <[email protected]>
This commit adds an overlay to the PWM driver tests for Milk-V Duo board. Signed-off-by: Chen Xingyu <[email protected]>
This commit adds a mbox sample for the Milk-V Duo, a board equipped with the SOPHGO CV1800B SoC. The CV1800B is a multi-core SoC that consists of two C906 cores. The big core, referred to as C906B, runs Linux, while the little core, referred to as C906L, runs an RTOS. This sample receives mailbox requests from the big core running the official SDK's mailbox sample, prints the request body, and performs example operations such as LED control. Signed-off-by: honglin leng <[email protected]>
尊敬的参赛选手,您好。 |
@shiptux 你好,我们查看了https://github.com/plctlab/rvspoc/tree/main/Results/Verifications/P2307 的验证结果,有一点需要提出申诉。 另外,按照组委会的建议,我们正在将贡献提交给Zephyr官方。参见 zephyrproject-rtos#69594 |
您好,我们会在下午对此项进行复测,并将结果更新。感谢您的回复。 |
参赛者 您好,我们已经在将复核结果更新在了。https://github.com/plctlab/rvspoc/blob/main/Results/Verifications/P2307/README.md 请您再次确认是否有误。 |
确认无误 |
各位好,
这里是 Team ID 66 的你走线如丁似蛋队,由 @xingrz 和 @lenghonglin 组成。这是我们团队在《RISC-V 软件移植及优化锦标赛:Zephyr 移植和演示》的答卷。
该 PR 适配了如下外设:
CONFIG_MBOX
sophgo,cv18xx-mailbox
CONFIG_PINCTRL
sophgo,cv180x-pinctrl
CONFIG_GPIO
snps,designware-gpio
CONFIG_PWM
sophgo,cv180x-pwm
CONFIG_SERIAL
ns16550
sifive,plic-1.0.0
sifive,clint0
以下外设虽在题目中有所提及,但官方 SDK 中未给出 FreeRTOS 实现,按照手册简单尝试后亦无法按预期工作,我们认为它们对小核不可用,因此暂未适配:
复现步骤
从官方 SDK 构建出镜像并烧录到 TF 卡中。使用下列命令将 TF 卡中的小核固件替换为编译出来的
zephyr.bin
:注意事项
/mnt/system/blink.sh
文件。已验证的示例
samples/basic/blinky
涉及:GPIO,SysTick (CLINT 中断)
samples/subsys/shell/shell_module
涉及:UART (interrupt driven),PLIC 中断,PINMUX
tests/drivers/pwm/pwm_api
涉及:PWM,PINMUX
可从开发板 GP4 引脚观察到 PWM 输出。
samples/boards/milkv_duo/mbox
涉及:Mailbox (大小核通讯)
如有任何问题请联系,
谢谢!