K230 is an ideal chip for RISC-V Vector 1.0 evaluation now. Add initial
support for it to allow more people to participate in building drivers
to mainline for it.
This kernel has been tested upon factory SDK [1] with
k230_evb_only_linux_defconfig and patched mainline opensbi [2] to skip
locked pmp and successfully booted to busybox on initrd with this log [3].
[1] https://github.com/kendryte/k230_sdk
[2] https://github.com/cyyself/opensbi/tree/k230
[3] https://gist.github.com/cyyself/b9445f38cc3ba1094924bd41c9086176
Changes since v5:
- Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210 SoCs
- Modify existing K210 drivers depends on SOC_CANAAN_K210 symbol
- Reword dts commit message
- Modify dts to use Full 512MB memory
- Rebase to linux mainline master
Changes since v4:
- Reword commit message on dts that the B-ext version of c908 is 1.0 rather
than 1.0-rc1
v4: https://lore.kernel.org/linux-riscv/[email protected]/
Changes since v3:
- Refactor Kconfig.soc which uses ARCH_CANAAN for regular Canaan SoCs and
rename SOC_CANAAN to SOC_CANAAN_K210 for K210 in patch [5/7]
- Sort dt-binding stings on Cannan SoCs in alphanumerical order
v3: https://lore.kernel.org/linux-riscv/[email protected]/
Changes since v2:
- Add MIT License to dts file
- Sort dt-binding stings in alphanumerical order
- Sort filename in dts Makefile in alphanumerical order
- Rename canmv-k230.dts to k230-canmv.dts
v2: https://lore.kernel.org/linux-riscv/[email protected]/
Changes since v1:
- Patch dt-bindings in clint and plic
- Use enum in K230 compatible dt bindings
- Fix dts to pass `make dtbs_check`
- Add more details in commit message
v1: https://lore.kernel.org/linux-riscv/[email protected]/
Yangyu Chen (11):
dt-bindings: riscv: Add T-HEAD C908 compatible
dt-bindings: add Canaan K230 boards compatible strings
dt-bindings: timer: Add Canaan K230 CLINT
dt-bindings: interrupt-controller: Add Canaan K230 PLIC
riscv: Kconfig.socs: Split ARCH_CANAAN and SOC_CANAAN_K210
soc: canaan: Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210
clk: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
pinctrl: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
reset: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
riscv: dts: add initial canmv-k230 and k230-evb dts
riscv: config: enable ARCH_CANAAN in defconfig
.../sifive,plic-1.0.0.yaml | 1 +
.../devicetree/bindings/riscv/canaan.yaml | 8 +-
.../devicetree/bindings/riscv/cpus.yaml | 1 +
.../bindings/timer/sifive,clint.yaml | 1 +
arch/riscv/Kconfig.socs | 8 +-
arch/riscv/Makefile | 2 +-
arch/riscv/boot/dts/canaan/Makefile | 2 +
arch/riscv/boot/dts/canaan/k230-canmv.dts | 24 +++
arch/riscv/boot/dts/canaan/k230-evb.dts | 24 +++
arch/riscv/boot/dts/canaan/k230.dtsi | 140 ++++++++++++++++++
arch/riscv/configs/defconfig | 1 +
arch/riscv/configs/nommu_k210_defconfig | 3 +-
.../riscv/configs/nommu_k210_sdcard_defconfig | 3 +-
drivers/clk/Kconfig | 4 +-
drivers/pinctrl/Kconfig | 4 +-
drivers/reset/Kconfig | 4 +-
drivers/soc/Makefile | 2 +-
drivers/soc/canaan/Kconfig | 4 +-
18 files changed, 220 insertions(+), 16 deletions(-)
create mode 100644 arch/riscv/boot/dts/canaan/k230-canmv.dts
create mode 100644 arch/riscv/boot/dts/canaan/k230-evb.dts
create mode 100644 arch/riscv/boot/dts/canaan/k230.dtsi
base-commit: 8e938e39866920ddc266898e6ae1fffc5c8f51aa
--
2.43.0
On Sat, 23 Mar 2024 05:09:42 PDT (-0700), [email protected] wrote:
> K230 is an ideal chip for RISC-V Vector 1.0 evaluation now. Add initial
> support for it to allow more people to participate in building drivers
> to mainline for it.
>
> This kernel has been tested upon factory SDK [1] with
> k230_evb_only_linux_defconfig and patched mainline opensbi [2] to skip
> locked pmp and successfully booted to busybox on initrd with this log [3].
>
> [1] https://github.com/kendryte/k230_sdk
> [2] https://github.com/cyyself/opensbi/tree/k230
> [3] https://gist.github.com/cyyself/b9445f38cc3ba1094924bd41c9086176
>
> Changes since v5:
> - Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210 SoCs
> - Modify existing K210 drivers depends on SOC_CANAAN_K210 symbol
> - Reword dts commit message
> - Modify dts to use Full 512MB memory
> - Rebase to linux mainline master
>
> Changes since v4:
> - Reword commit message on dts that the B-ext version of c908 is 1.0 rather
> than 1.0-rc1
>
> v4: https://lore.kernel.org/linux-riscv/[email protected]/
>
> Changes since v3:
> - Refactor Kconfig.soc which uses ARCH_CANAAN for regular Canaan SoCs and
> rename SOC_CANAAN to SOC_CANAAN_K210 for K210 in patch [5/7]
> - Sort dt-binding stings on Cannan SoCs in alphanumerical order
>
> v3: https://lore.kernel.org/linux-riscv/[email protected]/
>
> Changes since v2:
> - Add MIT License to dts file
> - Sort dt-binding stings in alphanumerical order
> - Sort filename in dts Makefile in alphanumerical order
> - Rename canmv-k230.dts to k230-canmv.dts
>
> v2: https://lore.kernel.org/linux-riscv/[email protected]/
>
> Changes since v1:
> - Patch dt-bindings in clint and plic
> - Use enum in K230 compatible dt bindings
> - Fix dts to pass `make dtbs_check`
> - Add more details in commit message
>
> v1: https://lore.kernel.org/linux-riscv/[email protected]/
>
> Yangyu Chen (11):
> dt-bindings: riscv: Add T-HEAD C908 compatible
> dt-bindings: add Canaan K230 boards compatible strings
> dt-bindings: timer: Add Canaan K230 CLINT
> dt-bindings: interrupt-controller: Add Canaan K230 PLIC
> riscv: Kconfig.socs: Split ARCH_CANAAN and SOC_CANAAN_K210
> soc: canaan: Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210
> clk: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
> pinctrl: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
> reset: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
> riscv: dts: add initial canmv-k230 and k230-evb dts
> riscv: config: enable ARCH_CANAAN in defconfig
>
> .../sifive,plic-1.0.0.yaml | 1 +
> .../devicetree/bindings/riscv/canaan.yaml | 8 +-
> .../devicetree/bindings/riscv/cpus.yaml | 1 +
> .../bindings/timer/sifive,clint.yaml | 1 +
> arch/riscv/Kconfig.socs | 8 +-
> arch/riscv/Makefile | 2 +-
> arch/riscv/boot/dts/canaan/Makefile | 2 +
> arch/riscv/boot/dts/canaan/k230-canmv.dts | 24 +++
> arch/riscv/boot/dts/canaan/k230-evb.dts | 24 +++
> arch/riscv/boot/dts/canaan/k230.dtsi | 140 ++++++++++++++++++
> arch/riscv/configs/defconfig | 1 +
> arch/riscv/configs/nommu_k210_defconfig | 3 +-
> .../riscv/configs/nommu_k210_sdcard_defconfig | 3 +-
> drivers/clk/Kconfig | 4 +-
> drivers/pinctrl/Kconfig | 4 +-
> drivers/reset/Kconfig | 4 +-
> drivers/soc/Makefile | 2 +-
> drivers/soc/canaan/Kconfig | 4 +-
> 18 files changed, 220 insertions(+), 16 deletions(-)
> create mode 100644 arch/riscv/boot/dts/canaan/k230-canmv.dts
> create mode 100644 arch/riscv/boot/dts/canaan/k230-evb.dts
> create mode 100644 arch/riscv/boot/dts/canaan/k230.dtsi
>
> base-commit: 8e938e39866920ddc266898e6ae1fffc5c8f51aa
Acked-by: Palmer Dabbelt <[email protected]>