summaryrefslogtreecommitdiff
path: root/drivers/clk/rockchip/clk.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clk/rockchip/clk.h')
-rw-r--r--drivers/clk/rockchip/clk.h35
1 files changed, 12 insertions, 23 deletions
diff --git a/drivers/clk/rockchip/clk.h b/drivers/clk/rockchip/clk.h
index 7ef87aad40d2..6db1e7a66f19 100644
--- a/drivers/clk/rockchip/clk.h
+++ b/drivers/clk/rockchip/clk.h
@@ -45,12 +45,21 @@ struct clk;
#define BOOST_SWITCH_THRESHOLD 0x0024
#define BOOST_FSM_STATUS 0x0028
#define BOOST_PLL_L_CON(x) ((x) * 0x4 + 0x2c)
+#define BOOST_PLL_CON_MASK 0xffff
+#define BOOST_BACKUP_PLL_MASK 0x3
+#define BOOST_BACKUP_PLL_SHIFT 8
+#define BOOST_BACKUP_PLL_USAGE_MASK 0x1
+#define BOOST_BACKUP_PLL_USAGE_SHIFT 12
+#define BOOST_ENABLE_MASK 0x1
+#define BOOST_ENABLE_SHIFT 0
#define BOOST_RECOVERY_MASK 0x1
#define BOOST_RECOVERY_SHIFT 1
#define BOOST_SW_CTRL_MASK 0x1
#define BOOST_SW_CTRL_SHIFT 2
#define BOOST_LOW_FREQ_EN_MASK 0x1
#define BOOST_LOW_FREQ_EN_SHIFT 3
+#define BOOST_STATIS_ENABLE_MASK 0x1
+#define BOOST_STATIS_ENABLE_SHIFT 4
#define BOOST_BUSY_STATE BIT(8)
#define PX30_PLL_CON(x) ((x) * 0x4)
@@ -261,7 +270,6 @@ struct rockchip_clk_provider {
struct clk_onecell_data clk_data;
struct device_node *cru_node;
struct regmap *grf;
- struct regmap *boost;
spinlock_t lock;
};
@@ -294,7 +302,6 @@ struct rockchip_pll_rate_table {
* @type: Type of PLL to be registered.
* @pll_flags: hardware-specific flags
* @rate_table: Table of usable pll rates
- * @boost_enabled: whether pll supports boost
*
* Flags:
* ROCKCHIP_PLL_SYNC_RATE - check rate parameters to match against the
@@ -313,7 +320,6 @@ struct rockchip_pll_clock {
enum rockchip_pll_type type;
u8 pll_flags;
struct rockchip_pll_rate_table *rate_table;
- bool boost_enabled;
};
#define ROCKCHIP_PLL_SYNC_RATE BIT(0)
@@ -335,32 +341,15 @@ struct rockchip_pll_clock {
.rate_table = _rtable, \
}
-#define PLL_BOOST(_type, _id, _name, _pnames, _flags, _con, _mode, \
- _mshift, _lshift, _pflags, _rtable) \
- { \
- .id = _id, \
- .type = _type, \
- .name = _name, \
- .parent_names = _pnames, \
- .num_parents = ARRAY_SIZE(_pnames), \
- .flags = CLK_GET_RATE_NOCACHE | _flags, \
- .con_offset = _con, \
- .mode_offset = _mode, \
- .mode_shift = _mshift, \
- .lock_shift = _lshift, \
- .pll_flags = _pflags, \
- .rate_table = _rtable, \
- .boost_enabled = true, \
- }
-
struct clk *rockchip_clk_register_pll(struct rockchip_clk_provider *ctx,
enum rockchip_pll_type pll_type,
const char *name, const char *const *parent_names,
u8 num_parents, int con_offset, int grf_lock_offset,
int lock_shift, int mode_offset, int mode_shift,
struct rockchip_pll_rate_table *rate_table,
- unsigned long flags, u8 clk_pll_flags,
- bool boost_enabled);
+ unsigned long flags, u8 clk_pll_flags);
+
+void rockchip_boost_init(struct clk_hw *hw);
void rockchip_boost_enable_recovery_sw_low(struct clk_hw *hw);