Lines Matching full:psc
17 /* PSC register offsets */
25 /* PSC module states */
44 * struct clk_psc_data - PSC data
45 * @control_base: Base address for a PSC control
46 * @domain_base: Base address for a PSC domain
47 * @domain_id: PSC domain id number
56 * struct clk_psc - PSC clock structure
57 * @hw: clk_hw for the psc
58 * @psc_data: PSC driver specific data
106 struct clk_psc *psc = to_clk_psc(hw); in keystone_clk_is_enabled() local
107 struct clk_psc_data *data = psc->psc_data; in keystone_clk_is_enabled()
115 struct clk_psc *psc = to_clk_psc(hw); in keystone_clk_enable() local
116 struct clk_psc_data *data = psc->psc_data; in keystone_clk_enable()
119 if (psc->lock) in keystone_clk_enable()
120 spin_lock_irqsave(psc->lock, flags); in keystone_clk_enable()
125 if (psc->lock) in keystone_clk_enable()
126 spin_unlock_irqrestore(psc->lock, flags); in keystone_clk_enable()
133 struct clk_psc *psc = to_clk_psc(hw); in keystone_clk_disable() local
134 struct clk_psc_data *data = psc->psc_data; in keystone_clk_disable()
137 if (psc->lock) in keystone_clk_disable()
138 spin_lock_irqsave(psc->lock, flags); in keystone_clk_disable()
143 if (psc->lock) in keystone_clk_disable()
144 spin_unlock_irqrestore(psc->lock, flags); in keystone_clk_disable()
154 * clk_register_psc - register psc clock
168 struct clk_psc *psc; in clk_register_psc() local
171 psc = kzalloc(sizeof(*psc), GFP_KERNEL); in clk_register_psc()
172 if (!psc) in clk_register_psc()
181 psc->psc_data = psc_data; in clk_register_psc()
182 psc->lock = lock; in clk_register_psc()
183 psc->hw.init = &init; in clk_register_psc()
185 clk = clk_register(NULL, &psc->hw); in clk_register_psc()
187 kfree(psc); in clk_register_psc()
193 * of_psc_clk_init - initialize psc clock through DT
256 * of_keystone_psc_clk_init - initialize psc clock through DT
263 CLK_OF_DECLARE(keystone_gate_clk, "ti,keystone,psc-clock",