This enables support for the Renesas R-Car M3-W+ SoC.
          This includes different gradings like R-Car M3e and M3e-2G.
 
+config ARCH_R8A779F0
+       bool "ARM64 Platform support for R-Car S4-8"
+       select ARCH_RCAR_GEN3
+       select SYSC_R8A779F0
+       help
+         This enables support for the Renesas R-Car S4-8 SoC.
+
 config ARCH_R8A77980
        bool "ARM64 Platform support for R-Car V3H"
        select ARCH_RCAR_GEN3
 
        .reg    = 0xfff00044,           /* PRR (Product Register) */
 };
 
+static const struct renesas_family fam_rcar_gen4 __initconst __maybe_unused = {
+       .name   = "R-Car Gen4",
+};
+
 static const struct renesas_family fam_rmobile __initconst __maybe_unused = {
        .name   = "R-Mobile",
        .reg    = 0xe600101c,           /* CCCR (Common Chip Code Register) */
        .id     = 0x59,
 };
 
+static const struct renesas_soc soc_rcar_s4 __initconst __maybe_unused = {
+       .family = &fam_rcar_gen4,
+       .id     = 0x5a,
+};
+
 static const struct renesas_soc soc_shmobile_ag5 __initconst __maybe_unused = {
        .family = &fam_shmobile,
        .id     = 0x37,
 #ifdef CONFIG_ARCH_R8A779A0
        { .compatible = "renesas,r8a779a0",     .data = &soc_rcar_v3u },
 #endif
+#ifdef CONFIG_ARCH_R8A779F0
+       { .compatible = "renesas,r8a779f0",     .data = &soc_rcar_s4 },
+#endif
 #if defined(CONFIG_ARCH_R9A07G044)
        { .compatible = "renesas,r9a07g044",    .data = &soc_rz_g2l },
 #endif