[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250721-dr1v90-basic-dt-v1-0-5740c5199c47@pigmoral.tech>
Date: Mon, 21 Jul 2025 23:46:06 +0800
From: Junhui Liu <junhui.liu@...moral.tech>
To: Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Alexandre Ghiti <alex@...ti.fr>, Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Samuel Holland <samuel.holland@...ive.com>,
Anup Patel <anup@...infault.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Palmer Dabbelt <palmer@...ive.com>, Conor Dooley <conor@...nel.org>,
linux-riscv@...ts.infradead.org, linux-serial@...r.kernel.org,
Junhui Liu <junhui.liu@...moral.tech>
Subject: [PATCH RFC 00/10] riscv: Add initial support for Anlogic DR1V90
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@...moral.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@...moral.tech>
Powered by blists - more mailing lists