Lines Matching full:cru
18 #include <dt-bindings/clock/rk1808-cru.h>
97 struct rk1808_cru *cru = priv->cru; in rk1808_i2c_get_clk() local
102 con = readl(&cru->pmu_clksel_con[7]); in rk1808_i2c_get_clk()
106 con = readl(&cru->clksel_con[59]); in rk1808_i2c_get_clk()
110 con = readl(&cru->clksel_con[59]); in rk1808_i2c_get_clk()
114 con = readl(&cru->clksel_con[60]); in rk1808_i2c_get_clk()
118 con = readl(&cru->clksel_con[71]); in rk1808_i2c_get_clk()
122 con = readl(&cru->clksel_con[71]); in rk1808_i2c_get_clk()
136 struct rk1808_cru *cru = priv->cru; in rk1808_i2c_set_clk() local
144 rk_clrsetreg(&cru->pmu_clksel_con[7], in rk1808_i2c_set_clk()
150 rk_clrsetreg(&cru->clksel_con[59], in rk1808_i2c_set_clk()
156 rk_clrsetreg(&cru->clksel_con[59], in rk1808_i2c_set_clk()
162 rk_clrsetreg(&cru->clksel_con[60], in rk1808_i2c_set_clk()
168 rk_clrsetreg(&cru->clksel_con[71], in rk1808_i2c_set_clk()
174 rk_clrsetreg(&cru->clksel_con[71], in rk1808_i2c_set_clk()
190 struct rk1808_cru *cru = priv->cru; in rk1808_mmc_get_clk() local
211 con = readl(&cru->clksel_con[con_id]); in rk1808_mmc_get_clk()
224 struct rk1808_cru *cru = priv->cru; in rk1808_mmc_set_clk() local
246 /* mmc clock defaulg div 2 internal, need provide double in cru */ in rk1808_mmc_set_clk()
252 rk_clrsetreg(&cru->clksel_con[con_id], in rk1808_mmc_set_clk()
257 rk_clrsetreg(&cru->clksel_con[con_id], in rk1808_mmc_set_clk()
262 rk_clrsetreg(&cru->clksel_con[con_id + 1], EMMC_CLK_SEL_MASK, in rk1808_mmc_set_clk()
270 struct rk1808_cru *cru = priv->cru; in rk1808_sfc_get_clk() local
273 con = readl(&cru->clksel_con[26]); in rk1808_sfc_get_clk()
282 struct rk1808_cru *cru = priv->cru; in rk1808_sfc_set_clk() local
286 rk_clrsetreg(&cru->clksel_con[26], in rk1808_sfc_set_clk()
296 struct rk1808_cru *cru = priv->cru; in rk1808_saradc_get_clk() local
299 con = readl(&cru->clksel_con[63]); in rk1808_saradc_get_clk()
307 struct rk1808_cru *cru = priv->cru; in rk1808_saradc_set_clk() local
313 rk_clrsetreg(&cru->clksel_con[63], in rk1808_saradc_set_clk()
323 struct rk1808_cru *cru = priv->cru; in rk1808_pwm_get_clk() local
328 con = readl(&cru->clksel_con[69]); in rk1808_pwm_get_clk()
332 con = readl(&cru->clksel_con[69]); in rk1808_pwm_get_clk()
336 con = readl(&cru->clksel_con[70]); in rk1808_pwm_get_clk()
350 struct rk1808_cru *cru = priv->cru; in rk1808_pwm_set_clk() local
358 rk_clrsetreg(&cru->clksel_con[69], in rk1808_pwm_set_clk()
364 rk_clrsetreg(&cru->clksel_con[69], in rk1808_pwm_set_clk()
370 rk_clrsetreg(&cru->clksel_con[70], in rk1808_pwm_set_clk()
385 struct rk1808_cru *cru = priv->cru; in rk1808_tsadc_get_clk() local
388 con = readl(&cru->clksel_con[62]); in rk1808_tsadc_get_clk()
396 struct rk1808_cru *cru = priv->cru; in rk1808_tsadc_set_clk() local
402 rk_clrsetreg(&cru->clksel_con[62], in rk1808_tsadc_set_clk()
411 struct rk1808_cru *cru = priv->cru; in rk1808_spi_get_clk() local
416 con = readl(&cru->clksel_con[60]); in rk1808_spi_get_clk()
420 con = readl(&cru->clksel_con[61]); in rk1808_spi_get_clk()
424 con = readl(&cru->clksel_con[61]); in rk1808_spi_get_clk()
438 struct rk1808_cru *cru = priv->cru; in rk1808_spi_set_clk() local
446 rk_clrsetreg(&cru->clksel_con[60], in rk1808_spi_set_clk()
452 rk_clrsetreg(&cru->clksel_con[61], in rk1808_spi_set_clk()
458 rk_clrsetreg(&cru->clksel_con[61], in rk1808_spi_set_clk()
474 struct rk1808_cru *cru = priv->cru; in rk1808_vop_get_clk() local
480 con = readl(&cru->clksel_con[4]); in rk1808_vop_get_clk()
487 con = readl(&cru->clksel_con[4]); in rk1808_vop_get_clk()
491 con = readl(&cru->clksel_con[5]); in rk1808_vop_get_clk()
494 priv->cru, NPLL); in rk1808_vop_get_clk()
497 con = readl(&cru->clksel_con[7]); in rk1808_vop_get_clk()
503 priv->cru, NPLL); in rk1808_vop_get_clk()
519 struct rk1808_cru *cru = priv->cru; in rk1808_vop_set_clk() local
528 rk_clrsetreg(&cru->clksel_con[4], in rk1808_vop_set_clk()
538 rk_clrsetreg(&cru->clksel_con[4], in rk1808_vop_set_clk()
547 rk_clrsetreg(&cru->clksel_con[5], in rk1808_vop_set_clk()
557 priv->cru, NPLL, src_clk_div * hz); in rk1808_vop_set_clk()
575 priv->cru, NPLL, in rk1808_vop_set_clk()
578 rk_clrsetreg(&cru->clksel_con[7], in rk1808_vop_set_clk()
597 struct rk1808_cru *cru = priv->cru; in rk1808_mac_set_clk() local
598 u32 con = readl(&cru->clksel_con[26]); in rk1808_mac_set_clk()
604 priv->cru, NPLL); in rk1808_mac_set_clk()
607 priv->cru, PPLL); in rk1808_mac_set_clk()
610 priv->cru, CPLL); in rk1808_mac_set_clk()
618 rk_clrsetreg(&cru->clksel_con[26], CLK_GMAC_DIV_MASK, in rk1808_mac_set_clk()
627 struct rk1808_cru *cru = priv->cru; in rk1808_mac_set_speed_clk() local
638 rk_clrsetreg(&cru->clksel_con[27], RGMII_CLK_SEL_MASK, in rk1808_mac_set_speed_clk()
646 rk_clrsetreg(&cru->clksel_con[27], RMII_CLK_SEL_MASK, in rk1808_mac_set_speed_clk()
657 struct rk1808_cru *cru = priv->cru; in rk1808_crypto_get_clk() local
662 con = readl(&cru->clksel_con[29]); in rk1808_crypto_get_clk()
667 con = readl(&cru->clksel_con[29]); in rk1808_crypto_get_clk()
681 struct rk1808_cru *cru = priv->cru; in rk1808_crypto_set_clk() local
693 rk_clrsetreg(&cru->clksel_con[29], in rk1808_crypto_set_clk()
699 rk_clrsetreg(&cru->clksel_con[29], in rk1808_crypto_set_clk()
715 struct rk1808_cru *cru = priv->cru; in rk1808_bus_get_clk() local
720 con = readl(&cru->clksel_con[27]); in rk1808_bus_get_clk()
725 con = readl(&cru->clksel_con[28]); in rk1808_bus_get_clk()
731 con = readl(&cru->clksel_con[28]); in rk1808_bus_get_clk()
745 struct rk1808_cru *cru = priv->cru; in rk1808_bus_set_clk() local
756 rk_clrsetreg(&cru->clksel_con[27], in rk1808_bus_set_clk()
764 rk_clrsetreg(&cru->clksel_con[28], in rk1808_bus_set_clk()
772 rk_clrsetreg(&cru->clksel_con[28], in rk1808_bus_set_clk()
787 struct rk1808_cru *cru = priv->cru; in rk1808_peri_get_clk() local
792 con = readl(&cru->clksel_con[19]); in rk1808_peri_get_clk()
798 con = readl(&cru->clksel_con[19]); in rk1808_peri_get_clk()
813 struct rk1808_cru *cru = priv->cru; in rk1808_peri_set_clk() local
825 rk_clrsetreg(&cru->clksel_con[19], in rk1808_peri_set_clk()
831 rk_clrsetreg(&cru->clksel_con[19], in rk1808_peri_set_clk()
847 struct rk1808_cru *cru = priv->cru; in rk1808_pclk_pmu_set_clk() local
853 rk_clrsetreg(&cru->pmu_clksel_con[0], in rk1808_pclk_pmu_set_clk()
862 struct rk1808_cru *cru = priv->cru; in rk1808_armclk_set_clk() local
878 priv->cru, APLL); in rk1808_armclk_set_clk()
881 priv->cru, APLL, hz)) in rk1808_armclk_set_clk()
883 rk_clrsetreg(&cru->clksel_con[0], in rk1808_armclk_set_clk()
891 rk_clrsetreg(&cru->clksel_con[0], in rk1808_armclk_set_clk()
899 priv->cru, APLL, hz)) in rk1808_armclk_set_clk()
903 return rockchip_pll_get_rate(&rk1808_pll_clks[APLL], priv->cru, APLL); in rk1808_armclk_set_clk()
920 priv->cru, clk->id - 1); in rk1808_clk_get_rate()
924 priv->cru, APLL); in rk1808_clk_get_rate()
1001 priv->cru, clk->id - 1, rate); in rk1808_clk_set_rate()
1006 priv->cru, PPLL, rate); in rk1808_clk_set_rate()
1010 priv->cru, CPLL, rate); in rk1808_clk_set_rate()
1016 priv->cru, GPLL, rate); in rk1808_clk_set_rate()
1022 priv->cru, NPLL, rate); in rk1808_clk_set_rate()
1119 struct rk1808_cru *cru = priv->cru; in rk1808_mmc_get_phase() local
1130 raw_value = readl(&cru->emmc_con[1]); in rk1808_mmc_get_phase()
1132 raw_value = readl(&cru->sdmmc_con[1]); in rk1808_mmc_get_phase()
1134 raw_value = readl(&cru->sdio_con[1]); in rk1808_mmc_get_phase()
1155 struct rk1808_cru *cru = priv->cru; in rk1808_mmc_set_phase() local
1185 writel(raw_value | 0xffff0000, &cru->emmc_con[1]); in rk1808_mmc_set_phase()
1187 writel(raw_value | 0xffff0000, &cru->sdmmc_con[1]); in rk1808_mmc_set_phase()
1189 writel(raw_value | 0xffff0000, &cru->sdio_con[1]); in rk1808_mmc_set_phase()
1237 struct rk1808_cru *cru = priv->cru; in rk1808_gmac_set_parent() local
1241 rk_clrsetreg(&cru->clksel_con[27], RMII_EXTCLK_SEL_MASK, in rk1808_gmac_set_parent()
1245 rk_clrsetreg(&cru->clksel_con[27], RMII_EXTCLK_SEL_MASK, in rk1808_gmac_set_parent()
1287 priv->cru, APLL); in rk1808_clk_probe()
1291 priv->cru, APLL) != APLL_HZ) { in rk1808_clk_probe()
1304 priv->cru, GPLL, GPLL_HZ); in rk1808_clk_probe()
1309 priv->cru, CPLL); in rk1808_clk_probe()
1311 priv->cru, GPLL); in rk1808_clk_probe()
1313 priv->cru, NPLL); in rk1808_clk_probe()
1345 priv->cru = dev_read_addr_ptr(dev); in rk1808_clk_ofdata_to_platdata()
1387 { .compatible = "rockchip,rk1808-cru" },
1423 printf("%s failed to get cru device\n", __func__); in soc_clk_dump()