Lines Matching +full:no +full:- +full:divider

1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Baikal-T1 CCU Dividers interface driver
10 #include <linux/clk-provider.h>
17 * CCU Divider private clock IDs
21 #define CCU_SYS_SATA_CLK -1
22 #define CCU_SYS_XGMAC_CLK -2
25 * CCU Divider private flags
26 * @CCU_DIV_BASIC: Basic divider clock required by the kernel as early as
28 * @CCU_DIV_SKIP_ONE: Due to some reason divider can't be set to 1.
30 * @CCU_DIV_SKIP_ONE_TO_THREE: For some reason divider can't be within [1,3].
32 * @CCU_DIV_LOCK_SHIFTED: Find lock-bit at non-standard position.
42 * enum ccu_div_type - CCU Divider types
43 * @CCU_DIV_VAR: Clocks gate with variable divider.
44 * @CCU_DIV_GATE: Clocks gate with fixed divider.
45 * @CCU_DIV_BUF: Clock gate with no divider.
46 * @CCU_DIV_FIXED: Ungateable clock with fixed divider.
56 * struct ccu_div_init_data - CCU Divider initialization data
60 * @base: Divider register base address with respect to the sys_regs base.
61 * @sys_regs: Baikal-T1 System Controller registers map.
63 * @type: CCU divider type (variable, fixed with and without gate).
64 * @width: Divider width if it's variable.
65 * @divider: Divider fixed value.
66 * @flags: CCU Divider clock flags.
67 * @features: CCU Divider private features.
79 unsigned int divider; member
86 * struct ccu_div - CCU Divider descriptor
87 * @hw: clk_hw of the divider.
89 * @reg_ctl: Divider control register base address.
90 * @sys_regs: Baikal-T1 System Controller registers map.
91 * @lock: Divider state change spin-lock.
92 * @mask: Divider field mask.
93 * @divider: Divider fixed value.
94 * @flags: Divider clock flags.
95 * @features: CCU Divider private features.
105 unsigned int divider; member
114 return div ? &div->hw : NULL; in ccu_div_get_clk_hw()