devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 00/10] riscv: Add initial support for Anlogic DR1V90
@ 2025-07-21 15:46 Junhui Liu
  2025-07-21 15:46 ` [PATCH RFC 01/10] dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei Junhui Liu
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: Junhui Liu @ 2025-07-21 15: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
  Cc: devicetree, linux-kernel, Palmer Dabbelt, Conor Dooley,
	linux-riscv, linux-serial, Junhui Liu

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 upon Milianke MLKPAI-FS01 board based on vendor's OpenSBI and
U-Boot with log [4]. The log indicates that OpenSBI is running at
0x3fe00000. Since the region 0x20000000-0x3fffffff is a mirror of
0x00000000-0x1fffffff, the actual physical base address for OpenSBI is
0x1fe00000.

Notice: A "no4lvl" bootarg 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. I plan to submit a
follow-up patch to allow the kernel to query the supported MMU mode
directly from the "mmu-type" property in the device tree, to avoid
probing unsupported SATP modes.

This patch series is marked as RFC because basic drivers such as clock,
reset and pinctrl are not yet supported. These essential drivers will be
submitted in later patch series.

Link: https://www.anlogic.com/product/fpga/saldragon/dr1 [1]
Link: https://www.milianke.com/product-item-104.html [2]
Link: https://nucleisys.com/product/900.php [3]
Link: https://gist.github.com/pigmoral/7a61297593386dadbf357837d93adc95 [4]
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
---
Junhui Liu (10):
      dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei
      dt-bindings: riscv: Add Nuclei UX900 compatibles
      dt-bindings: riscv: Add Anlogic DR1V90
      dt-bindings: timer: Add Anlogic DR1V90 CLINT
      dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC
      dt-bindings: serial: snps-dw-apb-uart: Add Anlogic DR1V90 uart
      riscv: Add Anlogic SoC famly Kconfig support
      riscv: dts: Add initial Anlogic DR1V90 SoC device tree
      riscv: dts: anlogic: Add Milianke MLKPAI FS01 board
      riscv: defconfig: Enable Anlogic SoC

 .../interrupt-controller/sifive,plic-1.0.0.yaml    |  1 +
 .../devicetree/bindings/riscv/anlogic.yaml         | 27 +++++++
 Documentation/devicetree/bindings/riscv/cpus.yaml  |  1 +
 .../bindings/serial/snps-dw-apb-uart.yaml          |  1 +
 .../devicetree/bindings/timer/sifive,clint.yaml    |  1 +
 .../devicetree/bindings/vendor-prefixes.yaml       |  6 ++
 arch/riscv/Kconfig.socs                            |  5 ++
 arch/riscv/boot/dts/Makefile                       |  1 +
 arch/riscv/boot/dts/anlogic/Makefile               |  2 +
 arch/riscv/boot/dts/anlogic/dr1v90-mlkpai-fs01.dts | 28 +++++++
 arch/riscv/boot/dts/anlogic/dr1v90.dtsi            | 86 ++++++++++++++++++++++
 arch/riscv/configs/defconfig                       |  1 +
 12 files changed, 160 insertions(+)
---
base-commit: 89be9a83ccf1f88522317ce02f854f30d6115c41
change-id: 20250710-dr1v90-basic-dt-352e9ae5acb8

Best regards,
-- 
Junhui Liu <junhui.liu@pigmoral.tech>


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-07-25 22:30 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-21 15:46 [PATCH RFC 00/10] riscv: Add initial support for Anlogic DR1V90 Junhui Liu
2025-07-21 15:46 ` [PATCH RFC 01/10] dt-bindings: vendor-prefixes: Add Anlogic, Milianke and Nuclei Junhui Liu
2025-07-22  7:27   ` Krzysztof Kozlowski
2025-07-21 15:46 ` [PATCH RFC 02/10] dt-bindings: riscv: Add Nuclei UX900 compatibles Junhui Liu
2025-07-21 15:46 ` [PATCH RFC 03/10] dt-bindings: riscv: Add Anlogic DR1V90 Junhui Liu
2025-07-22  7:28   ` Krzysztof Kozlowski
2025-07-21 15:46 ` [PATCH RFC 04/10] dt-bindings: timer: Add Anlogic DR1V90 CLINT Junhui Liu
2025-07-25 22:29   ` Rob Herring (Arm)
2025-07-21 15:46 ` [PATCH RFC 05/10] dt-bindings: interrupt-controller: Add Anlogic DR1V90 PLIC Junhui Liu
2025-07-21 15:46 ` [PATCH RFC 06/10] dt-bindings: serial: snps-dw-apb-uart: Add Anlogic DR1V90 uart Junhui Liu
2025-07-25 22:30   ` Rob Herring (Arm)
2025-07-21 15:46 ` [PATCH RFC 07/10] riscv: Add Anlogic SoC famly Kconfig support Junhui Liu
2025-07-22  7:29   ` Krzysztof Kozlowski
2025-07-22 11:27     ` Junhui Liu
2025-07-21 15:46 ` [PATCH RFC 08/10] riscv: dts: Add initial Anlogic DR1V90 SoC device tree Junhui Liu
2025-07-22 15:21   ` Conor Dooley
2025-07-23  2:37     ` Junhui Liu
2025-07-21 15:46 ` [PATCH RFC 09/10] riscv: dts: anlogic: Add Milianke MLKPAI FS01 board Junhui Liu
2025-07-22  7:31   ` Krzysztof Kozlowski
2025-07-22 11:46     ` Junhui Liu
2025-07-21 15:46 ` [PATCH RFC 10/10] riscv: defconfig: Enable Anlogic SoC Junhui Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).