All of lore.kernel.org
 help / color / mirror / Atom feed
From: fabrizio.castro@bp.renesas.com (Fabrizio Castro)
To: cip-dev@lists.cip-project.org
Subject: [cip-dev] [PATCH 4.4.y 02/52] clk: shmobile: rcar-gen2: Add quirks for the RZ/G1C
Date: Mon, 13 May 2019 16:36:27 +0100	[thread overview]
Message-ID: <1557761837-24993-3-git-send-email-fabrizio.castro@bp.renesas.com> (raw)
In-Reply-To: <1557761837-24993-1-git-send-email-fabrizio.castro@bp.renesas.com>

This patch adds a quirk for clocks "sd0" and "sd1" for the
RZ/G1C (a.k.a. r8a77470) SoC, similarly to what has been done
upstream with commit:
5bf2fbbef50c ("clk: renesas: cpg-mssr: Add r8a77470 support")

and also customizes the settings for the PLLs.

Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
---
 drivers/clk/shmobile/clk-rcar-gen2.c | 39 +++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/shmobile/clk-rcar-gen2.c b/drivers/clk/shmobile/clk-rcar-gen2.c
index 6ab0199..3f7d331 100644
--- a/drivers/clk/shmobile/clk-rcar-gen2.c
+++ b/drivers/clk/shmobile/clk-rcar-gen2.c
@@ -268,6 +268,24 @@ static struct clk * __init cpg_adsp_clk_register(struct rcar_gen2_cpg *cpg)
 #define CPG_PLL_CONFIG_INDEX(md)	((((md) & BIT(14)) >> 12) | \
 					 (((md) & BIT(13)) >> 12) | \
 					 (((md) & BIT(19)) >> 19))
+
+/*
+ * This table is only valid for the RZ/G1C
+ *
+ *    MD	EXTAL		PLL0	PLL1	PLL3
+ * 14 13	(MHz)		*1	*2
+ *---------------------------------------------------
+ * 0  0		20 / 1		x80	x78	x50
+ * 0  1		26 / 1		x60	x60	x56
+ * 1  0		Prohibited setting
+ * 1  1		30 / 1		x52	x52	x50
+ *
+ * *1 :	Table 7.4 indicates VCO output (PLL0 = VCO)
+ * *2 :	Table 7.4 indicates VCO output (PLL1 = VCO)
+ */
+#define CPG_PLL_CONFIG_INDEX_RZG1C(md)	((((md) & BIT(14)) >> 13) | \
+					 (((md) & BIT(13)) >> 13))
+
 struct cpg_pll_config {
 	unsigned int extal_div;
 	unsigned int pll1_mult;
@@ -282,6 +300,14 @@ static const struct cpg_pll_config cpg_pll_configs[8] __initconst = {
 	{ 2, 208, 106, 200 }, { 2, 208,  88, 200 },
 };
 
+static const struct cpg_pll_config cpg_pll_configs_rzg1c[4] __initconst = {
+	/* EXTAL div	PLL1 mult x2	PLL3 mult */
+	{ 1,		156,		50,	},
+	{ 1,		120,		56,	},
+	{ /* Invalid*/				},
+	{ 1,		104,		50,	},
+};
+
 /* SDHI divisors */
 static const struct clk_div_table cpg_sdh_div_table[] = {
 	{  0,  2 }, {  1,  3 }, {  2,  4 }, {  3,  6 },
@@ -308,6 +334,8 @@ static const char * const pll0_mult_match[] = {
 	NULL
 };
 
+static const char *r8a77470_compat = "renesas,r8a77470-cpg-clocks";
+
 static struct clk * __init
 rcar_gen2_cpg_register_clock(struct device_node *np, struct rcar_gen2_cpg *cpg,
 			     const struct cpg_pll_config *config,
@@ -357,10 +385,16 @@ rcar_gen2_cpg_register_clock(struct device_node *np, struct rcar_gen2_cpg *cpg,
 	} else if (!strcmp(name, "sd0")) {
 		parent_name = "pll1";
 		table = cpg_sd01_div_table;
+		if (of_device_is_compatible(np, r8a77470_compat))
+			table++;
+
 		shift = 4;
 	} else if (!strcmp(name, "sd1")) {
 		parent_name = "pll1";
 		table = cpg_sd01_div_table;
+		if (of_device_is_compatible(np, r8a77470_compat))
+			table++;
+
 		shift = 0;
 	} else if (!strcmp(name, "z")) {
 		return cpg_z_clk_register(cpg);
@@ -414,7 +448,10 @@ static void __init rcar_gen2_cpg_clocks_init(struct device_node *np)
 	if (WARN_ON(cpg->reg == NULL))
 		return;
 
-	config = &cpg_pll_configs[CPG_PLL_CONFIG_INDEX(cpg_mode)];
+	if (of_device_is_compatible(np, r8a77470_compat))
+		config = &cpg_pll_configs_rzg1c[CPG_PLL_CONFIG_INDEX_RZG1C(cpg_mode)];
+	else
+		config = &cpg_pll_configs[CPG_PLL_CONFIG_INDEX(cpg_mode)];
 
 	for (i = 0; i < num_clks; ++i) {
 		const char *name;
-- 
2.7.4

  parent reply	other threads:[~2019-05-13 15:36 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-13 15:36 [cip-dev] [PATCH 4.4.y 00/52] Add basic support for the iwg23s Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 01/52] ARM: shmobile: r8a77470: basic SoC support Fabrizio Castro
2019-05-13 15:36 ` Fabrizio Castro [this message]
2019-05-13 19:03   ` [cip-dev] [PATCH 4.4.y 02/52] clk: shmobile: rcar-gen2: Add quirks for the RZ/G1C Pavel Machek
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 03/52] clk: shmobile: Compile clk-rcar-gen2.c when using the r8a77470 Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 04/52] ARM: shmobile: r8a77470: Add clock index macros for DT sources Fabrizio Castro
2019-05-13 19:03   ` Pavel Machek
2019-05-13 23:56     ` Nobuhiro Iwamatsu
2019-05-14  9:50       ` Fabrizio Castro
2019-05-14 13:43         ` Nobuhiro Iwamatsu
2019-05-15 12:58           ` Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 05/52] pinctrl: sh-pfc: Add r8a77470 PFC support Fabrizio Castro
2019-05-13 19:44   ` Pavel Machek
2019-05-14  9:23     ` Fabrizio Castro
2019-05-15 10:28       ` Pavel Machek
2019-05-15 14:05         ` Fabrizio Castro
2019-05-19 20:22           ` Pavel Machek
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 06/52] pinctrl: sh-pfc: r8a77470: Add EtherAVB pin groups Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 07/52] pinctrl: sh-pfc: r8a77470: Add I2C4 " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 08/52] pinctrl: sh-pfc: r8a77470: Add DU0 " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 09/52] pinctrl: sh-pfc: r8a77470: Add QSPI0 " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 10/52] pinctrl: sh-pfc: r8a77470: Add SDHI2 " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 11/52] pinctrl: sh-pfc: r8a77470: Add USB " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 12/52] pinctrl: sh-pfc: r8a77470: Add remaining I2C " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 13/52] pinctrl: sh-pfc: r8a77470: Add DU1 " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 14/52] pinctrl: sh-pfc: r8a77470: Add VIN " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 15/52] pinctrl: sh-pfc: r8a77470: Add QSPI1 " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 16/52] soc: renesas: rcar-rst: Add support for RZ/G1C Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 17/52] ARM: debug-ll: Add support for r8a77470 Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 18/52] gpiolib: Extract mask allocation into subroutine Fabrizio Castro
2019-05-13 19:44   ` Pavel Machek
2019-05-14  9:25     ` Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 19/52] gpiolib: Support 'gpio-reserved-ranges' property Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 20/52] gpiolib: Avoid calling chip->request() for unused gpios Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 21/52] gpio: rcar: Implement gpiochip.set_multiple() Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 22/52] gpio: rcar: Add GPIO hole support Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 23/52] dt-bindings: gpio: Add a gpio-reserved-ranges property Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 24/52] dt-bindings: gpio: rcar: Add gpio-reserved-ranges support Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 25/52] ARM: shmobile: defconfig: Enable r8a77470 SoC Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 26/52] ARM: multi_v7_defconfig: " Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 27/52] serial: sh-sci: Document r8a77470 bindings Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 28/52] dt-bindings: sram: Document renesas, smp-sram Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 29/52] ARM: dts: r8a77470: Initial SoC device tree Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 30/52] clk: shmobile: Document r8a77470 CPG clock support Fabrizio Castro
2019-05-14  0:22   ` Nobuhiro Iwamatsu
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 31/52] clk: shmobile: Document r8a77470 CPG DIV6 " Fabrizio Castro
2019-05-14  0:23   ` Nobuhiro Iwamatsu
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 32/52] clk: shmobile: Document r8a77470 MSTP " Fabrizio Castro
2019-05-14  0:24   ` Nobuhiro Iwamatsu
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 33/52] ARM: dts: r8a77470: Add clocks Fabrizio Castro
2019-05-14  0:19   ` Nobuhiro Iwamatsu
2019-05-14 10:10     ` Fabrizio Castro
2019-05-15  0:04       ` nobuhiro1.iwamatsu at toshiba.co.jp
2019-05-15 13:00         ` Fabrizio Castro
2019-05-13 15:36 ` [cip-dev] [PATCH 4.4.y 34/52] dt-bindings: arm: Document iW-RainboW-G23S single board computer Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 35/52] ARM: dts: iwg23s-sbc: Add support for iWave G23S-SBC based on RZ/G1C Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 36/52] dt-bindings: pinctrl: sh-pfc: Document r8a77470 PFC support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 37/52] ARM: dts: r8a77470: Add " Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 38/52] dt-bindings: gpio: rcar: Add r8a77470 (RZ/G1C) support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 39/52] ARM: dts: r8a77470: Add GPIO support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 40/52] ARM: dts: r8a77470: Add SCIF support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 41/52] dt-bindings: irqchip: renesas-irqc: Document r8a77470 support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 42/52] ARM: dts: r8a77470: Add IRQC support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 43/52] ARM: dts: iwg23s-sbc: Add pinctl support for scif1 Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 44/52] dt-bindings: rcar-dmac: Document missing error interrupt Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 45/52] dt-bindings: rcar-dmac: Document r8a77470 support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 46/52] ARM: dts: r8a77470: Add SYS-DMAC support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 47/52] ARM: dts: r8a77470: Add SCIF DMA support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 48/52] dt-bindings: net: renesas-ravb: Add support for r8a77470 SoC Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 49/52] ARM: dts: r8a77470: Add EtherAVB support Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 50/52] ARM: dts: iwg23s-sbc: " Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 51/52] ARM: dts: iwg23s-sbc: specify EtherAVB PHY IRQ Fabrizio Castro
2019-05-13 15:37 ` [cip-dev] [PATCH 4.4.y 52/52] ARM: dts: iwg23s-sbc: Add pinctl support for EtherAVB Fabrizio Castro
2019-05-13 18:52 ` [cip-dev] [PATCH 4.4.y 00/52] Add basic support for the iwg23s Pavel Machek
2019-05-13 20:17 ` Pavel Machek
2019-05-14  0:28   ` Nobuhiro Iwamatsu
2019-05-14 10:12     ` Fabrizio Castro
2019-05-14 13:28       ` Nobuhiro Iwamatsu
2019-05-15 12:56         ` Fabrizio Castro
2019-05-16  0:20           ` nobuhiro1.iwamatsu at toshiba.co.jp
2019-05-16  9:39             ` Fabrizio Castro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1557761837-24993-3-git-send-email-fabrizio.castro@bp.renesas.com \
    --to=fabrizio.castro@bp.renesas.com \
    --cc=cip-dev@lists.cip-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.