diff options
author | Jernej Skrabec <jernej.skrabec@siol.net> | 2018-03-01 16:34:29 -0500 |
---|---|---|
committer | Maxime Ripard <maxime.ripard@bootlin.com> | 2018-03-02 02:42:27 -0500 |
commit | b1a1ad4b75b876ccf200f2351ae61364bf856613 (patch) | |
tree | 20d59bb930d62c00cc81176684d5336ad98f82d5 /drivers | |
parent | 4fd8ae912f9829c4324fa85d945cc0288c218bc5 (diff) |
clk: sunxi-ng: h3: h5: Allow some clocks to set parent rate
Some units have to be able to set it's own clock precisely to work
correctly. Allow them to do so by adding CLK_SET_RATE_PARENT flag.
Add this flag to DE, TCON and HDMI clocks.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c index b9f39078c0b2..77ed0b0ba681 100644 --- a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c +++ b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c | |||
@@ -452,11 +452,13 @@ static SUNXI_CCU_GATE(dram_ts_clk, "dram-ts", "dram", | |||
452 | 452 | ||
453 | static const char * const de_parents[] = { "pll-periph0-2x", "pll-de" }; | 453 | static const char * const de_parents[] = { "pll-periph0-2x", "pll-de" }; |
454 | static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents, | 454 | static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents, |
455 | 0x104, 0, 4, 24, 3, BIT(31), 0); | 455 | 0x104, 0, 4, 24, 3, BIT(31), |
456 | CLK_SET_RATE_PARENT); | ||
456 | 457 | ||
457 | static const char * const tcon_parents[] = { "pll-video" }; | 458 | static const char * const tcon_parents[] = { "pll-video" }; |
458 | static SUNXI_CCU_M_WITH_MUX_GATE(tcon_clk, "tcon", tcon_parents, | 459 | static SUNXI_CCU_M_WITH_MUX_GATE(tcon_clk, "tcon", tcon_parents, |
459 | 0x118, 0, 4, 24, 3, BIT(31), 0); | 460 | 0x118, 0, 4, 24, 3, BIT(31), |
461 | CLK_SET_RATE_PARENT); | ||
460 | 462 | ||
461 | static const char * const tve_parents[] = { "pll-de", "pll-periph1" }; | 463 | static const char * const tve_parents[] = { "pll-de", "pll-periph1" }; |
462 | static SUNXI_CCU_M_WITH_MUX_GATE(tve_clk, "tve", tve_parents, | 464 | static SUNXI_CCU_M_WITH_MUX_GATE(tve_clk, "tve", tve_parents, |
@@ -487,7 +489,8 @@ static SUNXI_CCU_GATE(avs_clk, "avs", "osc24M", | |||
487 | 489 | ||
488 | static const char * const hdmi_parents[] = { "pll-video" }; | 490 | static const char * const hdmi_parents[] = { "pll-video" }; |
489 | static SUNXI_CCU_M_WITH_MUX_GATE(hdmi_clk, "hdmi", hdmi_parents, | 491 | static SUNXI_CCU_M_WITH_MUX_GATE(hdmi_clk, "hdmi", hdmi_parents, |
490 | 0x150, 0, 4, 24, 2, BIT(31), 0); | 492 | 0x150, 0, 4, 24, 2, BIT(31), |
493 | CLK_SET_RATE_PARENT); | ||
491 | 494 | ||
492 | static SUNXI_CCU_GATE(hdmi_ddc_clk, "hdmi-ddc", "osc24M", | 495 | static SUNXI_CCU_GATE(hdmi_ddc_clk, "hdmi-ddc", "osc24M", |
493 | 0x154, BIT(31), 0); | 496 | 0x154, BIT(31), 0); |