mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-27 17:21:34 +00:00
90 lines
3.1 KiB
Diff
90 lines
3.1 KiB
Diff
From 99ce6e04231a5a185c1cc7d8d2bd9484c8eabc56 Mon Sep 17 00:00:00 2001
|
|
From: Icenowy Zheng <icenowy@aosc.io>
|
|
Date: Tue, 4 Sep 2018 12:40:44 +0800
|
|
Subject: [PATCH 092/146] clk: sunxi-ng: a64: Add max. rate constraint to video
|
|
PLLs
|
|
|
|
Video PLLs on A64 can be set to higher rate that it is actually
|
|
supported by HW.
|
|
|
|
Limit maximum rate to 1008 MHz. This is the maximum allowed rate by BSP
|
|
clock driver. Interestengly, user manual specifies maximum frequency to
|
|
be 600 MHz. Historically, this data was wrong in some user manuals for
|
|
other SoCs, so more faith is put in BSP clock driver.
|
|
|
|
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
|
---
|
|
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 50 ++++++++++++++-------------
|
|
1 file changed, 26 insertions(+), 24 deletions(-)
|
|
|
|
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
|
index 40a7b5fd091c..90ffee824c33 100644
|
|
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
|
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
|
@@ -64,18 +64,19 @@ static SUNXI_CCU_NM_WITH_GATE_LOCK(pll_audio_base_clk, "pll-audio-base",
|
|
BIT(28), /* lock */
|
|
CLK_SET_RATE_UNGATE);
|
|
|
|
-static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK_MIN(pll_video0_clk, "pll-video0",
|
|
- "osc24M", 0x010,
|
|
- 192000000, /* Minimum rate */
|
|
- 8, 7, /* N */
|
|
- 0, 4, /* M */
|
|
- BIT(24), /* frac enable */
|
|
- BIT(25), /* frac select */
|
|
- 270000000, /* frac rate 0 */
|
|
- 297000000, /* frac rate 1 */
|
|
- BIT(31), /* gate */
|
|
- BIT(28), /* lock */
|
|
- CLK_SET_RATE_UNGATE);
|
|
+static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK_MIN_MAX(pll_video0_clk, "pll-video0",
|
|
+ "osc24M", 0x010,
|
|
+ 192000000, /* Minimum rate */
|
|
+ 1008000000, /* Maximum rate */
|
|
+ 8, 7, /* N */
|
|
+ 0, 4, /* M */
|
|
+ BIT(24), /* frac enable */
|
|
+ BIT(25), /* frac select */
|
|
+ 270000000, /* frac rate 0 */
|
|
+ 297000000, /* frac rate 1 */
|
|
+ BIT(31), /* gate */
|
|
+ BIT(28), /* lock */
|
|
+ CLK_SET_RATE_UNGATE);
|
|
|
|
static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_ve_clk, "pll-ve",
|
|
"osc24M", 0x018,
|
|
@@ -126,18 +127,19 @@ static struct ccu_nk pll_periph1_clk = {
|
|
},
|
|
};
|
|
|
|
-static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK_MIN(pll_video1_clk, "pll-video1",
|
|
- "osc24M", 0x030,
|
|
- 192000000, /* Minimum rate */
|
|
- 8, 7, /* N */
|
|
- 0, 4, /* M */
|
|
- BIT(24), /* frac enable */
|
|
- BIT(25), /* frac select */
|
|
- 270000000, /* frac rate 0 */
|
|
- 297000000, /* frac rate 1 */
|
|
- BIT(31), /* gate */
|
|
- BIT(28), /* lock */
|
|
- CLK_SET_RATE_UNGATE);
|
|
+static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK_MIN_MAX(pll_video1_clk, "pll-video1",
|
|
+ "osc24M", 0x030,
|
|
+ 192000000, /* Minimum rate */
|
|
+ 1008000000, /* Maximum rate */
|
|
+ 8, 7, /* N */
|
|
+ 0, 4, /* M */
|
|
+ BIT(24), /* frac enable */
|
|
+ BIT(25), /* frac select */
|
|
+ 270000000, /* frac rate 0 */
|
|
+ 297000000, /* frac rate 1 */
|
|
+ BIT(31), /* gate */
|
|
+ BIT(28), /* lock */
|
|
+ CLK_SET_RATE_UNGATE);
|
|
|
|
static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_gpu_clk, "pll-gpu",
|
|
"osc24M", 0x038,
|
|
--
|
|
2.17.1
|
|
|