Lines Matching refs:clk

82 static inline void sysctl_wait(struct clk *clk,  in sysctl_wait()  argument
87 do {} while (--err && ((sysctl_r32(clk->module, reg) in sysctl_wait()
88 & clk->bits) != test)); in sysctl_wait()
91 clk->module, clk->bits, test, in sysctl_wait()
92 sysctl_r32(clk->module, reg) & clk->bits); in sysctl_wait()
95 static int sysctl_activate(struct clk *clk) in sysctl_activate() argument
97 sysctl_w32(clk->module, clk->bits, SYSCTL_CLKEN); in sysctl_activate()
98 sysctl_w32(clk->module, clk->bits, SYSCTL_ACT); in sysctl_activate()
99 sysctl_wait(clk, clk->bits, SYSCTL_ACTS); in sysctl_activate()
103 static void sysctl_deactivate(struct clk *clk) in sysctl_deactivate() argument
105 sysctl_w32(clk->module, clk->bits, SYSCTL_CLKCLR); in sysctl_deactivate()
106 sysctl_w32(clk->module, clk->bits, SYSCTL_DEACT); in sysctl_deactivate()
107 sysctl_wait(clk, 0, SYSCTL_ACTS); in sysctl_deactivate()
110 static int sysctl_clken(struct clk *clk) in sysctl_clken() argument
112 sysctl_w32(clk->module, clk->bits, SYSCTL_CLKEN); in sysctl_clken()
113 sysctl_w32(clk->module, clk->bits, SYSCTL_ACT); in sysctl_clken()
114 sysctl_wait(clk, clk->bits, SYSCTL_CLKS); in sysctl_clken()
118 static void sysctl_clkdis(struct clk *clk) in sysctl_clkdis() argument
120 sysctl_w32(clk->module, clk->bits, SYSCTL_CLKCLR); in sysctl_clkdis()
121 sysctl_wait(clk, 0, SYSCTL_CLKS); in sysctl_clkdis()
124 static void sysctl_reboot(struct clk *clk) in sysctl_reboot() argument
129 act = sysctl_r32(clk->module, SYSCTL_ACT); in sysctl_reboot()
130 bits = ~act & clk->bits; in sysctl_reboot()
132 sysctl_w32(clk->module, bits, SYSCTL_CLKEN); in sysctl_reboot()
133 sysctl_w32(clk->module, bits, SYSCTL_ACT); in sysctl_reboot()
134 sysctl_wait(clk, bits, SYSCTL_ACTS); in sysctl_reboot()
136 sysctl_w32(clk->module, act & clk->bits, SYSCTL_RBT); in sysctl_reboot()
137 sysctl_wait(clk, clk->bits, SYSCTL_ACTS); in sysctl_reboot()
170 struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL); in clkdev_add_sys() local
172 clk->cl.dev_id = dev; in clkdev_add_sys()
173 clk->cl.con_id = NULL; in clkdev_add_sys()
174 clk->cl.clk = clk; in clkdev_add_sys()
175 clk->module = module; in clkdev_add_sys()
176 clk->bits = bits; in clkdev_add_sys()
177 clk->activate = sysctl_activate; in clkdev_add_sys()
178 clk->deactivate = sysctl_deactivate; in clkdev_add_sys()
179 clk->enable = sysctl_clken; in clkdev_add_sys()
180 clk->disable = sysctl_clkdis; in clkdev_add_sys()
181 clk->reboot = sysctl_reboot; in clkdev_add_sys()
182 clkdev_add(&clk->cl); in clkdev_add_sys()