[PATCH v2 3/3] riscv: dts: spacemit: k3: Add UFS support
Yixun Lan <[email protected]> Sat, 25 Jul 2026 10:37:46 +0000
| Newsgroups | dev.linux.lists.spacemit,org.infradead.lists.linux-riscv,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi |
|---|---|
| Message-ID | <[email protected]> |
Add UFS Host Controller support for SpacemiT K3 SoC, and enable it both on Pico-ITX and CoM260-IFX boards. Signed-off-by: Yixun Lan <[email protected]> --- arch/riscv/boot/dts/spacemit/k3-com260.dtsi | 4 ++++ arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 4 ++++ arch/riscv/boot/dts/spacemit/k3.dtsi | 27 +++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/arch/riscv/boot/dts/spacemit/k3-com260.dtsi b/arch/riscv/boot/dts/spacemit/k3-com260.dtsi index a38d7b738258..a68a55c8e73d 100644 --- a/arch/riscv/boot/dts/spacemit/k3-com260.dtsi +++ b/arch/riscv/boot/dts/spacemit/k3-com260.dtsi @@ -188,3 +188,7 @@ &uart0 { pinctrl-0 = <&uart0_0_cfg>; status = "okay"; }; + +&ufshc { + status = "okay"; +}; diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts index b89c1521e664..eab8c430f2d1 100644 --- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts +++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts @@ -206,6 +206,10 @@ &uart0 { status = "okay"; }; +&ufshc { + status = "okay"; +}; + &usb2_host { #address-cells = <1>; #size-cells = <0>; diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi index 19fc9b49668e..a287bb55d13f 100644 --- a/arch/riscv/boot/dts/spacemit/k3.dtsi +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi @@ -469,6 +469,33 @@ usb2_phy: phy@c0a20000 { status = "disabled"; }; + ufshc: ufshc@c0e00000 { + compatible = "spacemit,k3-ufshc"; + reg = <0x0 0xc0e00000 0x0 0x40000>; + clocks = <&syscon_apmu CLK_APMU_UFS_ACLK>, + <&syscon_apmu CLK_APMU_UFS_REFCLK>; + clock-names = "aclk", "ref_clk"; + resets = <&syscon_apmu RESET_APMU_UFS_ACLK>; + interrupts = <135 IRQ_TYPE_LEVEL_HIGH>; + lanes-per-direction = <2>; + operating-points-v2 = <&ufs_opp_table>; + status = "disabled"; + + ufs_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-1 { + opp-hz = /bits/ 64 <491520000>, + /bits/ 64 <19200000>; + }; + + opp-2 { + opp-hz = /bits/ 64 <491520000>, + /bits/ 64 <192000000>; + }; + }; + }; + eth0: ethernet@cac80000 { compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a"; reg = <0x0 0xcac80000 0x0 0x2000>; -- 2.54.0