Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
clock-7x30.h
Go to the documentation of this file.
1 /* Copyright (c) 2009, Code Aurora Forum. All rights reserved.
2  *
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.
6  *
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.
11  */
12 
13 #ifndef __ARCH_ARM_MACH_MSM_CLOCK_7X30_H
14 #define __ARCH_ARM_MACH_MSM_CLOCK_7X30_H
15 
16 enum {
104 
117 
119 };
120 
121 struct clk_ops;
122 extern struct clk_ops clk_ops_7x30;
123 
125 int clk_7x30_init(void);
126 
127 void pll_enable(uint32_t pll);
128 void pll_disable(uint32_t pll);
129 
130 extern int internal_pwr_rail_ctl_auto(unsigned rail_id, bool enable);
131 
132 #define CLK_7X30(clk_name, clk_id, clk_dev, clk_flags) { \
133  .con_id = clk_name, \
134  .dev_id = clk_dev, \
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, \
140  }, \
141  }
142 
143 #define CLK_7X30S(clk_name, l_id, r_id, clk_dev, clk_flags) { \
144  .con_id = clk_name, \
145  .dev_id = clk_dev, \
146  .clk = &(struct clk){ \
147  .id = L_7X30_##l_id, \
148  .remote_id = P_##r_id, \
149  .flags = clk_flags, \
150  .dbg_name = #l_id, \
151  .ops = &clk_ops_pcom, \
152  }, \
153  }
154 
155 #endif