[PATCH v4 1/5] spi: rockchip_sfc: Support sclk_x2 version
Kever Yang
kever.yang at rock-chips.com
Sun Oct 26 16:40:30 CET 2025
On 2025/10/19 23:47, Jonas Karlman wrote:
> From: Jon Lin <jon.lin at rock-chips.com>
>
> SFC after version 8 supports dtr mode, so the IO is the binary output of
> the controller clock.
>
> Signed-off-by: Jon Lin <jon.lin at rock-chips.com>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> v4: No change
> v3: No change
> v2: No change
> ---
> drivers/spi/rockchip_sfc.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/spi/rockchip_sfc.c b/drivers/spi/rockchip_sfc.c
> index 73738ab26d33..60e74117057a 100644
> --- a/drivers/spi/rockchip_sfc.c
> +++ b/drivers/spi/rockchip_sfc.c
> @@ -108,6 +108,7 @@
> #define SFC_VER_3 0x3
> #define SFC_VER_4 0x4
> #define SFC_VER_5 0x5
> +#define SFC_VER_8 0x8
>
> /* Delay line controller resiter */
> #define SFC_DLL_CTRL0 0x3C
> @@ -589,6 +590,16 @@ static int rockchip_sfc_adjust_op_size(struct spi_slave *mem, struct spi_mem_op
> return 0;
> }
>
> +#if CONFIG_IS_ENABLED(CLK)
> +static int rockchip_sfc_clk_set_rate(struct rockchip_sfc *sfc, uint speed)
> +{
> + if (sfc->version >= SFC_VER_8)
> + return clk_set_rate(&sfc->clk, speed * 2);
> + else
> + return clk_set_rate(&sfc->clk, speed);
> +}
> +#endif
> +
> static int rockchip_sfc_set_speed(struct udevice *bus, uint speed)
> {
> struct rockchip_sfc *sfc = dev_get_plat(bus);
> @@ -600,7 +611,7 @@ static int rockchip_sfc_set_speed(struct udevice *bus, uint speed)
> return 0;
>
> #if CONFIG_IS_ENABLED(CLK)
> - int ret = clk_set_rate(&sfc->clk, speed);
> + int ret = rockchip_sfc_clk_set_rate(sfc, speed);
>
> if (ret < 0) {
> dev_err(sfc->dev, "set_freq=%dHz fail, check if it's the cru support level\n",
--
Thanks & Best regards,
Kever Yang
**************************************************************************************************
杨凯 市场部 Kever Yang Marketing Department
瑞芯微电子股份有限公司 Rockchip Electronics Co.,Ltd。
地址:福建省福州市铜盘路软件大道89号软件园A区18号楼 (350003)
Addr : No.18 Building,A District,No.89,Fuzhou Software Boulevard,Fuzhou,Fujian,PRC
More information about the U-Boot
mailing list