[PATCH 00/12] Initial support for Nuclei DemoSoC w/ UX600
Palmer Dabbelt
palmer at dabbelt.com
Wed Apr 13 14:52:27 PDT 2022
On Mon, 21 Mar 2022 17:05:45 PDT (-0700), Palmer Dabbelt wrote:
> On Tue, 22 Feb 2022 08:56:42 PST (-0800), Palmer Dabbelt wrote:
>> On Sat, 19 Feb 2022 06:45:43 PST (-0800), icenowy at nucleisys.com wrote:
>>> 在 2022-01-27星期四的 23:16 +0800,Icenowy Zheng写道:
>>>> This patchset adds support for Nuclei DemoSoC (which is an evaluation
>>>> platform made with Nuclei CPU cores and mainly peripherals in
>>>> original
>>>> Hummingbird E203 project, running on FPGA) with UX600 CPU cores.
>>>>
>>>> Most patches are for DT bindings, the remaining ones are adding a
>>>> Kconfig option and some DTS/DTSI files. The last one is a workaround
>>>> for
>>>> a severe bug in currently released versions of UX600, which is found
>>>> in 5.17 kernel, in which Sv48 support is added to Linux.
>>>>
>>>> Two non-technical patches are in this patchset too, for MAINTAINERS
>>>> and .mailmap items.
>>>
>>> Ping, could any RISC-V maintainers review these patches, especially the
>>> SATP workaround one?
>>
>> Sorry, I remember having written this but I guess it got lost. IIRC my
>> main worry here was that, at least as far as I can tell, DemoSOC is an
>> FPGA development board. If this is actually in production somewhere
>> then it's a different story, but IIUC the general rule is not to accept
>> code for development hardware that can be updated.
>>
>> Assuming DemoSOC can be updated, I'd also argue that we should have some
>> sort of version attached to it in DT entries. Without some versioning
>> we'll end up lost when trying to later determine what we're actually
>> running on.
>>
>> As far as the errata goes: it looks fine to me, but I'd like to see some
>> sort of description of what the errata actually is (ie, some
>> documentation from the manufacturer). I know that's not always
>> possible, but without some desciption of what the bug is it gets tricky
>> to mainain this sort of stuff. For example: we've got sv57 patches
>> now, so how do I know what to do with them on this target?
>
> Just following up on this one. Not sure if I missed it, but I can't
> find a reply.
Checking up on this one more time, I still can't find any replies. It's
at the top of my queue, but I'm going to drop it until the questions get
resolved.
>
>>
>>>
>>>>
>>>> Icenowy Zheng (12):
>>>> dt-bindings: vendor-prefixes: add Nuclei
>>>> RISC-V: add Nuclei SoC Kconfig option
>>>> dt-bindings: riscv: add compatible strings for Nuclei UX600 series
>>>> dt-bindings: timer: add compatible for Nuclei UX600 CLINT-compat
>>>> timer
>>>> dt-bindings: interrupt-controller: add compatible string for UX600
>>>> PLIC
>>>> dt-bindings: serial: add compatible string for Nuclei DemoSoC UART
>>>> dt-bindings: spi: add compatible string for Nuclei DemoSoC SPI
>>>> dt-bindings: riscv: add binding for Nuclei platform boards
>>>> riscv: dts: add device tree for Nuclei DemoSoC w/ UX600 on DDR200T
>>>> RISC-V: workaround Nuclei UX600 cores with broken SATP CSR
>>>> MAINTAINERS: add myself as Nuclei SoCs/CPUs supporter
>>>> mailmap: add Icenowy Zheng's Nuclei mail addresses
>>>>
>>>> .mailmap | 1 +
>>>> .../sifive,plic-1.0.0.yaml | 1 +
>>>> .../devicetree/bindings/riscv/cpus.yaml | 7 ++
>>>> .../devicetree/bindings/riscv/nuclei.yaml | 27 ++++++++
>>>> .../bindings/serial/sifive-serial.yaml | 1 +
>>>> .../devicetree/bindings/spi/spi-sifive.yaml | 1 +
>>>> .../bindings/timer/sifive,clint.yaml | 1 +
>>>> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
>>>> MAINTAINERS | 7 ++
>>>> arch/riscv/Kconfig.socs | 6 ++
>>>> arch/riscv/boot/dts/Makefile | 1 +
>>>> arch/riscv/boot/dts/nuclei/Makefile | 2 +
>>>> .../dts/nuclei/nuclei-demosoc-ddr200t.dtsi | 41 ++++++++++++
>>>> .../nuclei/nuclei-demosoc-ux600-ddr200t.dts | 13 ++++
>>>> .../boot/dts/nuclei/nuclei-demosoc-ux600.dtsi | 49 ++++++++++++++
>>>> .../riscv/boot/dts/nuclei/nuclei-demosoc.dtsi | 67
>>>> +++++++++++++++++++
>>>> arch/riscv/include/asm/vendorid_list.h | 1 +
>>>> arch/riscv/mm/init.c | 17 +++++
>>>> 18 files changed, 245 insertions(+)
>>>> create mode 100644
>>>> Documentation/devicetree/bindings/riscv/nuclei.yaml
>>>> create mode 100644 arch/riscv/boot/dts/nuclei/Makefile
>>>> create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-
>>>> ddr200t.dtsi
>>>> create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-ux600-
>>>> ddr200t.dts
>>>> create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc-
>>>> ux600.dtsi
>>>> create mode 100644 arch/riscv/boot/dts/nuclei/nuclei-demosoc.dtsi
>>>>
More information about the linux-riscv
mailing list