|
|
@@ -2172,6 +2172,36 @@ static struct clk_branch usb_fs1_h_clk = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+static struct clk_branch ebi2_clk = {
|
|
|
+ .hwcg_reg = 0x3b00,
|
|
|
+ .hwcg_bit = 6,
|
|
|
+ .halt_reg = 0x2fcc,
|
|
|
+ .halt_bit = 1,
|
|
|
+ .clkr = {
|
|
|
+ .enable_reg = 0x3b00,
|
|
|
+ .enable_mask = BIT(4),
|
|
|
+ .hw.init = &(struct clk_init_data){
|
|
|
+ .name = "ebi2_clk",
|
|
|
+ .ops = &clk_branch_ops,
|
|
|
+ .flags = CLK_IS_ROOT,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_branch ebi2_aon_clk = {
|
|
|
+ .halt_reg = 0x2fcc,
|
|
|
+ .halt_bit = 0,
|
|
|
+ .clkr = {
|
|
|
+ .enable_reg = 0x3b00,
|
|
|
+ .enable_mask = BIT(8),
|
|
|
+ .hw.init = &(struct clk_init_data){
|
|
|
+ .name = "ebi2_always_on_clk",
|
|
|
+ .ops = &clk_branch_ops,
|
|
|
+ .flags = CLK_IS_ROOT,
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct clk_regmap *gcc_ipq806x_clks[] = {
|
|
|
[PLL0] = &pll0.clkr,
|
|
|
[PLL0_VOTE] = &pll0_vote,
|
|
|
@@ -2275,6 +2305,8 @@ static struct clk_regmap *gcc_ipq806x_clks[] = {
|
|
|
[USB_FS1_XCVR_SRC] = &usb_fs1_xcvr_clk_src.clkr,
|
|
|
[USB_FS1_XCVR_CLK] = &usb_fs1_xcvr_clk.clkr,
|
|
|
[USB_FS1_SYSTEM_CLK] = &usb_fs1_sys_clk.clkr,
|
|
|
+ [EBI2_CLK] = &ebi2_clk.clkr,
|
|
|
+ [EBI2_AON_CLK] = &ebi2_aon_clk.clkr,
|
|
|
};
|
|
|
|
|
|
static const struct qcom_reset_map gcc_ipq806x_resets[] = {
|