|
@@ -320,6 +320,8 @@ struct clk_div_table {
|
|
* updated to indicate changing divider bits.
|
|
* updated to indicate changing divider bits.
|
|
* CLK_DIVIDER_ROUND_CLOSEST - Makes the best calculated divider to be rounded
|
|
* CLK_DIVIDER_ROUND_CLOSEST - Makes the best calculated divider to be rounded
|
|
* to the closest integer instead of the up one.
|
|
* to the closest integer instead of the up one.
|
|
|
|
+ * CLK_DIVIDER_READ_ONLY - The divider settings are preconfigured and should
|
|
|
|
+ * not be changed by the clock framework.
|
|
*/
|
|
*/
|
|
struct clk_divider {
|
|
struct clk_divider {
|
|
struct clk_hw hw;
|
|
struct clk_hw hw;
|
|
@@ -336,8 +338,10 @@ struct clk_divider {
|
|
#define CLK_DIVIDER_ALLOW_ZERO BIT(2)
|
|
#define CLK_DIVIDER_ALLOW_ZERO BIT(2)
|
|
#define CLK_DIVIDER_HIWORD_MASK BIT(3)
|
|
#define CLK_DIVIDER_HIWORD_MASK BIT(3)
|
|
#define CLK_DIVIDER_ROUND_CLOSEST BIT(4)
|
|
#define CLK_DIVIDER_ROUND_CLOSEST BIT(4)
|
|
|
|
+#define CLK_DIVIDER_READ_ONLY BIT(5)
|
|
|
|
|
|
extern const struct clk_ops clk_divider_ops;
|
|
extern const struct clk_ops clk_divider_ops;
|
|
|
|
+extern const struct clk_ops clk_divider_ro_ops;
|
|
struct clk *clk_register_divider(struct device *dev, const char *name,
|
|
struct clk *clk_register_divider(struct device *dev, const char *name,
|
|
const char *parent_name, unsigned long flags,
|
|
const char *parent_name, unsigned long flags,
|
|
void __iomem *reg, u8 shift, u8 width,
|
|
void __iomem *reg, u8 shift, u8 width,
|