* [PATCH v2 01/11] dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-22 12:46 ` [PATCH v2 02/11] dt-bindings: riscv: Add Nuclei UX900 compatibles Junhui Liu
` (11 subsequent siblings)
12 siblings, 0 replies; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial, Krzysztof Kozlowski
Add vendor prefixes for "anlogic", "milianke" and "nuclei". These are
required for describing the Milianke MLKPAI-FS01 board with DR1V90 SoC
from Anlogic, which uses a processor core designed by Nuclei.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 9ec8947dfcad2fa53b2dca2ca06a63710771a600..d5071dcc3b97b9030087992e872afc7b6d36160e 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -128,6 +128,8 @@ patternProperties:
description: Anbernic
"^andestech,.*":
description: Andes Technology Corporation
+ "^anlogic,.*":
+ description: Shanghai Anlogic Infotech Co., Ltd.
"^anvo,.*":
description: Anvo-Systems Dresden GmbH
"^aoly,.*":
@@ -985,6 +987,8 @@ patternProperties:
description: MikroElektronika d.o.o.
"^mikrotik,.*":
description: MikroTik
+ "^milianke,.*":
+ description: Changzhou Milianke Electronic Technology Co., Ltd
"^milkv,.*":
description: MilkV Technology Co., Ltd
"^miniand,.*":
@@ -1100,6 +1104,8 @@ patternProperties:
description: Novatek
"^novtech,.*":
description: NovTech, Inc.
+ "^nuclei,.*":
+ description: Nuclei System Technology
"^numonyx,.*":
description: Numonyx (deprecated, use micron)
deprecated: true
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH v2 02/11] dt-bindings: riscv: Add Nuclei UX900 compatibles
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
2025-09-22 12:46 ` [PATCH v2 01/11] dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:03 ` Conor Dooley
2025-09-22 12:46 ` [PATCH v2 03/11] dt-bindings: riscv: Add Anlogic DR1V90 Junhui Liu
` (10 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
The UX900 is a RISC-V core from Nuclei, used in the Anlogic DR1V90 SoC.
It features a 64-bit architecture and dual-issue, 9-stage pipeline, with
lots of optional extensions including V, K, Zc, and more.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
Documentation/devicetree/bindings/riscv/cpus.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/riscv/cpus.yaml b/Documentation/devicetree/bindings/riscv/cpus.yaml
index 1a0cf0702a45d2df38c48f50d66b3d2ac3715da5..cd3299490380696fff54a41355c6ecbc75316047 100644
--- a/Documentation/devicetree/bindings/riscv/cpus.yaml
+++ b/Documentation/devicetree/bindings/riscv/cpus.yaml
@@ -48,6 +48,7 @@ properties:
- amd,mbv64
- andestech,ax45mp
- canaan,k210
+ - nuclei,ux900
- sifive,bullet0
- sifive,e5
- sifive,e7
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 02/11] dt-bindings: riscv: Add Nuclei UX900 compatibles
2025-09-22 12:46 ` [PATCH v2 02/11] dt-bindings: riscv: Add Nuclei UX900 compatibles Junhui Liu
@ 2025-09-23 19:03 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:03 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 03/11] dt-bindings: riscv: Add Anlogic DR1V90
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
2025-09-22 12:46 ` [PATCH v2 01/11] dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei Junhui Liu
2025-09-22 12:46 ` [PATCH v2 02/11] dt-bindings: riscv: Add Nuclei UX900 compatibles Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-22 12:46 ` [PATCH v2 04/11] dt-bindings: timer: Add Anlogic DR1V90 CLINT Junhui Liu
` (9 subsequent siblings)
12 siblings, 0 replies; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial, Krzysztof Kozlowski
Add Anlogic DR1V90 FPSoC, featuring a UX900 RISC-V core as the
processing system (PS) and 94,464 LUTs programmable logic (PL). It is
used by the Milianke MLKPAI-FS01 board, a SBC equipped with 512MB DDR3
memory, USB-C UART, 1GbE RJ45 Ethernet, USB-A 2.0 port, TF card slot,
and 256Mbit Quad-SPI flash.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
.../devicetree/bindings/riscv/anlogic.yaml | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/Documentation/devicetree/bindings/riscv/anlogic.yaml b/Documentation/devicetree/bindings/riscv/anlogic.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..91b1526c99aa3ca9cc7b0e7978861408bd017049
--- /dev/null
+++ b/Documentation/devicetree/bindings/riscv/anlogic.yaml
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/riscv/anlogic.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Anlogic SoC-based boards
+
+maintainers:
+ - Junhui Liu <junhui.liu@pigmoral.tech>
+
+description:
+ Anlogic SoC-based boards
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - items:
+ - enum:
+ - milianke,mlkpai-fs01
+ - const: anlogic,dr1v90
+
+additionalProperties: true
+
+...
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH v2 04/11] dt-bindings: timer: Add Anlogic DR1V90 CLINT
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (2 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 03/11] dt-bindings: riscv: Add Anlogic DR1V90 Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-27 13:59 ` Qingfang Deng
2025-09-22 12:46 ` [PATCH v2 05/11] dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC Junhui Liu
` (8 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
Add CLINT support for Anlogic DR1V90.
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
Documentation/devicetree/bindings/timer/sifive,clint.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
index d85a1a088b35dabc0aa202475b926302705c4cf1..16b8c0bdce82a55765046cfdc8d1f85a8dfb3912 100644
--- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
+++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
@@ -29,6 +29,7 @@ properties:
oneOf:
- items:
- enum:
+ - anlogic,dr1v90-clint # Anlogic DR1V90
- canaan,k210-clint # Canaan Kendryte K210
- eswin,eic7700-clint # ESWIN EIC7700
- sifive,fu540-c000-clint # SiFive FU540
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 04/11] dt-bindings: timer: Add Anlogic DR1V90 CLINT
2025-09-22 12:46 ` [PATCH v2 04/11] dt-bindings: timer: Add Anlogic DR1V90 CLINT Junhui Liu
@ 2025-09-27 13:59 ` Qingfang Deng
2025-09-28 3:54 ` Junhui Liu
0 siblings, 1 reply; 28+ messages in thread
From: Qingfang Deng @ 2025-09-27 13:59 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt,
Conor Dooley, linux-riscv, linux-serial
Hi, Junhui,
On Mon, 22 Sep 2025 20:46:34 +0800, Junhui Liu <junhui.liu@pigmoral.tech> wrote:
> --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
> +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
> @@ -29,6 +29,7 @@ properties:
> oneOf:
> - items:
> - enum:
> + - anlogic,dr1v90-clint # Anlogic DR1V90
UX900 uses the ACLINT with SSWI. Please use the new ACLINT binding.
Link: https://www.nucleisys.com/upload/files/doc/Nuclei_RISC-V_ISA_Spec.pdf
> - canaan,k210-clint # Canaan Kendryte K210
> - eswin,eic7700-clint # ESWIN EIC7700
> - sifive,fu540-c000-clint # SiFive FU540
>
> --
> 2.51.0
Regards,
Qingfang
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 04/11] dt-bindings: timer: Add Anlogic DR1V90 CLINT
2025-09-27 13:59 ` Qingfang Deng
@ 2025-09-28 3:54 ` Junhui Liu
0 siblings, 0 replies; 28+ messages in thread
From: Junhui Liu @ 2025-09-28 3:54 UTC (permalink / raw)
To: Qingfang Deng
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt,
Conor Dooley, linux-riscv, linux-serial
Hi Qingfang,
On 9/27/25 9:59 PM, Qingfang Deng wrote:
> Hi, Junhui,
> On Mon, 22 Sep 2025 20:46:34 +0800, Junhui Liu <junhui.liu@pigmoral.tech> wrote:
>> --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml
>> +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml
>> @@ -29,6 +29,7 @@ properties:
>> oneOf:
>> - items:
>> - enum:
>> + - anlogic,dr1v90-clint # Anlogic DR1V90
> UX900 uses the ACLINT with SSWI. Please use the new ACLINT binding.
>
> Link: https://www.nucleisys.com/upload/files/doc/Nuclei_RISC-V_ISA_Spec.pdf
Thanks for pointing it out. I will verify it in both Kernel and OpenSBI,
and update in next version.
>
>> - canaan,k210-clint # Canaan Kendryte K210
>> - eswin,eic7700-clint # ESWIN EIC7700
>> - sifive,fu540-c000-clint # SiFive FU540
>>
>> --
>> 2.51.0
> Regards,
> Qingfang
--
Best regards,
Junhui Liu
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 05/11] dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (3 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 04/11] dt-bindings: timer: Add Anlogic DR1V90 CLINT Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:06 ` Conor Dooley
2025-09-22 12:46 ` [PATCH v2 06/11] dt-bindings: serial: snps-dw-apb-uart: Add Anlogic DR1V90 uart Junhui Liu
` (7 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
Add PLIC support for Anlogic DR1V90.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
.../devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
index 5b827bc243011cda1fd45d739d34eca95c6e1ee2..960d45432a1d7b1042af56741053549f6a8df2cc 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
@@ -58,6 +58,7 @@ properties:
- const: andestech,nceplic100
- items:
- enum:
+ - anlogic,dr1v90-plic
- canaan,k210-plic
- sifive,fu540-c000-plic
- spacemit,k1-plic
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 05/11] dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC
2025-09-22 12:46 ` [PATCH v2 05/11] dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC Junhui Liu
@ 2025-09-23 19:06 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:06 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 06/11] dt-bindings: serial: snps-dw-apb-uart: Add Anlogic DR1V90 uart
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (4 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 05/11] dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-22 12:46 ` [PATCH v2 07/11] riscv: Add Anlogic SoC famly Kconfig support Junhui Liu
` (6 subsequent siblings)
12 siblings, 0 replies; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
The Anlogic DR1V90 SoC integrates a UART controller compatible with
snps,dw-apb-uart, operating at a 50 MHz clock.
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
index cb9da6c97afcfd27a315414959b2b17beb4454cf..691bd0bac6be449516e213b550415acd37badad6 100644
--- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
+++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
@@ -51,6 +51,7 @@ properties:
- const: renesas,rzn1-uart
- items:
- enum:
+ - anlogic,dr1v90-uart
- brcm,bcm11351-dw-apb-uart
- brcm,bcm21664-dw-apb-uart
- rockchip,px30-uart
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* [PATCH v2 07/11] riscv: Add Anlogic SoC famly Kconfig support
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (5 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 06/11] dt-bindings: serial: snps-dw-apb-uart: Add Anlogic DR1V90 uart Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:06 ` Conor Dooley
2025-09-22 12:46 ` [PATCH v2 08/11] riscv: dts: Add initial Anlogic DR1V90 SoC device tree Junhui Liu
` (5 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
The first SoC in the Anlogic series is DR1V90, which contains a RISC-V
core from Nuclei.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
arch/riscv/Kconfig.socs | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/riscv/Kconfig.socs b/arch/riscv/Kconfig.socs
index 61ceae0aa27a6fa3a91da6a46becfd96da99fd09..c1c0681f4364647477c50518725d9323922ff270 100644
--- a/arch/riscv/Kconfig.socs
+++ b/arch/riscv/Kconfig.socs
@@ -7,6 +7,11 @@ config ARCH_ANDES
help
This enables support for Andes SoC platform hardware.
+config ARCH_ANLOGIC
+ bool "Anlogic SoCs"
+ help
+ This enables support for Anlogic SoC platform hardware.
+
config ARCH_MICROCHIP_POLARFIRE
def_bool ARCH_MICROCHIP
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 07/11] riscv: Add Anlogic SoC famly Kconfig support
2025-09-22 12:46 ` [PATCH v2 07/11] riscv: Add Anlogic SoC famly Kconfig support Junhui Liu
@ 2025-09-23 19:06 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:06 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 08/11] riscv: dts: Add initial Anlogic DR1V90 SoC device tree
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (6 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 07/11] riscv: Add Anlogic SoC famly Kconfig support Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:08 ` Conor Dooley
2025-09-22 12:46 ` [PATCH v2 09/11] riscv: dts: anlogic: Add Milianke MLKPAI FS01 board Junhui Liu
` (4 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
DR1V90 is a FPSoC from Anlogic, which features a RISC-V core as the PS
part and 94,464 LUTs for the PL part.
The PS part integrates a Nuclei UX900 RISC-V core with 32KB L1 icache
and 32KB L1 dcache. It also provides two "snps,dw-apb-uart" compatible
UART controllers.
Some basic information of the processor can be obtained by running a
simple application from nuclei-sdk [1]:
-----Nuclei RISC-V CPU Configuration Information-----
MARCHID: 0xc900
MIMPID: 0x20300
ISA: RV64 A B C D F I M P S U
MCFG: TEE ECC ECLIC PLIC PPI ILM DLM ICACHE DCACHE IREGION No-Safety-Mechanism DLEN=VLEN/2
ILM: 256 KB has-ecc
DLM: 256 KB has-ecc
ICACHE: 32 KB(set=256,way=2,lsize=64,ecc=1)
DCACHE: 32 KB(set=256,way=2,lsize=64,ecc=1)
TLB: MainTLB(set=32,way=2,entry=1,ecc=1) ITLB(entry=8) DTLB(entry=8)
IREGION: 0x68000000 128 MB
Unit Size Address
INFO 64KB 0x68000000
DEBUG 64KB 0x68010000
ECLIC 64KB 0x68020000
TIMER 64KB 0x68030000
PLIC 64MB 0x6c000000
INFO-Detail:
mpasize : 0
PPI: 0xf8000000 128 MB
-----End of Nuclei CPU INFO-----
Link: https://github.com/Nuclei-Software/nuclei-sdk/blob/master/application/baremetal/cpuinfo/main.c [1]
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
arch/riscv/boot/dts/anlogic/dr1v90.dtsi | 85 +++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
diff --git a/arch/riscv/boot/dts/anlogic/dr1v90.dtsi b/arch/riscv/boot/dts/anlogic/dr1v90.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..f9f8754ceb5247d3ca25e6a65b3f915916ba6173
--- /dev/null
+++ b/arch/riscv/boot/dts/anlogic/dr1v90.dtsi
@@ -0,0 +1,85 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 Junhui Liu <junhui.liu@pigmoral.tech>
+ */
+
+/dts-v1/;
+/ {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ model = "Anlogic DR1V90";
+ compatible = "anlogic,dr1v90";
+
+ cpus {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ timebase-frequency = <800000000>;
+
+ cpu@0 {
+ compatible = "nuclei,ux900", "riscv";
+ d-cache-block-size = <64>;
+ d-cache-sets = <256>;
+ d-cache-size = <32768>;
+ device_type = "cpu";
+ i-cache-block-size = <64>;
+ i-cache-sets = <256>;
+ i-cache-size = <32768>;
+ mmu-type = "riscv,sv39";
+ reg = <0>;
+ riscv,isa-base = "rv64i";
+ riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zbc",
+ "zbkc", "zbs", "zicntr", "zicsr", "zifencei",
+ "zihintpause", "zihpm";
+
+ cpu0_intc: interrupt-controller {
+ compatible = "riscv,cpu-intc";
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ };
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ interrupt-parent = <&plic>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ clint: timer@68031000 {
+ compatible = "anlogic,dr1v90-clint", "sifive,clint0";
+ reg = <0x0 0x68031000 0x0 0xc000>;
+ interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>;
+ };
+
+ plic: interrupt-controller@6c000000 {
+ compatible = "anlogic,dr1v90-plic", "sifive,plic-1.0.0";
+ reg = <0x0 0x6c000000 0x0 0x4000000>;
+ #address-cells = <0>;
+ #interrupt-cells = <1>;
+ interrupt-controller;
+ interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>;
+ riscv,ndev = <150>;
+ };
+
+ uart0: serial@f8400000 {
+ compatible = "anlogic,dr1v90-uart", "snps,dw-apb-uart";
+ reg = <0x0 0xf8400000 0x0 0x1000>;
+ clock-frequency = <50000000>;
+ interrupts = <71>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ status = "disabled";
+ };
+
+ uart1: serial@f8401000 {
+ compatible = "anlogic,dr1v90-uart", "snps,dw-apb-uart";
+ reg = <0x0 0xf8401000 0x0 0x1000>;
+ clock-frequency = <50000000>;
+ interrupts = <72>;
+ reg-io-width = <4>;
+ reg-shift = <2>;
+ status = "disabled";
+ };
+ };
+};
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 08/11] riscv: dts: Add initial Anlogic DR1V90 SoC device tree
2025-09-22 12:46 ` [PATCH v2 08/11] riscv: dts: Add initial Anlogic DR1V90 SoC device tree Junhui Liu
@ 2025-09-23 19:08 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:08 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 09/11] riscv: dts: anlogic: Add Milianke MLKPAI FS01 board
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (7 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 08/11] riscv: dts: Add initial Anlogic DR1V90 SoC device tree Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:08 ` Conor Dooley
2025-09-22 12:46 ` [PATCH v2 10/11] riscv: defconfig: Enable Anlogic SoC Junhui Liu
` (3 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
Add support for the Milianke MLKPAI FS01 board based on the Anlogic
DR1V90 SoC. The board features 512MB of onboard memory, USB-C UART, 1GbE
RJ45 Ethernet, USB-A 2.0 port, TF card slot, and 256Mbit Quad-SPI flash.
Currently, the board can boot to a console via UART1, which is connected
to the onboard serial chip and routed to the Type-C interface.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/anlogic/Makefile | 2 ++
arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts | 28 ++++++++++++++++++++++
3 files changed, 31 insertions(+)
diff --git a/arch/riscv/boot/dts/Makefile b/arch/riscv/boot/dts/Makefile
index 3b99e91efa25be2d6ca5bc173342c24a72f87187..3c0005ee037406ac3285ec4662102c68592387a3 100644
--- a/arch/riscv/boot/dts/Makefile
+++ b/arch/riscv/boot/dts/Makefile
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
subdir-y += allwinner
subdir-y += andes
+subdir-y += anlogic
subdir-y += canaan
subdir-y += microchip
subdir-y += renesas
diff --git a/arch/riscv/boot/dts/anlogic/Makefile b/arch/riscv/boot/dts/anlogic/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..87f3b2f418cfa32012df5ae82d17262a9610f90c
--- /dev/null
+++ b/arch/riscv/boot/dts/anlogic/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
+dtb-$(CONFIG_ARCH_ANLOGIC) += dr1v90-mlkpai-fs01.dtb
diff --git a/arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts b/arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts
new file mode 100644
index 0000000000000000000000000000000000000000..597407655efd2e74608dabb4559ab1239662cf41
--- /dev/null
+++ b/arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: GPL-2.0 OR MIT
+/*
+ * Copyright (C) 2025 Junhui Liu <junhui.liu@pigmoral.tech>
+ */
+
+#include "dr1v90.dtsi"
+
+/ {
+ model = "Milianke MLKPAI-FS01";
+ compatible = "milianke,mlkpai-fs01", "anlogic,dr1v90";
+
+ aliases {
+ serial0 = &uart1;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x0 0x0 0x20000000>;
+ };
+};
+
+&uart1 {
+ status = "okay";
+};
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 09/11] riscv: dts: anlogic: Add Milianke MLKPAI FS01 board
2025-09-22 12:46 ` [PATCH v2 09/11] riscv: dts: anlogic: Add Milianke MLKPAI FS01 board Junhui Liu
@ 2025-09-23 19:08 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:08 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 10/11] riscv: defconfig: Enable Anlogic SoC
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (8 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 09/11] riscv: dts: anlogic: Add Milianke MLKPAI FS01 board Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:08 ` Conor Dooley
2025-09-22 12:46 ` [PATCH v2 11/11] MAINTAINERS: Setup support for Anlogic DR1V90 SoC tree Junhui Liu
` (2 subsequent siblings)
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
Enable Anlogic SoC config in defconfig to allow the default upstream
kernel booting on Milianke MLKPAI-FS01 board.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
arch/riscv/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
index 7b5eed17611ad2260a28f9fe9985b88682eb1ebe..889a9f779c94a33b0164626b3726e11ac8cf357e 100644
--- a/arch/riscv/configs/defconfig
+++ b/arch/riscv/configs/defconfig
@@ -23,6 +23,7 @@ CONFIG_CHECKPOINT_RESTORE=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_PROFILING=y
CONFIG_ARCH_ANDES=y
+CONFIG_ARCH_ANLOGIC=y
CONFIG_ARCH_MICROCHIP=y
CONFIG_ARCH_SIFIVE=y
CONFIG_ARCH_SOPHGO=y
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 10/11] riscv: defconfig: Enable Anlogic SoC
2025-09-22 12:46 ` [PATCH v2 10/11] riscv: defconfig: Enable Anlogic SoC Junhui Liu
@ 2025-09-23 19:08 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:08 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [PATCH v2 11/11] MAINTAINERS: Setup support for Anlogic DR1V90 SoC tree
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (9 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 10/11] riscv: defconfig: Enable Anlogic SoC Junhui Liu
@ 2025-09-22 12:46 ` Junhui Liu
2025-09-23 19:09 ` Conor Dooley
2025-09-25 3:06 ` [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 fushan.zeng
2025-09-25 17:22 ` Conor Dooley
12 siblings, 1 reply; 28+ messages in thread
From: Junhui Liu @ 2025-09-22 12:46 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, Junhui Liu
Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
linux-riscv, linux-serial
Add myself as the maintainer of the Anlogic DR1V90 SoC tree, including
the corresponding DTS and DT bindings paths for Anlogic RISC-V-based
SoCs.
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
MAINTAINERS | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 520fb4e379a3954ff9b163bfdfda857e5c5b99d4..44b4b4f7e53c5904f6b9076f9542866292d33fce 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21681,6 +21681,15 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git
F: Documentation/devicetree/bindings/iommu/riscv,iommu.yaml
F: drivers/iommu/riscv/
+RISC-V ANLOGIC DR1V90 SoC SUPPORT
+M: Junhui Liu <junhui.liu@pigmoral.tech>
+L: linux-riscv@lists.infradead.org
+S: Maintained
+T: git https://github.com/pigmoral/linux-dr1v90
+F: Documentation/devicetree/bindings/riscv/anlogic.yaml
+F: arch/riscv/boot/dts/anlogic/
+N: dr1v90
+
RISC-V MICROCHIP FPGA SUPPORT
M: Conor Dooley <conor.dooley@microchip.com>
M: Daire McNamara <daire.mcnamara@microchip.com>
--
2.51.0
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [PATCH v2 11/11] MAINTAINERS: Setup support for Anlogic DR1V90 SoC tree
2025-09-22 12:46 ` [PATCH v2 11/11] MAINTAINERS: Setup support for Anlogic DR1V90 SoC tree Junhui Liu
@ 2025-09-23 19:09 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-23 19:09 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial
[-- Attachment #1: Type: text/plain, Size: 52 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (10 preceding siblings ...)
2025-09-22 12:46 ` [PATCH v2 11/11] MAINTAINERS: Setup support for Anlogic DR1V90 SoC tree Junhui Liu
@ 2025-09-25 3:06 ` fushan.zeng
2025-09-25 3:49 ` Troy Mitchell
` (2 more replies)
2025-09-25 17:22 ` Conor Dooley
12 siblings, 3 replies; 28+ messages in thread
From: fushan.zeng @ 2025-09-25 3:06 UTC (permalink / raw)
To: junhui.liu
Cc: alex, anup, aou, conor+dt, conor, daniel.lezcano, devicetree,
gregkh, jirislaby, krzk+dt, krzysztof.kozlowski, linux-kernel,
linux-riscv, linux-serial, palmer, palmer, paul.walmsley, robh,
samuel.holland, tglx
On Mon, 22 Sep 2025 20:46:30 +0800, Junhui Liu wrote:
> This patch series introduces initial support for the Anlogic DR1V90 SoC
> [1] and the Milianke MLKPAI-FS01 [2] board.
>
> The DR1V90 is a RISC-V based FPSoC from Anlogic, featuring a Nuclei
> UX900 [3] core as its processing system (PS) and 94,464 LUTs in the
> programmable logic (PL) part. The Milianke MLKPAI-FS01 board is one of
> the first platforms based on this SoC, with UART1 routed to a Type-C
> interface for console access.
>
> Tested on the Milianke MLKPAI-FS01 board with both the vendor's OpenSBI
> and the not-yet-upstreamed mainline OpenSBI [4], as well as the vendor’s
> U-Boot. Because the vendor’s OpenSBI is loaded at 0x1f300000, we have
> to additionally reserve the DRAM region 0x1fe00000–0x1fffffff to prevent
> overlap if using vendor's OpenSBI.
>
> Notice: A "no4lvl" bootarg or dependency patch [5] is currently required
> for successful boot on the DR1V90 platform, since the SoC hangs if the
> kernel attempts to use unsupported 4-level or 5-level paging modes.
Thanks first.
Anloigc already has the open source SDK at https://gitee.com/anlogic/sdk,
and will submit it to mainline at suitable time.
It is better that anlogic SOCs are long term maintained and supported
by Anlogic officially in mainline and for customers.
The code should be a full feature version after lots of tests, not the
modified and simplified version from Anlogic open source.
And we hope that there won't be two different versions code of anlogic SOCs,
it may confuse customers.
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-25 3:06 ` [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 fushan.zeng
@ 2025-09-25 3:49 ` Troy Mitchell
2025-09-25 3:49 ` Krzysztof Kozlowski
2025-09-25 17:09 ` Conor Dooley
2 siblings, 0 replies; 28+ messages in thread
From: Troy Mitchell @ 2025-09-25 3:49 UTC (permalink / raw)
To: fushan.zeng, junhui.liu
Cc: alex, anup, aou, conor+dt, conor, daniel.lezcano, devicetree,
gregkh, jirislaby, krzk+dt, krzysztof.kozlowski, linux-kernel,
linux-riscv, linux-serial, palmer, palmer, paul.walmsley, robh,
samuel.holland, tglx, Troy Mitchell
On Thu, Sep 25, 2025 at 11:06:50AM +0800, fushan.zeng wrote:
> On Mon, 22 Sep 2025 20:46:30 +0800, Junhui Liu wrote:
> > This patch series introduces initial support for the Anlogic DR1V90 SoC
> > [1] and the Milianke MLKPAI-FS01 [2] board.
> >
> > The DR1V90 is a RISC-V based FPSoC from Anlogic, featuring a Nuclei
> > UX900 [3] core as its processing system (PS) and 94,464 LUTs in the
> > programmable logic (PL) part. The Milianke MLKPAI-FS01 board is one of
> > the first platforms based on this SoC, with UART1 routed to a Type-C
> > interface for console access.
> >
> > Tested on the Milianke MLKPAI-FS01 board with both the vendor's OpenSBI
> > and the not-yet-upstreamed mainline OpenSBI [4], as well as the vendor’s
> > U-Boot. Because the vendor’s OpenSBI is loaded at 0x1f300000, we have
> > to additionally reserve the DRAM region 0x1fe00000–0x1fffffff to prevent
> > overlap if using vendor's OpenSBI.
> >
> > Notice: A "no4lvl" bootarg or dependency patch [5] is currently required
> > for successful boot on the DR1V90 platform, since the SoC hangs if the
> > kernel attempts to use unsupported 4-level or 5-level paging modes.
>
> Thanks first.
> Anloigc already has the open source SDK at https://gitee.com/anlogic/sdk,
I think very few people actually use Gitee around here.
> and will submit it to mainline at suitable time.
> It is better that anlogic SOCs are long term maintained and supported
> by Anlogic officially in mainline and for customers.
> The code should be a full feature version after lots of tests, not the
> modified and simplified version from Anlogic open source.
I understand how you feel:
You want to be responsible for both the code and the customers.
> And we hope that there won't be two different versions code of anlogic SOCs,
> it may confuse customers.
This is almost impossible.
Mainline means simple, clear, compliant, fully open source.
Some features, like GPU, are nearly impossible to fully upstream.
Vendor versions are complex and implement full hardware features.
It also seems you expect only official folks to handle this,
which would take significant effort to maintain,
perhaps even requiring dedicated personnel.
- Troy
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-25 3:06 ` [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 fushan.zeng
2025-09-25 3:49 ` Troy Mitchell
@ 2025-09-25 3:49 ` Krzysztof Kozlowski
2025-09-25 17:09 ` Conor Dooley
2 siblings, 0 replies; 28+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-25 3:49 UTC (permalink / raw)
To: fushan.zeng
Cc: junhui.liu, alex, anup, aou, conor+dt, conor, daniel.lezcano,
devicetree, gregkh, jirislaby, krzk+dt, krzysztof.kozlowski,
linux-kernel, linux-riscv, linux-serial, palmer, palmer,
paul.walmsley, robh, samuel.holland, tglx
On Thu, 25 Sept 2025 at 12:22, fushan.zeng <fushan.zeng@anlogic.com> wrote:
>
> On Mon, 22 Sep 2025 20:46:30 +0800, Junhui Liu wrote:
> > This patch series introduces initial support for the Anlogic DR1V90 SoC
> > [1] and the Milianke MLKPAI-FS01 [2] board.
> >
> > The DR1V90 is a RISC-V based FPSoC from Anlogic, featuring a Nuclei
> > UX900 [3] core as its processing system (PS) and 94,464 LUTs in the
> > programmable logic (PL) part. The Milianke MLKPAI-FS01 board is one of
> > the first platforms based on this SoC, with UART1 routed to a Type-C
> > interface for console access.
> >
> > Tested on the Milianke MLKPAI-FS01 board with both the vendor's OpenSBI
> > and the not-yet-upstreamed mainline OpenSBI [4], as well as the vendor’s
> > U-Boot. Because the vendor’s OpenSBI is loaded at 0x1f300000, we have
> > to additionally reserve the DRAM region 0x1fe00000–0x1fffffff to prevent
> > overlap if using vendor's OpenSBI.
> >
> > Notice: A "no4lvl" bootarg or dependency patch [5] is currently required
> > for successful boot on the DR1V90 platform, since the SoC hangs if the
> > kernel attempts to use unsupported 4-level or 5-level paging modes.
>
> Thanks first.
> Anloigc already has the open source SDK at https://gitee.com/anlogic/sdk,
> and will submit it to mainline at suitable time.
> It is better that anlogic SOCs are long term maintained and supported
> by Anlogic officially in mainline and for customers.
> The code should be a full feature version after lots of tests, not the
> modified and simplified version from Anlogic open source.
> And we hope that there won't be two different versions code of anlogic SOCs,
> it may confuse customers.
Sorry, but you don't get to control how open source and upstream
works. Community will not wait for your "suitable time". There will be
only one upstream support, so please start helping here by reviewing,
instead of creating obstacles and trying to stop community from
working on this.
There was recently a company trying to "control" upstreaming process
of their laptops and it ended with big public mess. Please learn from
their mistakes.
BR,
K
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-25 3:06 ` [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 fushan.zeng
2025-09-25 3:49 ` Troy Mitchell
2025-09-25 3:49 ` Krzysztof Kozlowski
@ 2025-09-25 17:09 ` Conor Dooley
2025-09-26 14:38 ` fushan.zeng
2 siblings, 1 reply; 28+ messages in thread
From: Conor Dooley @ 2025-09-25 17:09 UTC (permalink / raw)
To: fushan.zeng
Cc: junhui.liu, alex, anup, aou, conor+dt, daniel.lezcano, devicetree,
gregkh, jirislaby, krzk+dt, krzysztof.kozlowski, linux-kernel,
linux-riscv, linux-serial, palmer, palmer, paul.walmsley, robh,
samuel.holland, tglx
[-- Attachment #1: Type: text/plain, Size: 3361 bytes --]
On Thu, Sep 25, 2025 at 11:06:50AM +0800, fushan.zeng wrote:
> On Mon, 22 Sep 2025 20:46:30 +0800, Junhui Liu wrote:
> > This patch series introduces initial support for the Anlogic DR1V90 SoC
> > [1] and the Milianke MLKPAI-FS01 [2] board.
> >
> > The DR1V90 is a RISC-V based FPSoC from Anlogic, featuring a Nuclei
> > UX900 [3] core as its processing system (PS) and 94,464 LUTs in the
> > programmable logic (PL) part. The Milianke MLKPAI-FS01 board is one of
> > the first platforms based on this SoC, with UART1 routed to a Type-C
> > interface for console access.
> >
> > Tested on the Milianke MLKPAI-FS01 board with both the vendor's OpenSBI
> > and the not-yet-upstreamed mainline OpenSBI [4], as well as the vendor’s
> > U-Boot. Because the vendor’s OpenSBI is loaded at 0x1f300000, we have
> > to additionally reserve the DRAM region 0x1fe00000–0x1fffffff to prevent
> > overlap if using vendor's OpenSBI.
> >
> > Notice: A "no4lvl" bootarg or dependency patch [5] is currently required
> > for successful boot on the DR1V90 platform, since the SoC hangs if the
> > kernel attempts to use unsupported 4-level or 5-level paging modes.
>
> Thanks first.
> Anloigc already has the open source SDK at https://gitee.com/anlogic/sdk,
> and will submit it to mainline at suitable time.
> The code should be a full feature version after lots of tests, not the
> modified and simplified version from Anlogic open source.
The nature of the upstreaming process will require what you have to be
broken down into multiple parts and be upstreamed at different times,
depending on how long components take to review. This is normal and
expected. Of course there should be through testing done, but I don't
think that what is in this initial patchset really requires much
testing - if it boots then it's probably sufficiently tested!
> And we hope that there won't be two different versions code of anlogic SOCs,
> it may confuse customers.
If there's ever going to be complete upstream support for your device,
then there will be two versions, because looking at just the dts files
in the gitee sdk you linked I have noticed things that are not acceptable
in upstream. As others have said, you are not entitled to control the
upstreaming process for your device. The only way to have some control is
to submit patches yourself and to engage with the review process for other
components. It's in everybody's interest to keep differences with your
SDK to a minimum, but you need to accept that there will always be
differences because the upstream community simply has higher standards
than those in your SDK as well as a requirement for portable code that
you do not have.
> It is better that anlogic SOCs are long term maintained and supported
> by Anlogic officially in mainline and for customers.
It's only better if Anlogic submits better quality patches (no evidence
for that yet) or submits the patches more promptly than others (which
clearly has not happened here), and offers review commentary etc at a
higher standard and more frequently than a non-employee maintainer would
be able to do (there's no evidence for that so far either, given you're
trying to stall this patchset). Your claim seems to have no merit as
there is no proof that you'd do a better job.
Thanks,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-25 17:09 ` Conor Dooley
@ 2025-09-26 14:38 ` fushan.zeng
0 siblings, 0 replies; 28+ messages in thread
From: fushan.zeng @ 2025-09-26 14:38 UTC (permalink / raw)
To: conor
Cc: alex, anup, aou, conor+dt, daniel.lezcano, devicetree,
fushan.zeng, gregkh, jirislaby, junhui.liu, krzk+dt,
krzysztof.kozlowski, linux-kernel, linux-riscv, linux-serial,
palmer, palmer, paul.walmsley, robh, samuel.holland, tglx,
ruigang.wan
On Thu, 25 Sep 2025 18:09:59 +0100, Conor Dooley wrote:
> On Thu, Sep 25, 2025 at 11:06:50AM +0800, fushan.zeng wrote:
> > Thanks first.
> > Anloigc already has the open source SDK at https://gitee.com/anlogic/sdk,
> > and will submit it to mainline at suitable time.
> > The code should be a full feature version after lots of tests, not the
> > modified and simplified version from Anlogic open source.
>
> The nature of the upstreaming process will require what you have to be
> broken down into multiple parts and be upstreamed at different times,
> depending on how long components take to review. This is normal and
> expected. Of course there should be through testing done, but I don't
> think that what is in this initial patchset really requires much
> testing - if it boots then it's probably sufficiently tested!
>
> > And we hope that there won't be two different versions code of anlogic SO=
> Cs,
> > it may confuse customers.
>
> If there's ever going to be complete upstream support for your device,
> then there will be two versions, because looking at just the dts files
> in the gitee sdk you linked I have noticed things that are not acceptable
> in upstream. As others have said, you are not entitled to control the
> upstreaming process for your device. The only way to have some control is
> to submit patches yourself and to engage with the review process for other
> components. It's in everybody's interest to keep differences with your
> SDK to a minimum, but you need to accept that there will always be
> differences because the upstream community simply has higher standards
> than those in your SDK as well as a requirement for portable code that
> you do not have.
>
> > It is better that anlogic SOCs are long term maintained and supported
> > by Anlogic officially in mainline and for customers.
>
> It's only better if Anlogic submits better quality patches (no evidence
> for that yet) or submits the patches more promptly than others (which
> clearly has not happened here), and offers review commentary etc at a
> higher standard and more frequently than a non-employee maintainer would
> be able to do (there's no evidence for that so far either, given you're
> trying to stall this patchset). Your claim seems to have no merit as
> there is no proof that you'd do a better job.
>
> Thanks,
> Conor.
Hi all,
I realize that my previous message was inappropriate and may have
given the wrong impression - my apologies.
To clarify, I am not trying to control the community
or block upstream work. I misunderstood the right
way to express myself before, and I take my
previous mail back.
Thank you for your guidance and patience. As a
newcomer to the Linux community, I am still
learning how to properly contribute.
If Junhui has further technical questions, please
feel free to contact me in this thread. I am happy to
help and to welcome contributions from the
community.
Best regards,
fushan
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-22 12:46 [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
` (11 preceding siblings ...)
2025-09-25 3:06 ` [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90 fushan.zeng
@ 2025-09-25 17:22 ` Conor Dooley
2025-09-29 18:46 ` Conor Dooley
12 siblings, 1 reply; 28+ messages in thread
From: Conor Dooley @ 2025-09-25 17:22 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial, Krzysztof Kozlowski
[-- Attachment #1: Type: text/plain, Size: 1475 bytes --]
On Mon, Sep 22, 2025 at 08:46:30PM +0800, Junhui Liu wrote:
> This patch series introduces initial support for the Anlogic DR1V90 SoC
> [1] and the Milianke MLKPAI-FS01 [2] board.
It's a bit late for v6.18 content, since the merge window likely opens
on Monday, but how do you intend getting the series into mainline?
There is a document https://docs.kernel.org/process/maintainer-soc.html
containing information about how the platform maintenance process works.
Arnd has suggested that the best way to get a platform initially added
is to send the whole patchset, rather than a PR - it leaves you with
fewer things to deal with at once. This patchset should be sent to
soc@kernel.org, with a note saying that it is ready for inclusion in
your cover letter.
Ideally, the initial patchset for an SoC should contain clock (and
pinctrl) support, rather than use fake fixed-clocks, but you have none of
those in your base dts so I have no objections. fixed-clocks can become
a problem if the dts is imported into U-Boot via OF_UPSTREAM or
elsewhere, since it can cause regressions for them. I would highly
suggest that upstreaming the clock/reset controller is the next step
that you take, because other peripherals are going to need clocks.
Please let me know if you have any questions - either by email (and it
can be off-list if needed if it relates to platform maintenance
questions) or on irc (I'm conchuod on libera.chat).
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [PATCH v2 00/11] riscv: Add initial support for Anlogic DR1V90
2025-09-25 17:22 ` Conor Dooley
@ 2025-09-29 18:46 ` Conor Dooley
0 siblings, 0 replies; 28+ messages in thread
From: Conor Dooley @ 2025-09-29 18:46 UTC (permalink / raw)
To: Junhui Liu
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Daniel Lezcano,
Thomas Gleixner, Samuel Holland, Anup Patel, Greg Kroah-Hartman,
Jiri Slaby, devicetree, linux-kernel, Palmer Dabbelt, linux-riscv,
linux-serial, Krzysztof Kozlowski
[-- Attachment #1: Type: text/plain, Size: 2226 bytes --]
On Thu, Sep 25, 2025 at 06:22:41PM +0100, Conor Dooley wrote:
> On Mon, Sep 22, 2025 at 08:46:30PM +0800, Junhui Liu wrote:
> > This patch series introduces initial support for the Anlogic DR1V90 SoC
> > [1] and the Milianke MLKPAI-FS01 [2] board.
>
> It's a bit late for v6.18 content, since the merge window likely opens
> on Monday, but how do you intend getting the series into mainline?
>
> There is a document https://docs.kernel.org/process/maintainer-soc.html
> containing information about how the platform maintenance process works.
> Arnd has suggested that the best way to get a platform initially added
> is to send the whole patchset, rather than a PR - it leaves you with
> fewer things to deal with at once. This patchset should be sent to
> soc@kernel.org, with a note saying that it is ready for inclusion in
> your cover letter.
>
> Ideally, the initial patchset for an SoC should contain clock (and
> pinctrl) support, rather than use fake fixed-clocks, but you have none of
> those in your base dts so I have no objections. fixed-clocks can become
> a problem if the dts is imported into U-Boot via OF_UPSTREAM or
> elsewhere, since it can cause regressions for them. I would highly
> suggest that upstreaming the clock/reset controller is the next step
> that you take, because other peripherals are going to need clocks.
>
> Please let me know if you have any questions - either by email (and it
> can be off-list if needed if it relates to platform maintenance
> questions) or on irc (I'm conchuod on libera.chat).
I had a chat with Junhui on irc the other day, where they expressed
unwillingness to act as the platform maintainer, to avoid being in
conflict with the vendor. I'm disappointed of course that the vendor's
behaviour has had this impact, but of course I understand where Junhui
is coming from.
Fortunately Junhui is still willing to post patches for the platform, as
they want to run mainline on their board. I will add the platform to my
"misc" branch, along with the other platforms I apply patches for until
either Junhui changes their mind or until people who understand the
process and standards wish to take it over.
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread