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

Emmanuel Vadot manu at FreeBSD.org
Thu May 23 17:36:21 UTC 2019


Author: manu
Date: Thu May 23 17:36:19 2019
New Revision: 348181
URL: https://svnweb.freebsd.org/changeset/base/348181

Log:
  arm: allwinner: clk: Use the new frac clock
  
  Some clocks used the NM type but this clock is for the ones with the
  formula "clk = clkin / n / m" and not "clk = clkin * n / m"
  Use the new frac clock for them.

Modified:
  head/sys/arm/allwinner/clkng/ccu_a10.c
  head/sys/arm/allwinner/clkng/ccu_a31.c
  head/sys/arm/allwinner/clkng/ccu_a64.c
  head/sys/arm/allwinner/clkng/ccu_h3.c

Modified: head/sys/arm/allwinner/clkng/ccu_a10.c
==============================================================================
--- head/sys/arm/allwinner/clkng/ccu_a10.c	Thu May 23 17:35:40 2019	(r348180)
+++ head/sys/arm/allwinner/clkng/ccu_a10.c	Thu May 23 17:36:19 2019	(r348181)
@@ -212,7 +212,7 @@ NKMP_CLK(pll_core_clk,
     0, 0,					/* lock */
     AW_CLK_HAS_GATE);				/* flags */
 
-NM_CLK_WITH_FRAC(pll_video0_clk,
+FRAC_CLK(pll_video0_clk,
     CLK_PLL_VIDEO0,				/* id */
     "pll_video0", pll_parents,			/* name, parents */
     0x10,					/* offset */
@@ -231,7 +231,7 @@ FIXED_CLK(pll_video0_2x_clk,
     1,						/* div */
     0);						/* flags */
 
-NM_CLK_WITH_FRAC(pll_video1_clk,
+FRAC_CLK(pll_video1_clk,
     CLK_PLL_VIDEO1,				/* id */
     "pll_video1", pll_parents,			/* name, parents */
     0x30,					/* offset */
@@ -537,8 +537,8 @@ static struct aw_ccung_clk a10_ccu_clks[] = {
 	{ .type = AW_CLK_NM, .clk.nm = &ahb_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &apb0_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &apb1_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video0_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video1_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video0_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video1_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &nand_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &ms_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &mmc0_clk},

Modified: head/sys/arm/allwinner/clkng/ccu_a31.c
==============================================================================
--- head/sys/arm/allwinner/clkng/ccu_a31.c	Thu May 23 17:35:40 2019	(r348180)
+++ head/sys/arm/allwinner/clkng/ccu_a31.c	Thu May 23 17:36:19 2019	(r348181)
@@ -293,7 +293,7 @@ FIXED_CLK(pll_audio_8x_clk,
     1,					/* div */
     0);					/* flags */
 
-NM_CLK_WITH_FRAC(pll_video0_clk,
+FRAC_CLK(pll_video0_clk,
     CLK_PLL_VIDEO0,				/* id */
     "pll_video0", pll_parents,		/* name, parents */
     0x10,					/* offset */
@@ -314,7 +314,7 @@ FIXED_CLK(pll_video0_2x_clk,
     1,					/* div */
     0);					/* flags */
 
-NM_CLK_WITH_FRAC(pll_ve_clk,
+FRAC_CLK(pll_ve_clk,
     CLK_PLL_VE,				/* id */
     "pll_ve", pll_parents,			/* name, parents */
     0x18,					/* offset */
@@ -360,7 +360,7 @@ FIXED_CLK(pll_periph_2x_clk,
     1,					/* div */
     0);					/* flags */
 
-NM_CLK_WITH_FRAC(pll_video1_clk,
+FRAC_CLK(pll_video1_clk,
     CLK_PLL_VIDEO1,				/* id */
     "pll_video1", pll_parents,		/* name, parents */
     0x30,					/* offset */
@@ -381,7 +381,7 @@ FIXED_CLK(pll_video1_2x_clk,
     1,					/* div */
     0);					/* flags */
 
-NM_CLK_WITH_FRAC(pll_gpu_clk,
+FRAC_CLK(pll_gpu_clk,
     CLK_PLL_GPU,				/* id */
     "pll_gpu", pll_parents,		/* name, parents */
     0x38,					/* offset */
@@ -405,7 +405,7 @@ NKMP_CLK(pll_mipi_clk,
     28, 1000,					/* lock */
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
 
-NM_CLK_WITH_FRAC(pll9_clk,
+FRAC_CLK(pll9_clk,
     CLK_PLL9,				/* id */
     "pll9", pll_parents,		/* name, parents */
     0x44,					/* offset */
@@ -416,7 +416,7 @@ NM_CLK_WITH_FRAC(pll9_clk,
     270000000, 297000000,			/* freq0, freq1 */
     24, 25);					/* mode sel, freq sel */
 
-NM_CLK_WITH_FRAC(pll10_clk,
+FRAC_CLK(pll10_clk,
     CLK_PLL10,				/* id */
     "pll10", pll_parents,		/* name, parents */
     0x48,					/* offset */
@@ -869,12 +869,12 @@ static struct aw_ccung_clk a31_ccu_clks[] = {
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_periph_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_ddr_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_mipi_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video0_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_ve_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video1_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_gpu_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll9_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll10_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video0_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_ve_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video1_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_gpu_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll9_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll10_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &apb2_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &nand0_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &nand1_clk},

Modified: head/sys/arm/allwinner/clkng/ccu_a64.c
==============================================================================
--- head/sys/arm/allwinner/clkng/ccu_a64.c	Thu May 23 17:35:40 2019	(r348180)
+++ head/sys/arm/allwinner/clkng/ccu_a64.c	Thu May 23 17:36:19 2019	(r348181)
@@ -279,7 +279,7 @@ FIXED_CLK(pll_audio_8x_clk,
     0);					/* flags */
 
 static const char *pll_video0_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_video0_clk,
+FRAC_CLK(pll_video0_clk,
     CLK_PLL_VIDEO0,				/* id */
     "pll_video0", pll_video0_parents,		/* name, parents */
     0x10,					/* offset */
@@ -300,7 +300,7 @@ FIXED_CLK(pll_video0_2x_clk,
     0);					/* flags */
 
 static const char *pll_ve_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_ve_clk,
+FRAC_CLK(pll_ve_clk,
     CLK_PLL_VE,					/* id */
     "pll_ve", pll_ve_parents,			/* name, parents */
     0x18,					/* offset */
@@ -370,7 +370,7 @@ FIXED_CLK(pll_periph1_clk,
     0);					/* flags */
 
 static const char *pll_video1_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_video1_clk,
+FRAC_CLK(pll_video1_clk,
     CLK_PLL_VIDEO1,				/* id */
     "pll_video1", pll_video1_parents,		/* name, parents */
     0x30,					/* offset */
@@ -382,7 +382,7 @@ NM_CLK_WITH_FRAC(pll_video1_clk,
     24, 25);					/* mode sel, freq sel */
 
 static const char *pll_gpu_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_gpu_clk,
+FRAC_CLK(pll_gpu_clk,
     CLK_PLL_GPU,				/* id */
     "pll_gpu", pll_gpu_parents,			/* name, parents */
     0x38,					/* offset */
@@ -396,7 +396,7 @@ NM_CLK_WITH_FRAC(pll_gpu_clk,
 /* PLL MIPI is missing */
 
 static const char *pll_hsic_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_hsic_clk,
+FRAC_CLK(pll_hsic_clk,
     CLK_PLL_HSIC,				/* id */
     "pll_hsic", pll_hsic_parents,		/* name, parents */
     0x44,					/* offset */
@@ -408,7 +408,7 @@ NM_CLK_WITH_FRAC(pll_hsic_clk,
     24, 25);					/* mode sel, freq sel */
 
 static const char *pll_de_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_de_clk,
+FRAC_CLK(pll_de_clk,
     CLK_PLL_DE,					/* id */
     "pll_de", pll_de_parents,			/* name, parents */
     0x48,					/* offset */
@@ -723,16 +723,18 @@ NM_CLK(gpu_clk,
 static struct aw_ccung_clk a64_ccu_clks[] = {
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_cpux_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_audio_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video0_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_ve_clk},
+	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_ddr0_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_periph0_2x_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_periph1_2x_clk},
-	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_ddr0_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video1_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_gpu_clk},
+	/* PLL_MIPI */
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_hsic_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_de_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_ddr1_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video0_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video1_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_ve_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_gpu_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_de_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_hsic_clk},
+
 	{ .type = AW_CLK_NM, .clk.nm = &apb2_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &nand_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &mmc0_clk},

Modified: head/sys/arm/allwinner/clkng/ccu_h3.c
==============================================================================
--- head/sys/arm/allwinner/clkng/ccu_h3.c	Thu May 23 17:35:40 2019	(r348180)
+++ head/sys/arm/allwinner/clkng/ccu_h3.c	Thu May 23 17:36:19 2019	(r348181)
@@ -297,7 +297,7 @@ FIXED_CLK(pll_audio_8x_clk,
     0);					/* flags */
 
 static const char *pll_video_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_video_clk,
+FRAC_CLK(pll_video_clk,
     CLK_PLL_VIDEO,				/* id */
     "pll_video", pll_video_parents,		/* name, parents */
     0x10,					/* offset */
@@ -309,7 +309,7 @@ NM_CLK_WITH_FRAC(pll_video_clk,
     24, 25);					/* mode sel, freq sel */
 
 static const char *pll_ve_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_ve_clk,
+FRAC_CLK(pll_ve_clk,
     CLK_PLL_VE,				/* id */
     "pll_ve", pll_ve_parents,			/* name, parents */
     0x18,					/* offset */
@@ -357,7 +357,7 @@ FIXED_CLK(pll_periph0_2x_clk,
     0);					/* flags */
 
 static const char *pll_gpu_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_gpu_clk,
+FRAC_CLK(pll_gpu_clk,
     CLK_PLL_GPU,				/* id */
     "pll_gpu", pll_gpu_parents,			/* name, parents */
     0x38,					/* offset */
@@ -382,7 +382,7 @@ NKMP_CLK(pll_periph1_clk,
     AW_CLK_HAS_GATE | AW_CLK_HAS_LOCK);		/* flags */
 
 static const char *pll_de_parents[] = {"osc24M"};
-NM_CLK_WITH_FRAC(pll_de_clk,
+FRAC_CLK(pll_de_clk,
     CLK_PLL_DE,					/* id */
     "pll_de", pll_de_parents,			/* name, parents */
     0x48,					/* offset */
@@ -684,10 +684,10 @@ static struct aw_ccung_clk h3_ccu_clks[] = {
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_periph0_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_periph1_clk},
 	{ .type = AW_CLK_NKMP, .clk.nkmp = &pll_ddr_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_video_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_ve_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_gpu_clk},
-	{ .type = AW_CLK_NM, .clk.nm = &pll_de_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_video_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_ve_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_gpu_clk},
+	{ .type = AW_CLK_FRAC, .clk.frac = &pll_de_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &apb2_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &nand_clk},
 	{ .type = AW_CLK_NM, .clk.nm = &mmc0_clk},


More information about the svn-src-head mailing list