1 /* Copyright (c) 2009, Code Aurora Forum. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
13 #ifndef __ARCH_ARM_MACH_MSM_CLOCK_7X30_H
14 #define __ARCH_ARM_MACH_MSM_CLOCK_7X30_H
32 L_7X30_GRP_3D_SRC_CLK
,
46 L_7X30_MDP_LCDC_PCLK_CLK
,
47 L_7X30_MDP_LCDC_PAD_PCLK_CLK
,
49 L_7X30_MI2S_CODEC_RX_M_CLK
,
50 L_7X30_MI2S_CODEC_RX_S_CLK
,
51 L_7X30_MI2S_CODEC_TX_M_CLK
,
52 L_7X30_MI2S_CODEC_TX_S_CLK
,
60 L_7X30_ROTATOR_IMEM_CLK
,
73 L_7X30_USB_HS_SRC_CLK
,
75 L_7X30_USB_HS_CORE_CLK
,
78 L_7X30_USB_HS2_CORE_CLK
,
81 L_7X30_USB_HS3_CORE_CLK
,
87 L_7X30_CAMIF_PAD_P_CLK
,
103 L_7X30_GLBL_ROOT_CLK
,
105 L_7X30_AXI_LI_VG_CLK
,
106 L_7X30_AXI_LI_GRP_CLK
,
107 L_7X30_AXI_LI_JPEG_CLK
,
108 L_7X30_AXI_GRP_2D_CLK
,
111 L_7X30_AXI_LI_VFE_CLK
,
112 L_7X30_AXI_LI_APPS_CLK
,
115 L_7X30_AXI_LI_ADSP_A_CLK
,
116 L_7X30_AXI_ROTATOR_CLK
,
122 extern struct clk_ops clk_ops_7x30
;
124 struct clk_ops
*clk_7x30_is_local(uint32_t id
);
125 int clk_7x30_init(void);
127 void pll_enable(uint32_t pll
);
128 void pll_disable(uint32_t pll
);
130 extern int internal_pwr_rail_ctl_auto(unsigned rail_id
, bool enable
);
132 #define CLK_7X30(clk_name, clk_id, clk_dev, clk_flags) { \
133 .con_id = clk_name, \
135 .clk = &(struct clk){ \
136 .id = L_7X30_##clk_id, \
137 .remote_id = P_##clk_id, \
138 .flags = clk_flags, \
139 .dbg_name = #clk_id, \
143 #define CLK_7X30S(clk_name, l_id, r_id, clk_dev, clk_flags) { \
144 .con_id = clk_name, \
146 .clk = &(struct clk){ \
147 .id = L_7X30_##l_id, \
148 .remote_id = P_##r_id, \
149 .flags = clk_flags, \
151 .ops = &clk_ops_pcom, \