]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
soc: renesas: Add R-Car X5H PRR support
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Thu, 2 Apr 2026 11:27:07 +0000 (13:27 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 4 May 2026 09:58:59 +0000 (11:58 +0200)
On R-Car X5H, PRR is inside the MFIS memory block, so we need to access
it similar to e.g. RZ/G2L.

Suggested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260402112709.13002-4-wsa+renesas@sang-engineering.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/soc/renesas/renesas-soc.c

index 38ff0b823bdaf1ba106bfb57ed423158d9103f8d..60b09020c935e2667db4ca8605f4434e67218a46 100644 (file)
@@ -442,8 +442,14 @@ static const struct renesas_id id_prr __initconst = {
        .mask = 0xff00,
 };
 
+static const struct renesas_id id_mfis __initconst = {
+       .offset = 0x44,
+       .mask = 0xff00,
+};
+
 static const struct of_device_id renesas_ids[] __initconst = {
        { .compatible = "renesas,bsid",                 .data = &id_bsid },
+       { .compatible = "renesas,r8a78000-mfis",        .data = &id_mfis },
        { .compatible = "renesas,r9a07g043-sysc",       .data = &id_rzg2l },
        { .compatible = "renesas,r9a07g044-sysc",       .data = &id_rzg2l },
        { .compatible = "renesas,r9a07g054-sysc",       .data = &id_rzg2l },
@@ -501,7 +507,7 @@ static int __init renesas_soc_init(void)
                product = readl(chipid + id->offset);
                iounmap(chipid);
 
-               if (id == &id_prr) {
+               if (id == &id_prr || id == &id_mfis) {
                        /* R-Car M3-W ES1.1 incorrectly identifies as ES2.0 */
                        if ((product & 0x7fff) == 0x5210)
                                product ^= 0x11;