@@ -80,7 +80,7 @@ static struct clk * __init ath79_set_ff_clk(int type, const char *parent,
80
80
return clk ;
81
81
}
82
82
83
- static void __init ar71xx_clocks_init (void )
83
+ static void __init ar71xx_clocks_init (void __iomem * pll_base )
84
84
{
85
85
unsigned long ref_rate ;
86
86
unsigned long cpu_rate ;
@@ -92,7 +92,7 @@ static void __init ar71xx_clocks_init(void)
92
92
93
93
ref_rate = AR71XX_BASE_FREQ ;
94
94
95
- pll = ath79_pll_rr ( AR71XX_PLL_REG_CPU_CONFIG );
95
+ pll = __raw_readl ( pll_base + AR71XX_PLL_REG_CPU_CONFIG );
96
96
97
97
div = ((pll >> AR71XX_PLL_FB_SHIFT ) & AR71XX_PLL_FB_MASK ) + 1 ;
98
98
freq = div * ref_rate ;
@@ -130,13 +130,13 @@ static void __init ar724x_clk_init(struct clk *ref_clk, void __iomem *pll_base)
130
130
ath79_set_ff_clk (ATH79_CLK_AHB , "ref" , mult , div * ahb_div );
131
131
}
132
132
133
- static void __init ar724x_clocks_init (void )
133
+ static void __init ar724x_clocks_init (void __iomem * pll_base )
134
134
{
135
135
struct clk * ref_clk ;
136
136
137
137
ref_clk = ath79_set_clk (ATH79_CLK_REF , AR724X_BASE_FREQ );
138
138
139
- ar724x_clk_init (ref_clk , ath79_pll_base );
139
+ ar724x_clk_init (ref_clk , pll_base );
140
140
}
141
141
142
142
static void __init ar9330_clk_init (struct clk * ref_clk , void __iomem * pll_base )
@@ -197,7 +197,7 @@ static void __init ar9330_clk_init(struct clk *ref_clk, void __iomem *pll_base)
197
197
ref_div * out_div * ahb_div );
198
198
}
199
199
200
- static void __init ar933x_clocks_init (void )
200
+ static void __init ar933x_clocks_init (void __iomem * pll_base )
201
201
{
202
202
struct clk * ref_clk ;
203
203
unsigned long ref_rate ;
@@ -234,7 +234,7 @@ static u32 __init ar934x_get_pll_freq(u32 ref, u32 ref_div, u32 nint, u32 nfrac,
234
234
return ret ;
235
235
}
236
236
237
- static void __init ar934x_clocks_init (void )
237
+ static void __init ar934x_clocks_init (void __iomem * pll_base )
238
238
{
239
239
unsigned long ref_rate ;
240
240
unsigned long cpu_rate ;
@@ -265,7 +265,7 @@ static void __init ar934x_clocks_init(void)
265
265
AR934X_SRIF_DPLL1_REFDIV_MASK ;
266
266
frac = 1 << 18 ;
267
267
} else {
268
- pll = ath79_pll_rr ( AR934X_PLL_CPU_CONFIG_REG );
268
+ pll = __raw_readl ( pll_base + AR934X_PLL_CPU_CONFIG_REG );
269
269
out_div = (pll >> AR934X_PLL_CPU_CONFIG_OUTDIV_SHIFT ) &
270
270
AR934X_PLL_CPU_CONFIG_OUTDIV_MASK ;
271
271
ref_div = (pll >> AR934X_PLL_CPU_CONFIG_REFDIV_SHIFT ) &
@@ -292,7 +292,7 @@ static void __init ar934x_clocks_init(void)
292
292
AR934X_SRIF_DPLL1_REFDIV_MASK ;
293
293
frac = 1 << 18 ;
294
294
} else {
295
- pll = ath79_pll_rr ( AR934X_PLL_DDR_CONFIG_REG );
295
+ pll = __raw_readl ( pll_base + AR934X_PLL_DDR_CONFIG_REG );
296
296
out_div = (pll >> AR934X_PLL_DDR_CONFIG_OUTDIV_SHIFT ) &
297
297
AR934X_PLL_DDR_CONFIG_OUTDIV_MASK ;
298
298
ref_div = (pll >> AR934X_PLL_DDR_CONFIG_REFDIV_SHIFT ) &
@@ -307,7 +307,7 @@ static void __init ar934x_clocks_init(void)
307
307
ddr_pll = ar934x_get_pll_freq (ref_rate , ref_div , nint ,
308
308
nfrac , frac , out_div );
309
309
310
- clk_ctrl = ath79_pll_rr ( AR934X_PLL_CPU_DDR_CLK_CTRL_REG );
310
+ clk_ctrl = __raw_readl ( pll_base + AR934X_PLL_CPU_DDR_CLK_CTRL_REG );
311
311
312
312
postdiv = (clk_ctrl >> AR934X_PLL_CPU_DDR_CLK_CTRL_CPU_POST_DIV_SHIFT ) &
313
313
AR934X_PLL_CPU_DDR_CLK_CTRL_CPU_POST_DIV_MASK ;
@@ -347,7 +347,7 @@ static void __init ar934x_clocks_init(void)
347
347
iounmap (dpll_base );
348
348
}
349
349
350
- static void __init qca953x_clocks_init (void )
350
+ static void __init qca953x_clocks_init (void __iomem * pll_base )
351
351
{
352
352
unsigned long ref_rate ;
353
353
unsigned long cpu_rate ;
@@ -363,7 +363,7 @@ static void __init qca953x_clocks_init(void)
363
363
else
364
364
ref_rate = 25 * 1000 * 1000 ;
365
365
366
- pll = ath79_pll_rr ( QCA953X_PLL_CPU_CONFIG_REG );
366
+ pll = __raw_readl ( pll_base + QCA953X_PLL_CPU_CONFIG_REG );
367
367
out_div = (pll >> QCA953X_PLL_CPU_CONFIG_OUTDIV_SHIFT ) &
368
368
QCA953X_PLL_CPU_CONFIG_OUTDIV_MASK ;
369
369
ref_div = (pll >> QCA953X_PLL_CPU_CONFIG_REFDIV_SHIFT ) &
@@ -377,7 +377,7 @@ static void __init qca953x_clocks_init(void)
377
377
cpu_pll += frac * (ref_rate >> 6 ) / ref_div ;
378
378
cpu_pll /= (1 << out_div );
379
379
380
- pll = ath79_pll_rr ( QCA953X_PLL_DDR_CONFIG_REG );
380
+ pll = __raw_readl ( pll_base + QCA953X_PLL_DDR_CONFIG_REG );
381
381
out_div = (pll >> QCA953X_PLL_DDR_CONFIG_OUTDIV_SHIFT ) &
382
382
QCA953X_PLL_DDR_CONFIG_OUTDIV_MASK ;
383
383
ref_div = (pll >> QCA953X_PLL_DDR_CONFIG_REFDIV_SHIFT ) &
@@ -391,7 +391,7 @@ static void __init qca953x_clocks_init(void)
391
391
ddr_pll += frac * (ref_rate >> 6 ) / (ref_div << 4 );
392
392
ddr_pll /= (1 << out_div );
393
393
394
- clk_ctrl = ath79_pll_rr ( QCA953X_PLL_CLK_CTRL_REG );
394
+ clk_ctrl = __raw_readl ( pll_base + QCA953X_PLL_CLK_CTRL_REG );
395
395
396
396
postdiv = (clk_ctrl >> QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT ) &
397
397
QCA953X_PLL_CLK_CTRL_CPU_POST_DIV_MASK ;
@@ -429,7 +429,7 @@ static void __init qca953x_clocks_init(void)
429
429
ath79_set_clk (ATH79_CLK_AHB , ahb_rate );
430
430
}
431
431
432
- static void __init qca955x_clocks_init (void )
432
+ static void __init qca955x_clocks_init (void __iomem * pll_base )
433
433
{
434
434
unsigned long ref_rate ;
435
435
unsigned long cpu_rate ;
@@ -445,7 +445,7 @@ static void __init qca955x_clocks_init(void)
445
445
else
446
446
ref_rate = 25 * 1000 * 1000 ;
447
447
448
- pll = ath79_pll_rr ( QCA955X_PLL_CPU_CONFIG_REG );
448
+ pll = __raw_readl ( pll_base + QCA955X_PLL_CPU_CONFIG_REG );
449
449
out_div = (pll >> QCA955X_PLL_CPU_CONFIG_OUTDIV_SHIFT ) &
450
450
QCA955X_PLL_CPU_CONFIG_OUTDIV_MASK ;
451
451
ref_div = (pll >> QCA955X_PLL_CPU_CONFIG_REFDIV_SHIFT ) &
@@ -459,7 +459,7 @@ static void __init qca955x_clocks_init(void)
459
459
cpu_pll += frac * ref_rate / (ref_div * (1 << 6 ));
460
460
cpu_pll /= (1 << out_div );
461
461
462
- pll = ath79_pll_rr ( QCA955X_PLL_DDR_CONFIG_REG );
462
+ pll = __raw_readl ( pll_base + QCA955X_PLL_DDR_CONFIG_REG );
463
463
out_div = (pll >> QCA955X_PLL_DDR_CONFIG_OUTDIV_SHIFT ) &
464
464
QCA955X_PLL_DDR_CONFIG_OUTDIV_MASK ;
465
465
ref_div = (pll >> QCA955X_PLL_DDR_CONFIG_REFDIV_SHIFT ) &
@@ -473,7 +473,7 @@ static void __init qca955x_clocks_init(void)
473
473
ddr_pll += frac * ref_rate / (ref_div * (1 << 10 ));
474
474
ddr_pll /= (1 << out_div );
475
475
476
- clk_ctrl = ath79_pll_rr ( QCA955X_PLL_CLK_CTRL_REG );
476
+ clk_ctrl = __raw_readl ( pll_base + QCA955X_PLL_CLK_CTRL_REG );
477
477
478
478
postdiv = (clk_ctrl >> QCA955X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT ) &
479
479
QCA955X_PLL_CLK_CTRL_CPU_POST_DIV_MASK ;
@@ -511,7 +511,7 @@ static void __init qca955x_clocks_init(void)
511
511
ath79_set_clk (ATH79_CLK_AHB , ahb_rate );
512
512
}
513
513
514
- static void __init qca956x_clocks_init (void )
514
+ static void __init qca956x_clocks_init (void __iomem * pll_base )
515
515
{
516
516
unsigned long ref_rate ;
517
517
unsigned long cpu_rate ;
@@ -537,13 +537,13 @@ static void __init qca956x_clocks_init(void)
537
537
else
538
538
ref_rate = 25 * 1000 * 1000 ;
539
539
540
- pll = ath79_pll_rr ( QCA956X_PLL_CPU_CONFIG_REG );
540
+ pll = __raw_readl ( pll_base + QCA956X_PLL_CPU_CONFIG_REG );
541
541
out_div = (pll >> QCA956X_PLL_CPU_CONFIG_OUTDIV_SHIFT ) &
542
542
QCA956X_PLL_CPU_CONFIG_OUTDIV_MASK ;
543
543
ref_div = (pll >> QCA956X_PLL_CPU_CONFIG_REFDIV_SHIFT ) &
544
544
QCA956X_PLL_CPU_CONFIG_REFDIV_MASK ;
545
545
546
- pll = ath79_pll_rr ( QCA956X_PLL_CPU_CONFIG1_REG );
546
+ pll = __raw_readl ( pll_base + QCA956X_PLL_CPU_CONFIG1_REG );
547
547
nint = (pll >> QCA956X_PLL_CPU_CONFIG1_NINT_SHIFT ) &
548
548
QCA956X_PLL_CPU_CONFIG1_NINT_MASK ;
549
549
hfrac = (pll >> QCA956X_PLL_CPU_CONFIG1_NFRAC_H_SHIFT ) &
@@ -556,12 +556,12 @@ static void __init qca956x_clocks_init(void)
556
556
cpu_pll += (hfrac >> 13 ) * ref_rate / ref_div ;
557
557
cpu_pll /= (1 << out_div );
558
558
559
- pll = ath79_pll_rr ( QCA956X_PLL_DDR_CONFIG_REG );
559
+ pll = __raw_readl ( pll_base + QCA956X_PLL_DDR_CONFIG_REG );
560
560
out_div = (pll >> QCA956X_PLL_DDR_CONFIG_OUTDIV_SHIFT ) &
561
561
QCA956X_PLL_DDR_CONFIG_OUTDIV_MASK ;
562
562
ref_div = (pll >> QCA956X_PLL_DDR_CONFIG_REFDIV_SHIFT ) &
563
563
QCA956X_PLL_DDR_CONFIG_REFDIV_MASK ;
564
- pll = ath79_pll_rr ( QCA956X_PLL_DDR_CONFIG1_REG );
564
+ pll = __raw_readl ( pll_base + QCA956X_PLL_DDR_CONFIG1_REG );
565
565
nint = (pll >> QCA956X_PLL_DDR_CONFIG1_NINT_SHIFT ) &
566
566
QCA956X_PLL_DDR_CONFIG1_NINT_MASK ;
567
567
hfrac = (pll >> QCA956X_PLL_DDR_CONFIG1_NFRAC_H_SHIFT ) &
@@ -574,7 +574,7 @@ static void __init qca956x_clocks_init(void)
574
574
ddr_pll += (hfrac >> 13 ) * ref_rate / ref_div ;
575
575
ddr_pll /= (1 << out_div );
576
576
577
- clk_ctrl = ath79_pll_rr ( QCA956X_PLL_CLK_CTRL_REG );
577
+ clk_ctrl = __raw_readl ( pll_base + QCA956X_PLL_CLK_CTRL_REG );
578
578
579
579
postdiv = (clk_ctrl >> QCA956X_PLL_CLK_CTRL_CPU_POST_DIV_SHIFT ) &
580
580
QCA956X_PLL_CLK_CTRL_CPU_POST_DIV_MASK ;
@@ -618,19 +618,19 @@ void __init ath79_clocks_init(void)
618
618
const char * uart ;
619
619
620
620
if (soc_is_ar71xx ())
621
- ar71xx_clocks_init ();
621
+ ar71xx_clocks_init (ath79_pll_base );
622
622
else if (soc_is_ar724x () || soc_is_ar913x ())
623
- ar724x_clocks_init ();
623
+ ar724x_clocks_init (ath79_pll_base );
624
624
else if (soc_is_ar933x ())
625
- ar933x_clocks_init ();
625
+ ar933x_clocks_init (ath79_pll_base );
626
626
else if (soc_is_ar934x ())
627
- ar934x_clocks_init ();
627
+ ar934x_clocks_init (ath79_pll_base );
628
628
else if (soc_is_qca953x ())
629
- qca953x_clocks_init ();
629
+ qca953x_clocks_init (ath79_pll_base );
630
630
else if (soc_is_qca955x ())
631
- qca955x_clocks_init ();
631
+ qca955x_clocks_init (ath79_pll_base );
632
632
else if (soc_is_qca956x () || soc_is_tp9343 ())
633
- qca956x_clocks_init ();
633
+ qca956x_clocks_init (ath79_pll_base );
634
634
else
635
635
BUG ();
636
636
0 commit comments