Re: [PATCH 3/6] ARM: mach-shmobile: extend clock definitions on
flat view
From: Magnus Damm <magnus.damm@gmail.com>
Date: 2010-07-02 08:21:30
Also in:
linux-sh
On Wed, Jun 30, 2010 at 6:55 PM, Guennadi Liakhovetski [off-list ref] wrote:
Add definitions for DV_CLKI and HDMI clocks, extend support for PLLC2 and some other clocks. Signed-off-by: Guennadi Liakhovetski <redacted>
Hi Guennadi, Thanks for your work on this.
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/mach-shmobile/clock-sh7372.c b/arch/arm/mach-shmobile/clock-sh7372.c index 26521a7..21cb629 100644 --- a/arch/arm/mach-shmobile/clock-sh7372.c +++ b/arch/arm/mach-shmobile/clock-sh7372.c@@ -50,6 +50,12 @@#define SMSTPCR3 0xe615013c #define SMSTPCR4 0xe6150140 +/* Fixed 27 MHz video clock from DV_CLKI pin */ +static struct clk dv_clki_clk = { + .name = "dv_clki", + .rate = 27000000, +};
Hm, 27MHz is a board property, not a cpu property. Also, you don't want to use "name" in struct clk. clkdev is used for lookup these days.
/* PLLC2 */
+
+/* Indices are important - they are the actual src selecting values */
+static struct clk *pllc2_parent[] = {
+ [0] = &extal1_div2_clk,
+ [1] = &extal2_div2_clk,
+ [2] = &dv_clki_div2_clk,
+ [3] = NULL, /* extal2_div4 not implemented yet*/
+};Why not implemented yet?
quoted hunk ↗ jump to hunk
+ /* + * TODO: If the PLL is off, mult should be = 1, but the clock must be + * stopped during re-parenting, a better solution to this conflict + * should be found. + */ + mult = (((__raw_readl(PLLC2CR) >> 24) & 0x3f) + 1) * 2;
Yes, this needs to be fixed.
quoted hunk ↗ jump to hunk
+enum { DIV6_HDMI, DIV6_REPARENT_NR }; + +/* Indices are important - they are the actual src selecting values */ +static struct clk *hdmi_parent[] = { + [0] = &pllc1_div2_clk, + [1] = &pllc2_clk, + [2] = &dv_clki_clk, + [3] = NULL, /* pllc2_div4 not implemented yet */ +}; + +static struct clk div6_reparent_clks[DIV6_REPARENT_NR] = { + [DIV6_HDMI] = SH_CLK_DIV6_EXT(&pllc1_div2_clk, HDMICKCR, 0, + hdmi_parent, ARRAY_SIZE(hdmi_parent), 6, 2), +};
This part looks nice and clean IMO. Thanks! Cheers, / magnus