[PATCH 4/5] scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings
Neil Armstrong
neil.armstrong at linaro.org
Mon Jan 5 16:20:21 CET 2026
On 1/3/26 01:22, Marek Vasut wrote:
> From: Yoshihiro Shimoda <yoshihiro.shimoda.uh at renesas.com>
>
> Extract specific PHY setting of the 0x10a[df] registers into a new
> function.
>
> Ported from Linux kernel commit
> cca2b807c227 ("scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings")
>
> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh at renesas.com>
> Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
> Link: https://lore.kernel.org/r/110eafd1ee24f9db0285a5e2bca224e35962268a.1741179611.git.geert+renesas@glider.be
> Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
> Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
> ---
> Cc: Bhupesh Sharma <bhupesh.linux at gmail.com>
> Cc: Neil Armstrong <neil.armstrong at linaro.org>
> Cc: Nobuhiro Iwamatsu <iwamatsu at nigauri.org>
> Cc: Tom Rini <trini at konsulko.com>
> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh at renesas.com>
> Cc: u-boot at lists.denx.de
> ---
> drivers/ufs/ufs-renesas.c | 37 ++++++++++++++-----------------------
> 1 file changed, 14 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/ufs/ufs-renesas.c b/drivers/ufs/ufs-renesas.c
> index c8fbe61901b..b2edc3b5497 100644
> --- a/drivers/ufs/ufs-renesas.c
> +++ b/drivers/ufs/ufs-renesas.c
> @@ -130,6 +130,16 @@ static void ufs_renesas_indirect_poll(struct ufs_hba *hba, u32 gpio, u32 addr,
> ufs_renesas_write(hba, 0xf0, 0);
> }
>
> +static void ufs_renesas_write_phy_10ad_10af(struct ufs_hba *hba,
> + u32 data_10ad, u32 data_10af)
> +{
> + ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
> + ufs_renesas_write_phy(hba, 0x10ad, data_10ad);
> + ufs_renesas_write_phy(hba, 0x10af, data_10af);
> + ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
> + ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
> +}
> +
> static void ufs_renesas_pre_init(struct ufs_hba *hba)
> {
> u32 timer_val;
> @@ -204,29 +214,10 @@ static void ufs_renesas_pre_init(struct ufs_hba *hba)
> ufs_renesas_write_phy(hba, 0x4000, 0x0000);
> ufs_renesas_write_phy(hba, 0x4001, 0x0000);
>
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ad, 0x0000);
> - ufs_renesas_write_phy(hba, 0x10af, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
> -
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ad, 0x0000);
> - ufs_renesas_write_phy(hba, 0x10af, 0x0002);
> - ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
> -
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ad, 0x0080);
> - ufs_renesas_write_phy(hba, 0x10af, 0x0000);
> - ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
> -
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ad, 0x0080);
> - ufs_renesas_write_phy(hba, 0x10af, 0x001a);
> - ufs_renesas_write_phy(hba, 0x10b6, 0x0001);
> - ufs_renesas_write_phy(hba, 0x10ae, 0x0000);
> + ufs_renesas_write_phy_10ad_10af(hba, 0x0000, 0x0001);
> + ufs_renesas_write_phy_10ad_10af(hba, 0x0000, 0x0002);
> + ufs_renesas_write_phy_10ad_10af(hba, 0x0080, 0x0000);
> + ufs_renesas_write_phy_10ad_10af(hba, 0x0080, 0x001a);
>
> ufs_renesas_indirect_write(hba, 7, 0x70, 0x0016);
> ufs_renesas_indirect_write(hba, 7, 0x71, 0x0016);
Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>
Thanks,
Neil
More information about the U-Boot
mailing list