public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] scsi: ufs: renesas: Add support for R-Car S4-8 ES1.2
@ 2025-03-05 13:34 Geert Uytterhoeven
  2025-03-05 13:34 ` [PATCH v3 1/7] dt-bindings: ufs: renesas,ufs: Add calibration data Geert Uytterhoeven
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2025-03-05 13:34 UTC (permalink / raw)
  To: Yoshihiro Shimoda, James E . J . Bottomley, Martin K . Petersen,
	Alim Akhtar, Avri Altman, Bart Van Assche, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-scsi, devicetree, linux-renesas-soc, Geert Uytterhoeven

	Hi all,

Initialization of the UFS controller on R-Car S4-8 ES1.0 requires only
static values.  However, other UFS controller variants (R-Car S4-8 ES 1.2)
require dynamic values, like those obtained from E-FUSE, and downloading
firmware.

Hence this patch series refactors the initialization code to prepare for
this, and adds support for the UFS controller on R-Car S4-8 ES1.2.
The accompanying DTS change is available at [1].

Changes compared to v2[2]:
  - Take over from Shimoda-san,
  - New patches 1/7 (DT bindings update) and 7/7 (actual R-Car S4-8
    ES1.2 support),
  - Keep MAX_INDEX check, as it is still useful,
  - Prefix data parameters of ufs_renesas_write_d0_d4() by "data_", for
    consistency,
  - Document kernel size impact of switching to init code,
  - Rename ufs_renesas_init_ufshc() to ufs_renesas_init_step1_to_3(),
  - Extract ufs_renesas_init_step4_to_6(),
  - Move ufs_renesas_write_phy_10ad_10af() just before its sole user,

Changes compared to v1[3]:
  - Postpone removing the *_INDEX* enums until all users are gone,
  - Combine declaration and initialization of ufs_renesas_init_param,
  - Drop "_param" from ufs_renesas_*() helper function names.
  - Move MODE_READ handling after MODE_POLL handling,
  - Move ufs_renesas_read() after ufs_renesas_poll(),
  - Remove not just MODE_WAIT, but all of the struct-based control.

This has been tested on:
  - Renesas Spider with R-Car S4-8 ES1.0 (broken before/after),
  - Renesas S4 Starter Kit with R-Car S4-8 ES1.2 (works after).

Thanks for your comments!

[1] "[PATCH] arm64: dts: renesas: r8a779f4: Add UFS tuning parameters in
     E-FUSE"
    https://lore.kernel.org/3e4fca228eb049d54a1ae520104558505dbdf803.1741179629.git.geert+renesas@glider.be
[2] "[PATCH v2 0/5] scsi: ufs: renesas: Refactor code for other UFS
     controller"
    https://lore.kernel.org/20240709023550.1750333-1-yoshihiro.shimoda.uh@renesas.com
[3] "[PATCH 0/5] scsi: ufs: renesas: Refactor code for other UFS
     controller"
    https://lore.kernel.org/20240708120931.1703956-1-yoshihiro.shimoda.uh@renesas.com

Geert Uytterhoeven (1):
  dt-bindings: ufs: renesas,ufs: Add calibration data

Yoshihiro Shimoda (6):
  scsi: ufs: renesas: Replace init data by init code
  scsi: ufs: renesas: Add register read to remove save/set/restore
  scsi: ufs: renesas: Remove register control helper function
  scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings
  scsi: ufs: renesas: Add reusable functions
  scsi: ufs: renesas: Add initialization code for R-Car S4-8 ES1.2

 .../devicetree/bindings/ufs/renesas,ufs.yaml  |  12 +
 drivers/ufs/host/ufs-renesas.c                | 723 +++++++++++-------
 2 files changed, 445 insertions(+), 290 deletions(-)

-- 
2.43.0

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2025-03-18  0:55 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-05 13:34 [PATCH v3 0/7] scsi: ufs: renesas: Add support for R-Car S4-8 ES1.2 Geert Uytterhoeven
2025-03-05 13:34 ` [PATCH v3 1/7] dt-bindings: ufs: renesas,ufs: Add calibration data Geert Uytterhoeven
2025-03-05 16:25   ` Conor Dooley
2025-03-05 13:34 ` [PATCH v3 2/7] scsi: ufs: renesas: Replace init data by init code Geert Uytterhoeven
2025-03-05 13:34 ` [PATCH v3 3/7] scsi: ufs: renesas: Add register read to remove save/set/restore Geert Uytterhoeven
2025-03-05 13:34 ` [PATCH v3 4/7] scsi: ufs: renesas: Remove register control helper function Geert Uytterhoeven
2025-03-05 13:34 ` [PATCH v3 5/7] scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings Geert Uytterhoeven
2025-03-05 13:34 ` [PATCH v3 6/7] scsi: ufs: renesas: Add reusable functions Geert Uytterhoeven
2025-03-05 13:34 ` [PATCH v3 7/7] scsi: ufs: renesas: Add initialization code for R-Car S4-8 ES1.2 Geert Uytterhoeven
2025-03-11  1:37 ` [PATCH v3 0/7] scsi: ufs: renesas: Add support " Martin K. Petersen
2025-03-18  0:54 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox