svn commit: r368016 - head/sys/arm/allwinner/clkng

Emmanuel Vadot manu at FreeBSD.org
Wed Nov 25 11:19:42 UTC 2020


Author: manu
Date: Wed Nov 25 11:19:42 2020
New Revision: 368016
URL: https://svnweb.freebsd.org/changeset/base/368016

Log:
  arm64: allwinner: H6: Fix pll 4x clocks
  
  The clock configured by the registers are the 4x version not the 1x.

Modified:
  head/sys/arm/allwinner/clkng/ccu_h6.c

Modified: head/sys/arm/allwinner/clkng/ccu_h6.c
==============================================================================
--- head/sys/arm/allwinner/clkng/ccu_h6.c	Wed Nov 25 10:56:38 2020	(r368015)
+++ head/sys/arm/allwinner/clkng/ccu_h6.c	Wed Nov 25 11:19:42 2020	(r368016)
@@ -196,10 +196,10 @@ NMM_CLK(pll_ddr0_clk,
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
 
-static const char *pll_peri0_parents[] = {"osc24M"};
-NMM_CLK(pll_peri0_clk,
-    CLK_PLL_PERIPH0,				/* id */
-    "pll_periph0", pll_peri0_parents,		/* name, parents */
+static const char *pll_peri0_4x_parents[] = {"osc24M"};
+NMM_CLK(pll_peri0_4x_clk,
+    CLK_PLL_PERIPH0_4X,				/* id */
+    "pll_periph0_4x", pll_peri0_4x_parents,	/* name, parents */
     0x20,					/* offset */
     8, 7, 0, 0,					/* n factor */
     0, 1, 0, 0,					/* m0 factor */
@@ -207,7 +207,7 @@ NMM_CLK(pll_peri0_clk,
     31,						/* gate */
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
-static const char *pll_peri0_2x_parents[] = {"pll_periph0"};
+static const char *pll_peri0_2x_parents[] = {"pll_periph0_4x"};
 FIXED_CLK(pll_peri0_2x_clk,
     CLK_PLL_PERIPH0_2X,			/* id */
     "pll_periph0_2x",			/* name */
@@ -216,20 +216,20 @@ FIXED_CLK(pll_peri0_2x_clk,
     1,					/* mult */
     2,					/* div */
     0);					/* flags */
-static const char *pll_peri0_4x_parents[] = {"pll_periph0"};
-FIXED_CLK(pll_peri0_4x_clk,
-    CLK_PLL_PERIPH0_4X,			/* id */
-    "pll_periph0_4x",			/* name */
-    pll_peri0_4x_parents,		/* parent */
+static const char *pll_peri0_parents[] = {"pll_periph0_4x"};
+FIXED_CLK(pll_peri0_clk,
+    CLK_PLL_PERIPH0,			/* id */
+    "pll_periph0",			/* name */
+    pll_peri0_parents,			/* parent */
     0,					/* freq */
     1,					/* mult */
     4,					/* div */
     0);					/* flags */
 
-static const char *pll_peri1_parents[] = {"osc24M"};
-NMM_CLK(pll_peri1_clk,
-    CLK_PLL_PERIPH1,				/* id */
-    "pll_periph1", pll_peri1_parents,		/* name, parents */
+static const char *pll_peri1_4x_parents[] = {"osc24M"};
+NMM_CLK(pll_peri1_4x_clk,
+    CLK_PLL_PERIPH1_4X,				/* id */
+    "pll_periph1_4x", pll_peri1_4x_parents,	/* name, parents */
     0x28,					/* offset */
     8, 7, 0, 0,					/* n factor */
     0, 1, 0, 0,					/* m0 factor */
@@ -237,7 +237,7 @@ NMM_CLK(pll_peri1_clk,
     31,						/* gate */
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
-static const char *pll_peri1_2x_parents[] = {"pll_periph1"};
+static const char *pll_peri1_2x_parents[] = {"pll_periph1_4x"};
 FIXED_CLK(pll_peri1_2x_clk,
     CLK_PLL_PERIPH1_2X,			/* id */
     "pll_periph1_2x",			/* name */
@@ -246,11 +246,11 @@ FIXED_CLK(pll_peri1_2x_clk,
     1,					/* mult */
     2,					/* div */
     0);					/* flags */
-static const char *pll_peri1_4x_parents[] = {"pll_periph1"};
-FIXED_CLK(pll_peri1_4x_clk,
-    CLK_PLL_PERIPH1_4X,			/* id */
-    "pll_periph1_4x",			/* name */
-    pll_peri1_4x_parents,		/* parent */
+static const char *pll_peri1_parents[] = {"pll_periph1_4x"};
+FIXED_CLK(pll_peri1_clk,
+    CLK_PLL_PERIPH1,			/* id */
+    "pll_periph1",			/* name */
+    pll_peri1_parents,			/* parent */
     0,					/* freq */
     1,					/* mult */
     4,					/* div */
@@ -268,10 +268,10 @@ NMM_CLK(pll_gpu_clk,
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
 
-static const char *pll_video0_parents[] = {"osc24M"};
-NMM_CLK(pll_video0_clk,
-    CLK_PLL_VIDEO0,				/* id */
-    "pll_video0", pll_video0_parents,		/* name, parents */
+static const char *pll_video0_4x_parents[] = {"osc24M"};
+NMM_CLK(pll_video0_4x_clk,
+    CLK_PLL_VIDEO0_4X,				/* id */
+    "pll_video0_4x", pll_video0_4x_parents,	/* name, parents */
     0x40,					/* offset */
     8, 7, 0, 0,					/* n factor */
     0, 1, 0, 0,					/* m0 factor */
@@ -279,20 +279,20 @@ NMM_CLK(pll_video0_clk,
     31,						/* gate */
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
-static const char *pll_video0_4x_parents[] = {"pll_video0"};
-FIXED_CLK(pll_video0_4x_clk,
-    CLK_PLL_VIDEO0_4X,			/* id */
-    "pll_video0_4x",			/* name */
-    pll_video0_4x_parents,		/* parent */
+static const char *pll_video0_parents[] = {"pll_video0_4x"};
+FIXED_CLK(pll_video0_clk,
+    CLK_PLL_VIDEO0,			/* id */
+    "pll_video0",			/* name */
+    pll_video0_parents,			/* parent */
     0,					/* freq */
     1,					/* mult */
     4,					/* div */
     0);					/* flags */
 
-static const char *pll_video1_parents[] = {"osc24M"};
-NMM_CLK(pll_video1_clk,
-    CLK_PLL_VIDEO1,				/* id */
-    "pll_video1", pll_video1_parents,		/* name, parents */
+static const char *pll_video1_4x_parents[] = {"osc24M"};
+NMM_CLK(pll_video1_4x_clk,
+    CLK_PLL_VIDEO1_4X,				/* id */
+    "pll_video1_4x", pll_video1_4x_parents,	/* name, parents */
     0x48,					/* offset */
     8, 7, 0, 0,					/* n factor */
     0, 1, 0, 0,					/* m0 factor */
@@ -300,11 +300,11 @@ NMM_CLK(pll_video1_clk,
     31,						/* gate */
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
-static const char *pll_video1_4x_parents[] = {"pll_video1"};
-FIXED_CLK(pll_video1_4x_clk,
-    CLK_PLL_VIDEO1_4X,			/* id */
-    "pll_video1_4x",			/* name */
-    pll_video1_4x_parents,		/* parent */
+static const char *pll_video1_parents[] = {"pll_video1_4x"};
+FIXED_CLK(pll_video1_clk,
+    CLK_PLL_VIDEO1,			/* id */
+    "pll_video1",			/* name */
+    pll_video1_parents,			/* parent */
     0,					/* freq */
     1,					/* mult */
     4,					/* div */
@@ -426,11 +426,11 @@ NM_CLK(mmc2_clk,
 static struct aw_ccung_clk h6_ccu_clks[] = {
 	{ .type = AW_CLK_NP, .clk.np = &pll_cpux_clk},
 	{ .type = AW_CLK_NMM, .clk.nmm = &pll_ddr0_clk},
-	{ .type = AW_CLK_NMM, .clk.nmm = &pll_peri0_clk},
-	{ .type = AW_CLK_NMM, .clk.nmm = &pll_peri1_clk},
+	{ .type = AW_CLK_NMM, .clk.nmm = &pll_peri0_4x_clk},
+	{ .type = AW_CLK_NMM, .clk.nmm = &pll_peri1_4x_clk},
 	{ .type = AW_CLK_NMM, .clk.nmm = &pll_gpu_clk},
-	{ .type = AW_CLK_NMM, .clk.nmm = &pll_video0_clk},
-	{ .type = AW_CLK_NMM, .clk.nmm = &pll_video1_clk},
+	{ .type = AW_CLK_NMM, .clk.nmm = &pll_video0_4x_clk},
+	{ .type = AW_CLK_NMM, .clk.nmm = &pll_video1_4x_clk},
 	{ .type = AW_CLK_NMM, .clk.nmm = &pll_ve_clk},
 	{ .type = AW_CLK_NMM, .clk.nmm = &pll_de_clk},
 	{ .type = AW_CLK_NMM, .clk.nmm = &pll_hsic_clk},
@@ -446,11 +446,11 @@ static struct aw_ccung_clk h6_ccu_clks[] = {
 
 	{ .type = AW_CLK_FIXED, .clk.fixed = &osc12m_clk},
 	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_peri0_2x_clk},
-	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_peri0_4x_clk},
+	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_peri0_clk},
 	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_peri1_2x_clk},
-	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_peri1_4x_clk},
-	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_video0_4x_clk},
-	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_video1_4x_clk},
+	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_peri1_clk},
+	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_video0_clk},
+	{ .type = AW_CLK_FIXED, .clk.fixed = &pll_video1_clk},
 };
 
 static int


More information about the svn-src-all mailing list