Jiri Slaby 32f491
From: Wolfram Sang <wsa+renesas@sang-engineering.com>
Jiri Slaby 32f491
Date: Thu, 2 Feb 2023 10:23:31 +0100
Jiri Slaby 32f491
Subject: [PATCH] clk: renesas: rcar-gen3: Disable R-Car H3 ES1.*
Jiri Slaby 32f491
References: bsc#1012628
Jiri Slaby 32f491
Patch-mainline: 6.2.7
Jiri Slaby 32f491
Git-commit: b1dec4e78599a2ce5bf8557056cd6dd72e1096b0
Jiri Slaby 32f491
Jiri Slaby 32f491
[ Upstream commit b1dec4e78599a2ce5bf8557056cd6dd72e1096b0 ]
Jiri Slaby 32f491
Jiri Slaby 32f491
R-Car H3 ES1.* was only available to an internal development group and
Jiri Slaby 32f491
needed a lot of quirks and workarounds. These become a maintenance
Jiri Slaby 32f491
burden now, so our development group decided to remove upstream support
Jiri Slaby 32f491
for this SoC. Public users only have ES2 onwards.
Jiri Slaby 32f491
Jiri Slaby 32f491
In addition to the ES1 specific removals, a check for it was added
Jiri Slaby 32f491
preventing the machine to boot further. It may otherwise inherit wrong
Jiri Slaby 32f491
clock settings from ES2 which could damage the hardware.
Jiri Slaby 32f491
Jiri Slaby 32f491
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Jiri Slaby 32f491
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Jiri Slaby 32f491
Link: https://lore.kernel.org/r/20230202092332.2504-1-wsa+renesas@sang-engineering.com
Jiri Slaby 32f491
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Jiri Slaby 32f491
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby 32f491
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 32f491
---
Jiri Slaby 32f491
 drivers/clk/renesas/Kconfig            |   2 +-
Jiri Slaby 32f491
 drivers/clk/renesas/r8a7795-cpg-mssr.c | 126 ++-----------------------
Jiri Slaby 32f491
 drivers/clk/renesas/rcar-gen3-cpg.c    |  17 +---
Jiri Slaby 32f491
 drivers/clk/renesas/renesas-cpg-mssr.c |  27 ------
Jiri Slaby 32f491
 drivers/clk/renesas/renesas-cpg-mssr.h |  14 ---
Jiri Slaby 32f491
 5 files changed, 13 insertions(+), 173 deletions(-)
Jiri Slaby 32f491
Jiri Slaby 32f491
diff --git a/drivers/clk/renesas/Kconfig b/drivers/clk/renesas/Kconfig
Jiri Slaby 32f491
index cacaf9b8..37632a065 100644
Jiri Slaby 32f491
--- a/drivers/clk/renesas/Kconfig
Jiri Slaby 32f491
+++ b/drivers/clk/renesas/Kconfig
Jiri Slaby 32f491
@@ -22,7 +22,7 @@ config CLK_RENESAS
Jiri Slaby 32f491
 	select CLK_R8A7791 if ARCH_R8A7791 || ARCH_R8A7793
Jiri Slaby 32f491
 	select CLK_R8A7792 if ARCH_R8A7792
Jiri Slaby 32f491
 	select CLK_R8A7794 if ARCH_R8A7794
Jiri Slaby 32f491
-	select CLK_R8A7795 if ARCH_R8A77950 || ARCH_R8A77951
Jiri Slaby 32f491
+	select CLK_R8A7795 if ARCH_R8A77951
Jiri Slaby 32f491
 	select CLK_R8A77960 if ARCH_R8A77960
Jiri Slaby 32f491
 	select CLK_R8A77961 if ARCH_R8A77961
Jiri Slaby 32f491
 	select CLK_R8A77965 if ARCH_R8A77965
Jiri Slaby 32f491
diff --git a/drivers/clk/renesas/r8a7795-cpg-mssr.c b/drivers/clk/renesas/r8a7795-cpg-mssr.c
Jiri Slaby 32f491
index 301475c7..7a585a77 100644
Jiri Slaby 32f491
--- a/drivers/clk/renesas/r8a7795-cpg-mssr.c
Jiri Slaby 32f491
+++ b/drivers/clk/renesas/r8a7795-cpg-mssr.c
Jiri Slaby 32f491
@@ -128,7 +128,6 @@ static struct cpg_core_clk r8a7795_core_clks[] __initdata = {
Jiri Slaby 32f491
 };
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
Jiri Slaby 32f491
-	DEF_MOD("fdp1-2",		 117,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("fdp1-1",		 118,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("fdp1-0",		 119,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("tmu4",			 121,	R8A7795_CLK_S0D6),
Jiri Slaby 32f491
@@ -162,7 +161,6 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
Jiri Slaby 32f491
 	DEF_MOD("pcie1",		 318,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
 	DEF_MOD("pcie0",		 319,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
 	DEF_MOD("usb-dmac30",		 326,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
-	DEF_MOD("usb3-if1",		 327,	R8A7795_CLK_S3D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("usb3-if0",		 328,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
 	DEF_MOD("usb-dmac31",		 329,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
 	DEF_MOD("usb-dmac0",		 330,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
@@ -187,28 +185,21 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
Jiri Slaby 32f491
 	DEF_MOD("hscif0",		 520,	R8A7795_CLK_S3D1),
Jiri Slaby 32f491
 	DEF_MOD("thermal",		 522,	R8A7795_CLK_CP),
Jiri Slaby 32f491
 	DEF_MOD("pwm",			 523,	R8A7795_CLK_S0D12),
Jiri Slaby 32f491
-	DEF_MOD("fcpvd3",		 600,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("fcpvd2",		 601,	R8A7795_CLK_S0D2),
Jiri Slaby 32f491
 	DEF_MOD("fcpvd1",		 602,	R8A7795_CLK_S0D2),
Jiri Slaby 32f491
 	DEF_MOD("fcpvd0",		 603,	R8A7795_CLK_S0D2),
Jiri Slaby 32f491
 	DEF_MOD("fcpvb1",		 606,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("fcpvb0",		 607,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
-	DEF_MOD("fcpvi2",		 609,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("fcpvi1",		 610,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("fcpvi0",		 611,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
-	DEF_MOD("fcpf2",		 613,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("fcpf1",		 614,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("fcpf0",		 615,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
-	DEF_MOD("fcpci1",		 616,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
-	DEF_MOD("fcpci0",		 617,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("fcpcs",		 619,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
-	DEF_MOD("vspd3",		 620,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("vspd2",		 621,	R8A7795_CLK_S0D2),
Jiri Slaby 32f491
 	DEF_MOD("vspd1",		 622,	R8A7795_CLK_S0D2),
Jiri Slaby 32f491
 	DEF_MOD("vspd0",		 623,	R8A7795_CLK_S0D2),
Jiri Slaby 32f491
 	DEF_MOD("vspbc",		 624,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("vspbd",		 626,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
-	DEF_MOD("vspi2",		 629,	R8A7795_CLK_S2D1), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("vspi1",		 630,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("vspi0",		 631,	R8A7795_CLK_S0D1),
Jiri Slaby 32f491
 	DEF_MOD("ehci3",		 700,	R8A7795_CLK_S3D2),
Jiri Slaby 32f491
@@ -221,7 +212,6 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
Jiri Slaby 32f491
 	DEF_MOD("cmm2",			 709,	R8A7795_CLK_S2D1),
Jiri Slaby 32f491
 	DEF_MOD("cmm1",			 710,	R8A7795_CLK_S2D1),
Jiri Slaby 32f491
 	DEF_MOD("cmm0",			 711,	R8A7795_CLK_S2D1),
Jiri Slaby 32f491
-	DEF_MOD("csi21",		 713,	R8A7795_CLK_CSI0), /* ES1.x */
Jiri Slaby 32f491
 	DEF_MOD("csi20",		 714,	R8A7795_CLK_CSI0),
Jiri Slaby 32f491
 	DEF_MOD("csi41",		 715,	R8A7795_CLK_CSI0),
Jiri Slaby 32f491
 	DEF_MOD("csi40",		 716,	R8A7795_CLK_CSI0),
Jiri Slaby 32f491
@@ -350,103 +340,26 @@ static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16] __initconst = {
Jiri Slaby 32f491
 	{ 2,		192,	1,	192,	1,	32,	},
Jiri Slaby 32f491
 };
Jiri Slaby 32f491
 
Jiri Slaby 32f491
-static const struct soc_device_attribute r8a7795es1[] __initconst = {
Jiri Slaby 32f491
+static const struct soc_device_attribute r8a7795_denylist[] __initconst = {
Jiri Slaby 32f491
 	{ .soc_id = "r8a7795", .revision = "ES1.*" },
Jiri Slaby 32f491
 	{ /* sentinel */ }
Jiri Slaby 32f491
 };
Jiri Slaby 32f491
 
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-	/*
Jiri Slaby 32f491
-	 * Fixups for R-Car H3 ES1.x
Jiri Slaby 32f491
-	 */
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-static const unsigned int r8a7795es1_mod_nullify[] __initconst = {
Jiri Slaby 32f491
-	MOD_CLK_ID(326),			/* USB-DMAC3-0 */
Jiri Slaby 32f491
-	MOD_CLK_ID(329),			/* USB-DMAC3-1 */
Jiri Slaby 32f491
-	MOD_CLK_ID(700),			/* EHCI/OHCI3 */
Jiri Slaby 32f491
-	MOD_CLK_ID(705),			/* HS-USB-IF3 */
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-};
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-static const struct mssr_mod_reparent r8a7795es1_mod_reparent[] __initconst = {
Jiri Slaby 32f491
-	{ MOD_CLK_ID(118), R8A7795_CLK_S2D1 },	/* FDP1-1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(119), R8A7795_CLK_S2D1 },	/* FDP1-0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(121), R8A7795_CLK_S3D2 },	/* TMU4 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(217), R8A7795_CLK_S3D1 },	/* SYS-DMAC2 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(218), R8A7795_CLK_S3D1 },	/* SYS-DMAC1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(219), R8A7795_CLK_S3D1 },	/* SYS-DMAC0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(408), R8A7795_CLK_S3D1 },	/* INTC-AP */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(501), R8A7795_CLK_S3D1 },	/* AUDMAC1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(502), R8A7795_CLK_S3D1 },	/* AUDMAC0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(523), R8A7795_CLK_S3D4 },	/* PWM */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(601), R8A7795_CLK_S2D1 },	/* FCPVD2 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(602), R8A7795_CLK_S2D1 },	/* FCPVD1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(603), R8A7795_CLK_S2D1 },	/* FCPVD0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(606), R8A7795_CLK_S2D1 },	/* FCPVB1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(607), R8A7795_CLK_S2D1 },	/* FCPVB0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(610), R8A7795_CLK_S2D1 },	/* FCPVI1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(611), R8A7795_CLK_S2D1 },	/* FCPVI0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(614), R8A7795_CLK_S2D1 },	/* FCPF1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(615), R8A7795_CLK_S2D1 },	/* FCPF0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(619), R8A7795_CLK_S2D1 },	/* FCPCS */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(621), R8A7795_CLK_S2D1 },	/* VSPD2 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(622), R8A7795_CLK_S2D1 },	/* VSPD1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(623), R8A7795_CLK_S2D1 },	/* VSPD0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(624), R8A7795_CLK_S2D1 },	/* VSPBC */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(626), R8A7795_CLK_S2D1 },	/* VSPBD */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(630), R8A7795_CLK_S2D1 },	/* VSPI1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(631), R8A7795_CLK_S2D1 },	/* VSPI0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(804), R8A7795_CLK_S2D1 },	/* VIN7 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(805), R8A7795_CLK_S2D1 },	/* VIN6 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(806), R8A7795_CLK_S2D1 },	/* VIN5 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(807), R8A7795_CLK_S2D1 },	/* VIN4 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(808), R8A7795_CLK_S2D1 },	/* VIN3 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(809), R8A7795_CLK_S2D1 },	/* VIN2 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(810), R8A7795_CLK_S2D1 },	/* VIN1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(811), R8A7795_CLK_S2D1 },	/* VIN0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(812), R8A7795_CLK_S3D2 },	/* EAVB-IF */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(820), R8A7795_CLK_S2D1 },	/* IMR3 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(821), R8A7795_CLK_S2D1 },	/* IMR2 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(822), R8A7795_CLK_S2D1 },	/* IMR1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(823), R8A7795_CLK_S2D1 },	/* IMR0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(905), R8A7795_CLK_CP },	/* GPIO7 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(906), R8A7795_CLK_CP },	/* GPIO6 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(907), R8A7795_CLK_CP },	/* GPIO5 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(908), R8A7795_CLK_CP },	/* GPIO4 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(909), R8A7795_CLK_CP },	/* GPIO3 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(910), R8A7795_CLK_CP },	/* GPIO2 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(911), R8A7795_CLK_CP },	/* GPIO1 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(912), R8A7795_CLK_CP },	/* GPIO0 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(918), R8A7795_CLK_S3D2 },	/* I2C6 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(919), R8A7795_CLK_S3D2 },	/* I2C5 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(927), R8A7795_CLK_S3D2 },	/* I2C4 */
Jiri Slaby 32f491
-	{ MOD_CLK_ID(928), R8A7795_CLK_S3D2 },	/* I2C3 */
Jiri Slaby 32f491
-};
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-	/*
Jiri Slaby 32f491
-	 * Fixups for R-Car H3 ES2.x
Jiri Slaby 32f491
-	 */
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-static const unsigned int r8a7795es2_mod_nullify[] __initconst = {
Jiri Slaby 32f491
-	MOD_CLK_ID(117),			/* FDP1-2 */
Jiri Slaby 32f491
-	MOD_CLK_ID(327),			/* USB3-IF1 */
Jiri Slaby 32f491
-	MOD_CLK_ID(600),			/* FCPVD3 */
Jiri Slaby 32f491
-	MOD_CLK_ID(609),			/* FCPVI2 */
Jiri Slaby 32f491
-	MOD_CLK_ID(613),			/* FCPF2 */
Jiri Slaby 32f491
-	MOD_CLK_ID(616),			/* FCPCI1 */
Jiri Slaby 32f491
-	MOD_CLK_ID(617),			/* FCPCI0 */
Jiri Slaby 32f491
-	MOD_CLK_ID(620),			/* VSPD3 */
Jiri Slaby 32f491
-	MOD_CLK_ID(629),			/* VSPI2 */
Jiri Slaby 32f491
-	MOD_CLK_ID(713),			/* CSI21 */
Jiri Slaby 32f491
-};
Jiri Slaby 32f491
-
Jiri Slaby 32f491
 static int __init r8a7795_cpg_mssr_init(struct device *dev)
Jiri Slaby 32f491
 {
Jiri Slaby 32f491
 	const struct rcar_gen3_cpg_pll_config *cpg_pll_config;
Jiri Slaby 32f491
 	u32 cpg_mode;
Jiri Slaby 32f491
 	int error;
Jiri Slaby 32f491
 
Jiri Slaby 32f491
+	/*
Jiri Slaby 32f491
+	 * We panic here to ensure removed SoCs and clk updates are always in
Jiri Slaby 32f491
+	 * sync to avoid overclocking damages. The panic can only be seen with
Jiri Slaby 32f491
+	 * commandline args 'earlycon keep_bootcon'. But these SoCs were for
Jiri Slaby 32f491
+	 * developers only anyhow.
Jiri Slaby 32f491
+	 */
Jiri Slaby 32f491
+	if (soc_device_match(r8a7795_denylist))
Jiri Slaby 32f491
+		panic("SoC not supported anymore!\n");
Jiri Slaby 32f491
+
Jiri Slaby 32f491
 	error = rcar_rst_read_mode_pins(&cpg_mode);
Jiri Slaby 32f491
 	if (error)
Jiri Slaby 32f491
 		return error;
Jiri Slaby 32f491
@@ -457,25 +370,6 @@ static int __init r8a7795_cpg_mssr_init(struct device *dev)
Jiri Slaby 32f491
 		return -EINVAL;
Jiri Slaby 32f491
 	}
Jiri Slaby 32f491
 
Jiri Slaby 32f491
-	if (soc_device_match(r8a7795es1)) {
Jiri Slaby 32f491
-		cpg_core_nullify_range(r8a7795_core_clks,
Jiri Slaby 32f491
-				       ARRAY_SIZE(r8a7795_core_clks),
Jiri Slaby 32f491
-				       R8A7795_CLK_S0D2, R8A7795_CLK_S0D12);
Jiri Slaby 32f491
-		mssr_mod_nullify(r8a7795_mod_clks,
Jiri Slaby 32f491
-				 ARRAY_SIZE(r8a7795_mod_clks),
Jiri Slaby 32f491
-				 r8a7795es1_mod_nullify,
Jiri Slaby 32f491
-				 ARRAY_SIZE(r8a7795es1_mod_nullify));
Jiri Slaby 32f491
-		mssr_mod_reparent(r8a7795_mod_clks,
Jiri Slaby 32f491
-				  ARRAY_SIZE(r8a7795_mod_clks),
Jiri Slaby 32f491
-				  r8a7795es1_mod_reparent,
Jiri Slaby 32f491
-				  ARRAY_SIZE(r8a7795es1_mod_reparent));
Jiri Slaby 32f491
-	} else {
Jiri Slaby 32f491
-		mssr_mod_nullify(r8a7795_mod_clks,
Jiri Slaby 32f491
-				 ARRAY_SIZE(r8a7795_mod_clks),
Jiri Slaby 32f491
-				 r8a7795es2_mod_nullify,
Jiri Slaby 32f491
-				 ARRAY_SIZE(r8a7795es2_mod_nullify));
Jiri Slaby 32f491
-	}
Jiri Slaby 32f491
-
Jiri Slaby 32f491
 	return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR, cpg_mode);
Jiri Slaby 32f491
 }
Jiri Slaby 32f491
 
Jiri Slaby 32f491
diff --git a/drivers/clk/renesas/rcar-gen3-cpg.c b/drivers/clk/renesas/rcar-gen3-cpg.c
Jiri Slaby 32f491
index e668f23c..b3ef62fa 100644
Jiri Slaby 32f491
--- a/drivers/clk/renesas/rcar-gen3-cpg.c
Jiri Slaby 32f491
+++ b/drivers/clk/renesas/rcar-gen3-cpg.c
Jiri Slaby 32f491
@@ -310,19 +310,10 @@ static unsigned int cpg_clk_extalr __initdata;
Jiri Slaby 32f491
 static u32 cpg_mode __initdata;
Jiri Slaby 32f491
 static u32 cpg_quirks __initdata;
Jiri Slaby 32f491
 
Jiri Slaby 32f491
-#define PLL_ERRATA	BIT(0)		/* Missing PLL0/2/4 post-divider */
Jiri Slaby 32f491
 #define RCKCR_CKSEL	BIT(1)		/* Manual RCLK parent selection */
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 static const struct soc_device_attribute cpg_quirks_match[] __initconst = {
Jiri Slaby 32f491
-	{
Jiri Slaby 32f491
-		.soc_id = "r8a7795", .revision = "ES1.0",
Jiri Slaby 32f491
-		.data = (void *)(PLL_ERRATA | RCKCR_CKSEL),
Jiri Slaby 32f491
-	},
Jiri Slaby 32f491
-	{
Jiri Slaby 32f491
-		.soc_id = "r8a7795", .revision = "ES1.*",
Jiri Slaby 32f491
-		.data = (void *)(RCKCR_CKSEL),
Jiri Slaby 32f491
-	},
Jiri Slaby 32f491
 	{
Jiri Slaby 32f491
 		.soc_id = "r8a7796", .revision = "ES1.0",
Jiri Slaby 32f491
 		.data = (void *)(RCKCR_CKSEL),
Jiri Slaby 32f491
@@ -355,9 +346,8 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
Jiri Slaby 32f491
 		 * multiplier when cpufreq changes between normal and boost
Jiri Slaby 32f491
 		 * modes.
Jiri Slaby 32f491
 		 */
Jiri Slaby 32f491
-		mult = (cpg_quirks & PLL_ERRATA) ? 4 : 2;
Jiri Slaby 32f491
 		return cpg_pll_clk_register(core->name, __clk_get_name(parent),
Jiri Slaby 32f491
-					    base, mult, CPG_PLL0CR, 0);
Jiri Slaby 32f491
+					    base, 2, CPG_PLL0CR, 0);
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 	case CLK_TYPE_GEN3_PLL1:
Jiri Slaby 32f491
 		mult = cpg_pll_config->pll1_mult;
Jiri Slaby 32f491
@@ -370,9 +360,8 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
Jiri Slaby 32f491
 		 * multiplier when cpufreq changes between normal and boost
Jiri Slaby 32f491
 		 * modes.
Jiri Slaby 32f491
 		 */
Jiri Slaby 32f491
-		mult = (cpg_quirks & PLL_ERRATA) ? 4 : 2;
Jiri Slaby 32f491
 		return cpg_pll_clk_register(core->name, __clk_get_name(parent),
Jiri Slaby 32f491
-					    base, mult, CPG_PLL2CR, 2);
Jiri Slaby 32f491
+					    base, 2, CPG_PLL2CR, 2);
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 	case CLK_TYPE_GEN3_PLL3:
Jiri Slaby 32f491
 		mult = cpg_pll_config->pll3_mult;
Jiri Slaby 32f491
@@ -388,8 +377,6 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
Jiri Slaby 32f491
 		 */
Jiri Slaby 32f491
 		value = readl(base + CPG_PLL4CR);
Jiri Slaby 32f491
 		mult = (((value >> 24) & 0x7f) + 1) * 2;
Jiri Slaby 32f491
-		if (cpg_quirks & PLL_ERRATA)
Jiri Slaby 32f491
-			mult *= 2;
Jiri Slaby 32f491
 		break;
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 	case CLK_TYPE_GEN3_SDH:
Jiri Slaby 32f491
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
Jiri Slaby 32f491
index 1a0cdf00..523fd452 100644
Jiri Slaby 32f491
--- a/drivers/clk/renesas/renesas-cpg-mssr.c
Jiri Slaby 32f491
+++ b/drivers/clk/renesas/renesas-cpg-mssr.c
Jiri Slaby 32f491
@@ -1113,19 +1113,6 @@ static int __init cpg_mssr_init(void)
Jiri Slaby 32f491
 
Jiri Slaby 32f491
 subsys_initcall(cpg_mssr_init);
Jiri Slaby 32f491
 
Jiri Slaby 32f491
-void __init cpg_core_nullify_range(struct cpg_core_clk *core_clks,
Jiri Slaby 32f491
-				   unsigned int num_core_clks,
Jiri Slaby 32f491
-				   unsigned int first_clk,
Jiri Slaby 32f491
-				   unsigned int last_clk)
Jiri Slaby 32f491
-{
Jiri Slaby 32f491
-	unsigned int i;
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-	for (i = 0; i < num_core_clks; i++)
Jiri Slaby 32f491
-		if (core_clks[i].id >= first_clk &&
Jiri Slaby 32f491
-		    core_clks[i].id <= last_clk)
Jiri Slaby 32f491
-			core_clks[i].name = NULL;
Jiri Slaby 32f491
-}
Jiri Slaby 32f491
-
Jiri Slaby 32f491
 void __init mssr_mod_nullify(struct mssr_mod_clk *mod_clks,
Jiri Slaby 32f491
 			     unsigned int num_mod_clks,
Jiri Slaby 32f491
 			     const unsigned int *clks, unsigned int n)
Jiri Slaby 32f491
@@ -1139,19 +1126,5 @@ void __init mssr_mod_nullify(struct mssr_mod_clk *mod_clks,
Jiri Slaby 32f491
 		}
Jiri Slaby 32f491
 }
Jiri Slaby 32f491
 
Jiri Slaby 32f491
-void __init mssr_mod_reparent(struct mssr_mod_clk *mod_clks,
Jiri Slaby 32f491
-			      unsigned int num_mod_clks,
Jiri Slaby 32f491
-			      const struct mssr_mod_reparent *clks,
Jiri Slaby 32f491
-			      unsigned int n)
Jiri Slaby 32f491
-{
Jiri Slaby 32f491
-	unsigned int i, j;
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-	for (i = 0, j = 0; i < num_mod_clks && j < n; i++)
Jiri Slaby 32f491
-		if (mod_clks[i].id == clks[j].clk) {
Jiri Slaby 32f491
-			mod_clks[i].parent = clks[j].parent;
Jiri Slaby 32f491
-			j++;
Jiri Slaby 32f491
-		}
Jiri Slaby 32f491
-}
Jiri Slaby 32f491
-
Jiri Slaby 32f491
 MODULE_DESCRIPTION("Renesas CPG/MSSR Driver");
Jiri Slaby 32f491
 MODULE_LICENSE("GPL v2");
Jiri Slaby 32f491
diff --git a/drivers/clk/renesas/renesas-cpg-mssr.h b/drivers/clk/renesas/renesas-cpg-mssr.h
Jiri Slaby 32f491
index 1c3c057d..80c5b462 100644
Jiri Slaby 32f491
--- a/drivers/clk/renesas/renesas-cpg-mssr.h
Jiri Slaby 32f491
+++ b/drivers/clk/renesas/renesas-cpg-mssr.h
Jiri Slaby 32f491
@@ -187,21 +187,7 @@ void __init cpg_mssr_early_init(struct device_node *np,
Jiri Slaby 32f491
     /*
Jiri Slaby 32f491
      * Helpers for fixing up clock tables depending on SoC revision
Jiri Slaby 32f491
      */
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-struct mssr_mod_reparent {
Jiri Slaby 32f491
-	unsigned int clk, parent;
Jiri Slaby 32f491
-};
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-
Jiri Slaby 32f491
-extern void cpg_core_nullify_range(struct cpg_core_clk *core_clks,
Jiri Slaby 32f491
-				   unsigned int num_core_clks,
Jiri Slaby 32f491
-				   unsigned int first_clk,
Jiri Slaby 32f491
-				   unsigned int last_clk);
Jiri Slaby 32f491
 extern void mssr_mod_nullify(struct mssr_mod_clk *mod_clks,
Jiri Slaby 32f491
 			     unsigned int num_mod_clks,
Jiri Slaby 32f491
 			     const unsigned int *clks, unsigned int n);
Jiri Slaby 32f491
-extern void mssr_mod_reparent(struct mssr_mod_clk *mod_clks,
Jiri Slaby 32f491
-			      unsigned int num_mod_clks,
Jiri Slaby 32f491
-			      const struct mssr_mod_reparent *clks,
Jiri Slaby 32f491
-			      unsigned int n);
Jiri Slaby 32f491
 #endif
Jiri Slaby 32f491
-- 
Jiri Slaby 32f491
2.35.3
Jiri Slaby 32f491