Lines Matching refs:clk

357 	struct clk_pll *clk = to_pllclk(hw);  in pll_clk_recalc_rate()  local
359 u32 regctrl0 = clkc_readl(clk->regofs + SIRFSOC_CLKC_MEMPLL_AB_CTRL0 - in pll_clk_recalc_rate()
361 u32 regfreq = clkc_readl(clk->regofs); in pll_clk_recalc_rate()
362 u32 regssc = clkc_readl(clk->regofs + SIRFSOC_CLKC_MEMPLL_AB_SSC - in pll_clk_recalc_rate()
489 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_is_enabled() local
492 reg = clk->src_offset + SIRFSOC_CLKC_AUDIO_DTO_ENA - SIRFSOC_CLKC_AUDIO_DTO_SRC; in dto_clk_is_enabled()
500 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_enable() local
502 reg = clk->src_offset + SIRFSOC_CLKC_AUDIO_DTO_ENA - SIRFSOC_CLKC_AUDIO_DTO_SRC; in dto_clk_enable()
512 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_disable() local
514 reg = clk->src_offset + SIRFSOC_CLKC_AUDIO_DTO_ENA - SIRFSOC_CLKC_AUDIO_DTO_SRC; in dto_clk_disable()
524 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_recalc_rate() local
525 u32 finc = clkc_readl(clk->inc_offset); in dto_clk_recalc_rate()
526 …u32 droff = clkc_readl(clk->src_offset + SIRFSOC_CLKC_AUDIO_DTO_DROFF - SIRFSOC_CLKC_AUDIO_DTO_SRC… in dto_clk_recalc_rate()
554 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_set_rate() local
557 clkc_writel(0, clk->src_offset + SIRFSOC_CLKC_AUDIO_DTO_DROFF - SIRFSOC_CLKC_AUDIO_DTO_SRC); in dto_clk_set_rate()
558 clkc_writel(dividend, clk->inc_offset); in dto_clk_set_rate()
565 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_get_parent() local
567 return clkc_readl(clk->src_offset); in dto_clk_get_parent()
575 struct clk_dto *clk = to_dtoclk(hw); in dto_clk_set_parent() local
577 clkc_writel(index, clk->src_offset); in dto_clk_set_parent()
1202 static struct clk *atlas7_clks[ARRAY_SIZE(unit_list) + ARRAY_SIZE(mux_list)];
1206 struct clk_unit *clk = to_unitclk(hw); in unit_clk_is_enabled() local
1209 reg = clk->regofs + SIRFSOC_CLKC_ROOT_CLK_EN0_STAT - SIRFSOC_CLKC_ROOT_CLK_EN0_SET; in unit_clk_is_enabled()
1211 return !!(clkc_readl(reg) & BIT(clk->bit)); in unit_clk_is_enabled()
1217 struct clk_unit *clk = to_unitclk(hw); in unit_clk_enable() local
1220 reg = clk->regofs; in unit_clk_enable()
1222 spin_lock_irqsave(clk->lock, flags); in unit_clk_enable()
1223 clkc_writel(BIT(clk->bit), reg); in unit_clk_enable()
1224 if (clk->type == CLK_UNIT_NOC_CLOCK) in unit_clk_enable()
1225 clkc_writel(BIT(clk->idle_bit), SIRFSOC_NOC_CLK_IDLEREQ_CLR); in unit_clk_enable()
1226 else if (clk->type == CLK_UNIT_NOC_SOCKET) in unit_clk_enable()
1227 clkc_writel(BIT(clk->idle_bit), SIRFSOC_NOC_CLK_SLVRDY_SET); in unit_clk_enable()
1229 spin_unlock_irqrestore(clk->lock, flags); in unit_clk_enable()
1237 struct clk_unit *clk = to_unitclk(hw); in unit_clk_disable() local
1240 reg = clk->regofs + SIRFSOC_CLKC_ROOT_CLK_EN0_CLR - SIRFSOC_CLKC_ROOT_CLK_EN0_SET; in unit_clk_disable()
1241 spin_lock_irqsave(clk->lock, flags); in unit_clk_disable()
1242 if (clk->type == CLK_UNIT_NOC_CLOCK) { in unit_clk_disable()
1243 clkc_writel(BIT(clk->idle_bit), SIRFSOC_NOC_CLK_IDLEREQ_SET); in unit_clk_disable()
1245 BIT(clk->idle_bit)) && (i++ < 100)) { in unit_clk_disable()
1253 clkc_writel(BIT(clk->idle_bit), SIRFSOC_NOC_CLK_IDLEREQ_CLR); in unit_clk_disable()
1257 } else if (clk->type == CLK_UNIT_NOC_SOCKET) in unit_clk_disable()
1258 clkc_writel(BIT(clk->idle_bit), SIRFSOC_NOC_CLK_SLVRDY_CLR); in unit_clk_disable()
1260 clkc_writel(BIT(clk->bit), reg); in unit_clk_disable()
1262 spin_unlock_irqrestore(clk->lock, flags); in unit_clk_disable()
1271 static struct clk * __init
1276 struct clk *clk; in atlas7_unit_clk_register() local
1298 clk = clk_register(dev, &unit->hw); in atlas7_unit_clk_register()
1299 if (IS_ERR(clk)) in atlas7_unit_clk_register()
1302 return clk; in atlas7_unit_clk_register()
1438 struct clk *clk; in atlas7_clk_init() local
1451 clk = clk_register(NULL, &clk_cpupll.hw); in atlas7_clk_init()
1452 BUG_ON(!clk); in atlas7_clk_init()
1453 clk = clk_register(NULL, &clk_mempll.hw); in atlas7_clk_init()
1454 BUG_ON(!clk); in atlas7_clk_init()
1455 clk = clk_register(NULL, &clk_sys0pll.hw); in atlas7_clk_init()
1456 BUG_ON(!clk); in atlas7_clk_init()
1457 clk = clk_register(NULL, &clk_sys1pll.hw); in atlas7_clk_init()
1458 BUG_ON(!clk); in atlas7_clk_init()
1459 clk = clk_register(NULL, &clk_sys2pll.hw); in atlas7_clk_init()
1460 BUG_ON(!clk); in atlas7_clk_init()
1461 clk = clk_register(NULL, &clk_sys3pll.hw); in atlas7_clk_init()
1462 BUG_ON(!clk); in atlas7_clk_init()
1464 clk = clk_register_divider_table(NULL, "cpupll_div1", "cpupll_vco", 0, in atlas7_clk_init()
1467 BUG_ON(!clk); in atlas7_clk_init()
1468 clk = clk_register_divider_table(NULL, "cpupll_div2", "cpupll_vco", 0, in atlas7_clk_init()
1471 BUG_ON(!clk); in atlas7_clk_init()
1472 clk = clk_register_divider_table(NULL, "cpupll_div3", "cpupll_vco", 0, in atlas7_clk_init()
1475 BUG_ON(!clk); in atlas7_clk_init()
1477 clk = clk_register_divider_table(NULL, "mempll_div1", "mempll_vco", 0, in atlas7_clk_init()
1480 BUG_ON(!clk); in atlas7_clk_init()
1481 clk = clk_register_divider_table(NULL, "mempll_div2", "mempll_vco", 0, in atlas7_clk_init()
1484 BUG_ON(!clk); in atlas7_clk_init()
1485 clk = clk_register_divider_table(NULL, "mempll_div3", "mempll_vco", 0, in atlas7_clk_init()
1488 BUG_ON(!clk); in atlas7_clk_init()
1490 clk = clk_register_divider_table(NULL, "sys0pll_div1", "sys0pll_vco", 0, in atlas7_clk_init()
1493 BUG_ON(!clk); in atlas7_clk_init()
1494 clk = clk_register_divider_table(NULL, "sys0pll_div2", "sys0pll_vco", 0, in atlas7_clk_init()
1497 BUG_ON(!clk); in atlas7_clk_init()
1498 clk = clk_register_divider_table(NULL, "sys0pll_div3", "sys0pll_vco", 0, in atlas7_clk_init()
1501 BUG_ON(!clk); in atlas7_clk_init()
1502 clk = clk_register_fixed_factor(NULL, "sys0pll_fixdiv", "sys0pll_vco", in atlas7_clk_init()
1505 clk = clk_register_divider_table(NULL, "sys1pll_div1", "sys1pll_vco", 0, in atlas7_clk_init()
1508 BUG_ON(!clk); in atlas7_clk_init()
1509 clk = clk_register_divider_table(NULL, "sys1pll_div2", "sys1pll_vco", 0, in atlas7_clk_init()
1512 BUG_ON(!clk); in atlas7_clk_init()
1513 clk = clk_register_divider_table(NULL, "sys1pll_div3", "sys1pll_vco", 0, in atlas7_clk_init()
1516 BUG_ON(!clk); in atlas7_clk_init()
1517 clk = clk_register_fixed_factor(NULL, "sys1pll_fixdiv", "sys1pll_vco", in atlas7_clk_init()
1520 clk = clk_register_divider_table(NULL, "sys2pll_div1", "sys2pll_vco", 0, in atlas7_clk_init()
1523 BUG_ON(!clk); in atlas7_clk_init()
1524 clk = clk_register_divider_table(NULL, "sys2pll_div2", "sys2pll_vco", 0, in atlas7_clk_init()
1527 BUG_ON(!clk); in atlas7_clk_init()
1528 clk = clk_register_divider_table(NULL, "sys2pll_div3", "sys2pll_vco", 0, in atlas7_clk_init()
1531 BUG_ON(!clk); in atlas7_clk_init()
1532 clk = clk_register_fixed_factor(NULL, "sys2pll_fixdiv", "sys2pll_vco", in atlas7_clk_init()
1535 clk = clk_register_divider_table(NULL, "sys3pll_div1", "sys3pll_vco", 0, in atlas7_clk_init()
1538 BUG_ON(!clk); in atlas7_clk_init()
1539 clk = clk_register_divider_table(NULL, "sys3pll_div2", "sys3pll_vco", 0, in atlas7_clk_init()
1542 BUG_ON(!clk); in atlas7_clk_init()
1543 clk = clk_register_divider_table(NULL, "sys3pll_div3", "sys3pll_vco", 0, in atlas7_clk_init()
1546 BUG_ON(!clk); in atlas7_clk_init()
1547 clk = clk_register_fixed_factor(NULL, "sys3pll_fixdiv", "sys3pll_vco", in atlas7_clk_init()
1550 BUG_ON(!clk); in atlas7_clk_init()
1551 clk = clk_register_fixed_factor(NULL, "xinw_fixdiv_btslow", "xinw", in atlas7_clk_init()
1554 BUG_ON(!clk); in atlas7_clk_init()
1555 clk = clk_register_gate(NULL, "cpupll_clk1", "cpupll_div1", in atlas7_clk_init()
1558 BUG_ON(!clk); in atlas7_clk_init()
1559 clk = clk_register_gate(NULL, "cpupll_clk2", "cpupll_div2", in atlas7_clk_init()
1562 BUG_ON(!clk); in atlas7_clk_init()
1563 clk = clk_register_gate(NULL, "cpupll_clk3", "cpupll_div3", in atlas7_clk_init()
1566 BUG_ON(!clk); in atlas7_clk_init()
1568 clk = clk_register_gate(NULL, "mempll_clk1", "mempll_div1", in atlas7_clk_init()
1572 BUG_ON(!clk); in atlas7_clk_init()
1573 clk = clk_register_gate(NULL, "mempll_clk2", "mempll_div2", in atlas7_clk_init()
1576 BUG_ON(!clk); in atlas7_clk_init()
1577 clk = clk_register_gate(NULL, "mempll_clk3", "mempll_div3", in atlas7_clk_init()
1580 BUG_ON(!clk); in atlas7_clk_init()
1582 clk = clk_register_gate(NULL, "sys0pll_clk1", "sys0pll_div1", in atlas7_clk_init()
1585 BUG_ON(!clk); in atlas7_clk_init()
1586 clk = clk_register_gate(NULL, "sys0pll_clk2", "sys0pll_div2", in atlas7_clk_init()
1589 BUG_ON(!clk); in atlas7_clk_init()
1590 clk = clk_register_gate(NULL, "sys0pll_clk3", "sys0pll_div3", in atlas7_clk_init()
1593 BUG_ON(!clk); in atlas7_clk_init()
1595 clk = clk_register_gate(NULL, "sys1pll_clk1", "sys1pll_div1", in atlas7_clk_init()
1598 BUG_ON(!clk); in atlas7_clk_init()
1599 clk = clk_register_gate(NULL, "sys1pll_clk2", "sys1pll_div2", in atlas7_clk_init()
1602 BUG_ON(!clk); in atlas7_clk_init()
1603 clk = clk_register_gate(NULL, "sys1pll_clk3", "sys1pll_div3", in atlas7_clk_init()
1606 BUG_ON(!clk); in atlas7_clk_init()
1608 clk = clk_register_gate(NULL, "sys2pll_clk1", "sys2pll_div1", in atlas7_clk_init()
1611 BUG_ON(!clk); in atlas7_clk_init()
1612 clk = clk_register_gate(NULL, "sys2pll_clk2", "sys2pll_div2", in atlas7_clk_init()
1615 BUG_ON(!clk); in atlas7_clk_init()
1616 clk = clk_register_gate(NULL, "sys2pll_clk3", "sys2pll_div3", in atlas7_clk_init()
1619 BUG_ON(!clk); in atlas7_clk_init()
1621 clk = clk_register_gate(NULL, "sys3pll_clk1", "sys3pll_div1", in atlas7_clk_init()
1624 BUG_ON(!clk); in atlas7_clk_init()
1625 clk = clk_register_gate(NULL, "sys3pll_clk2", "sys3pll_div2", in atlas7_clk_init()
1628 BUG_ON(!clk); in atlas7_clk_init()
1629 clk = clk_register_gate(NULL, "sys3pll_clk3", "sys3pll_div3", in atlas7_clk_init()
1632 BUG_ON(!clk); in atlas7_clk_init()
1634 clk = clk_register(NULL, &clk_audio_dto.hw); in atlas7_clk_init()
1635 BUG_ON(!clk); in atlas7_clk_init()
1637 clk = clk_register(NULL, &clk_disp0_dto.hw); in atlas7_clk_init()
1638 BUG_ON(!clk); in atlas7_clk_init()
1640 clk = clk_register(NULL, &clk_disp1_dto.hw); in atlas7_clk_init()
1641 BUG_ON(!clk); in atlas7_clk_init()
1645 clk = clk_register_divider(NULL, div->div_name, in atlas7_clk_init()
1648 BUG_ON(!clk); in atlas7_clk_init()
1649 clk = clk_register_gate(NULL, div->gate_name, div->div_name, in atlas7_clk_init()
1652 BUG_ON(!clk); in atlas7_clk_init()
1657 clk = clk_register_mux(NULL, mux->mux_name, mux->parent_names, in atlas7_clk_init()
1662 atlas7_clks[ARRAY_SIZE(unit_list) + i] = clk; in atlas7_clk_init()
1663 BUG_ON(!clk); in atlas7_clk_init()