Merge tag 'renesas-drivers-for-v6.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers
Renesas driver updates for v6.2 (take two) - Add support for identifying the SoC revision on RZ/V2M. * tag 'renesas-drivers-for-v6.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: soc: renesas: Identify RZ/V2M SoC Link: https://lore.kernel.org/r/cover.1668788925.git.geert+renesas@glider.be Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@ -76,6 +76,10 @@ static const struct renesas_family fam_rzv2l __initconst __maybe_unused = {
|
|||||||
.name = "RZ/V2L",
|
.name = "RZ/V2L",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct renesas_family fam_rzv2m __initconst __maybe_unused = {
|
||||||
|
.name = "RZ/V2M",
|
||||||
|
};
|
||||||
|
|
||||||
static const struct renesas_family fam_shmobile __initconst __maybe_unused = {
|
static const struct renesas_family fam_shmobile __initconst __maybe_unused = {
|
||||||
.name = "SH-Mobile",
|
.name = "SH-Mobile",
|
||||||
.reg = 0xe600101c, /* CCCR (Common Chip Code Register) */
|
.reg = 0xe600101c, /* CCCR (Common Chip Code Register) */
|
||||||
@ -171,6 +175,10 @@ static const struct renesas_soc soc_rz_v2l __initconst __maybe_unused = {
|
|||||||
.id = 0x8447447,
|
.id = 0x8447447,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct renesas_soc soc_rz_v2m __initconst __maybe_unused = {
|
||||||
|
.family = &fam_rzv2m,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct renesas_soc soc_rcar_m1a __initconst __maybe_unused = {
|
static const struct renesas_soc soc_rcar_m1a __initconst __maybe_unused = {
|
||||||
.family = &fam_rcar_gen1,
|
.family = &fam_rcar_gen1,
|
||||||
};
|
};
|
||||||
@ -380,6 +388,9 @@ static const struct of_device_id renesas_socs[] __initconst = {
|
|||||||
#if defined(CONFIG_ARCH_R9A07G054)
|
#if defined(CONFIG_ARCH_R9A07G054)
|
||||||
{ .compatible = "renesas,r9a07g054", .data = &soc_rz_v2l },
|
{ .compatible = "renesas,r9a07g054", .data = &soc_rz_v2l },
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(CONFIG_ARCH_R9A09G011)
|
||||||
|
{ .compatible = "renesas,r9a09g011", .data = &soc_rz_v2m },
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_ARCH_SH73A0
|
#ifdef CONFIG_ARCH_SH73A0
|
||||||
{ .compatible = "renesas,sh73a0", .data = &soc_shmobile_ag5 },
|
{ .compatible = "renesas,sh73a0", .data = &soc_shmobile_ag5 },
|
||||||
#endif
|
#endif
|
||||||
@ -405,6 +416,11 @@ static const struct renesas_id id_rzg2l __initconst = {
|
|||||||
.mask = 0xfffffff,
|
.mask = 0xfffffff,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct renesas_id id_rzv2m __initconst = {
|
||||||
|
.offset = 0x104,
|
||||||
|
.mask = 0xff,
|
||||||
|
};
|
||||||
|
|
||||||
static const struct renesas_id id_prr __initconst = {
|
static const struct renesas_id id_prr __initconst = {
|
||||||
.offset = 0,
|
.offset = 0,
|
||||||
.mask = 0xff00,
|
.mask = 0xff00,
|
||||||
@ -415,6 +431,7 @@ static const struct of_device_id renesas_ids[] __initconst = {
|
|||||||
{ .compatible = "renesas,r9a07g043-sysc", .data = &id_rzg2l },
|
{ .compatible = "renesas,r9a07g043-sysc", .data = &id_rzg2l },
|
||||||
{ .compatible = "renesas,r9a07g044-sysc", .data = &id_rzg2l },
|
{ .compatible = "renesas,r9a07g044-sysc", .data = &id_rzg2l },
|
||||||
{ .compatible = "renesas,r9a07g054-sysc", .data = &id_rzg2l },
|
{ .compatible = "renesas,r9a07g054-sysc", .data = &id_rzg2l },
|
||||||
|
{ .compatible = "renesas,r9a09g011-sys", .data = &id_rzv2m },
|
||||||
{ .compatible = "renesas,prr", .data = &id_prr },
|
{ .compatible = "renesas,prr", .data = &id_prr },
|
||||||
{ /* sentinel */ }
|
{ /* sentinel */ }
|
||||||
};
|
};
|
||||||
@ -485,6 +502,11 @@ static int __init renesas_soc_init(void)
|
|||||||
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%u",
|
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%u",
|
||||||
eshi);
|
eshi);
|
||||||
rev_prefix = "Rev ";
|
rev_prefix = "Rev ";
|
||||||
|
} else if (id == &id_rzv2m) {
|
||||||
|
eshi = ((product >> 4) & 0x0f);
|
||||||
|
eslo = product & 0xf;
|
||||||
|
soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%u.%u",
|
||||||
|
eshi, eslo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (soc->id &&
|
if (soc->id &&
|
||||||
|
Reference in New Issue
Block a user