Renesas driver updates for v6.10

- Identify the new RZ/V2H (R9A09G057) SoC,
   - Enable support for the TMU (Timer Unit) on R-Car Gen2 SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZhj+tQAKCRCKwlD9ZEnx
 cNkQAP0ZRtdqElbqYvGGHInhpabdkc2+EJQInXrpzP0xDAi8oAD/XHXbfYDv4kRX
 sgplvCaUqUM2ORWp9qxTAohcL8+xvAM=
 =rtx1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYv/7wACgkQYKtH/8kJ
 UidWqRAAgAkuBHaaPWQfVfuTHkdQf5+GD9rPSAgAM3Co0p1wtUYW50tut1k3fqmv
 Qfr/X1rRtObozxcLH5upnWgkw3K4L6VXvKA+wZK+dPBPdWoeymMLOWRL0bCeBufI
 f2aQ9Dpd67/xrZEWKO89Ezo/csX8MbpQxaDdkXPzj2MReuXAkZKqoa3zrbLnyZs+
 fOKi0qAzaKaKreTDJZ00orip/v0GC83z9UVUppk4a2qIn9ggk0+ah48q1zufEMfG
 oeae+XeBtZ7Wzt3D9zbcRiW9ZPQgZ8k3vB93tXjO88METMMNNx/6tvFOXf6LE/kK
 fLAeXcrUOwQI/OzZwXWdQeCvexHAth6NU7nJ/sCBpIdP99ksGITp3KfksEONvCvP
 UUIfiBWOPhj0C5oNdvxEwnIiCOhiVufcVTfz3e2+UsK84L941Xi/ZLaEV0VBSvtI
 zwNTZAjKC/u1ewzwHkwEze8uhoHZ3QMlMnMV50SPmpwIzCihmy8up307z0Q2LBH1
 dLMYljF2r38MZk3jezZ5B1CSyZyQPtuuLMsUdhA8BO+mTY31AwFkWHDTiI29TiyU
 fsNnDNSDco641mH6IlrlbYA2iVlqCRLvu7/0RE4M7lmu1OEFIGASDqzfpZS9Y/r4
 iYX1qiXFx3grKKXa+mabMwcgRTAe2489X3Yg3GDQgfJWPd5s7JE=
 =7Fri
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.10

  - Identify the new RZ/V2H (R9A09G057) SoC,
  - Enable support for the TMU (Timer Unit) on R-Car Gen2 SoCs.

* tag 'renesas-drivers-for-v6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Enable TMU support on R-Car Gen2
  soc: renesas: Add identification support for RZ/V2H SoC

Link: https://lore.kernel.org/r/cover.1712915532.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2024-04-29 22:14:51 +02:00
commit 7ec7695d0b
2 changed files with 25 additions and 1 deletions

View File

@ -24,6 +24,7 @@ config ARCH_RCAR_GEN2
select RENESAS_IRQC
select RST_RCAR
select SYS_SUPPORTS_SH_CMT
select SYS_SUPPORTS_SH_TMU
config ARCH_RCAR_GEN3
bool
@ -344,6 +345,11 @@ config ARCH_R9A09G011
help
This enables support for the Renesas RZ/V2M SoC.
config ARCH_R9A09G057
bool "ARM64 Platform support for RZ/V2H(P)"
help
This enables support for the Renesas RZ/V2H(P) SoC variants.
endif # ARM64
if RISCV

View File

@ -75,6 +75,10 @@ static const struct renesas_family fam_rzg3s __initconst __maybe_unused = {
.name = "RZ/G3S",
};
static const struct renesas_family fam_rzv2h __initconst __maybe_unused = {
.name = "RZ/V2H",
};
static const struct renesas_family fam_rzv2l __initconst __maybe_unused = {
.name = "RZ/V2L",
};
@ -177,6 +181,11 @@ static const struct renesas_soc soc_rz_g3s __initconst __maybe_unused = {
.id = 0x85e0447,
};
static const struct renesas_soc soc_rz_v2h __initconst __maybe_unused = {
.family = &fam_rzv2h,
.id = 0x847a447,
};
static const struct renesas_soc soc_rz_v2l __initconst __maybe_unused = {
.family = &fam_rzv2l,
.id = 0x8447447,
@ -407,6 +416,9 @@ static const struct of_device_id renesas_socs[] __initconst __maybe_unused = {
#ifdef CONFIG_ARCH_R9A09G011
{ .compatible = "renesas,r9a09g011", .data = &soc_rz_v2m },
#endif
#ifdef CONFIG_ARCH_R9A09G057
{ .compatible = "renesas,r9a09g057", .data = &soc_rz_v2h },
#endif
#ifdef CONFIG_ARCH_SH73A0
{ .compatible = "renesas,sh73a0", .data = &soc_shmobile_ag5 },
#endif
@ -432,6 +444,11 @@ static const struct renesas_id id_rzg2l __initconst = {
.mask = 0xfffffff,
};
static const struct renesas_id id_rzv2h __initconst = {
.offset = 0x304,
.mask = 0xfffffff,
};
static const struct renesas_id id_rzv2m __initconst = {
.offset = 0x104,
.mask = 0xff,
@ -449,6 +466,7 @@ static const struct of_device_id renesas_ids[] __initconst = {
{ .compatible = "renesas,r9a07g054-sysc", .data = &id_rzg2l },
{ .compatible = "renesas,r9a08g045-sysc", .data = &id_rzg2l },
{ .compatible = "renesas,r9a09g011-sys", .data = &id_rzv2m },
{ .compatible = "renesas,r9a09g057-sys", .data = &id_rzv2h },
{ .compatible = "renesas,prr", .data = &id_prr },
{ /* sentinel */ }
};
@ -513,7 +531,7 @@ static int __init renesas_soc_init(void)
eslo = product & 0xf;
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "ES%u.%u",
eshi, eslo);
} else if (id == &id_rzg2l) {
} else if (id == &id_rzg2l || id == &id_rzv2h) {
eshi = ((product >> 28) & 0x0f);
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%u",
eshi);