Re: [PATCH v4 0/3] Add UFS Host driver support for SpacemiT K3 SoC
From: Anirudh Srinivasan
Date: Mon Sep 14 2026 - 12:33:02 EST
Hi Yixun,
On Tue, Sep 8, 2026 at 2:42 AM Yixun Lan <dlan@xxxxxxxxxx> wrote:
>
> This series try to add UFS support for SpacemiT K3 SoC, the controller
> components consists of System Bus Interface Unit, UFS Host Controller
> Interface, UFS Transport Protocol Layer, UFS Host Registers, Device
> Management Entity (DME), Transport Layer, Network Layer, Data Link
> Layer, PHY Adapter Layer, and M-PHY Interface. A more detail functional
> block diagram can be found in SpacemiT website, chapter 9.7.3 [1]
>
> One known issue is that the device will occasionally raise BKOPS interrupt
> when doing some high load test, log from dmesg shows
>
> [ 806.710763] ufshcd-spacemit c0e00000.ufshc: ufshcd_bkops_exception_event_handler: device raised urgent BKOPS exception for bkops status 1
>
> Link: https://spacemit.com/community/document/info?nodepath=hardware/key_stone/k3/k3_docs/k3_usermanual/09_memory_storage.md&lang=en [1]
> Signed-off-by: Yixun Lan <dlan@xxxxxxxxxx>
> ---
> Changes in v4:
> - fix clock and reset settings
> - drop function which retrieve value of tx_lanes
> - propagate return error of ufs_spacemit_dme_set()
> - check return value ufs_spacemit_check_hibern8()
> - drop call to ufshcd_vops_phy_initialization()
> - handle compiling warning if CONFIG_OF not enabled
> add __maybe_unused to ufs_spacemit_of_match
> - Link to v3: https://patch.msgid.link/20260806-08-k3-ufs-support-v3-0-037fb322acdb@xxxxxxxxxx
>
> Changes in v3:
> - collect tags
> - fix dt-binding warning reported-by sashiko
> - fix low freq in opp-2 table
> - fix err checking in check_hibern8()
> - propagate err code in link_startup_notify()
> - update documents for event_notify()
> - ufs clock driver is merged into v7.3-rc1, update cover letter
> - Link to v2: https://patch.msgid.link/20260725-08-k3-ufs-support-v2-0-45036a2a2418@xxxxxxxxxx
>
> Changes in v2:
> - fix missing interrupts property
> - move ufs node to k3-com260.dtsi
> - convert freq-table-hz to operating-points-v2
> - rework reset_control, fix header and drop global variable
> - drop dump_host_regs() debug interface
> - converge and refactor dme_set() operations
> - massive reduce of busy delay() loops
> - drop vendor specific hce_enable_notify(), fallback to default
> - drop unused member from struct ufs_spacemit_host
> - add COMPILE_TEST support to Kconfig
> - comment style fix
> - Link to v1: https://patch.msgid.link/20260702-08-k3-ufs-support-v1-0-1a64a3ab128f@xxxxxxxxxx
>
> ---
> Yixun Lan (3):
> scsi: ufs: spacemit: dt-bindings: Add UFS controller for K3 SoC
> scsi: ufs: spacemit: k3: Add UFS Host Controller driver
> riscv: dts: spacemit: k3: Add UFS support
>
> .../devicetree/bindings/ufs/spacemit,k3-ufshc.yaml | 56 ++
> 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 | 22 +
> drivers/ufs/host/Kconfig | 12 +
> drivers/ufs/host/Makefile | 1 +
> drivers/ufs/host/ufs-spacemit.c | 678 +++++++++++++++++++++
> drivers/ufs/host/ufs-spacemit.h | 79 +++
> 8 files changed, 856 insertions(+)
Tested-by: Anirudh Srinivasan <asrinivasan@xxxxxxxxxxxxxxxxxxx>