Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/arm/mach-pnx4008/clock.h
10817 views
1
/*
2
* arch/arm/mach-pnx4008/clock.h
3
*
4
* Clock control driver for PNX4008 - internal header file
5
*
6
* Author: Vitaly Wool <[email protected]>
7
*
8
* 2006 (c) MontaVista Software, Inc. This file is licensed under
9
* the terms of the GNU General Public License version 2. This program
10
* is licensed "as is" without any warranty of any kind, whether express
11
* or implied.
12
*/
13
#ifndef __ARCH_ARM_PNX4008_CLOCK_H__
14
#define __ARCH_ARM_PNX4008_CLOCK_H__
15
16
struct clk {
17
const char *name;
18
struct clk *parent;
19
struct clk *propagate_next;
20
u32 rate;
21
u32 user_rate;
22
s8 usecount;
23
u32 flags;
24
u32 scale_reg;
25
u8 enable_shift;
26
u32 enable_reg;
27
u8 enable_shift1;
28
u32 enable_reg1;
29
u32 parent_switch_reg;
30
u32(*round_rate) (struct clk *, u32);
31
int (*set_rate) (struct clk *, u32);
32
int (*set_parent) (struct clk * clk, struct clk * parent);
33
int (*enable)(struct clk *);
34
void (*disable)(struct clk *);
35
};
36
37
/* Flags */
38
#define RATE_PROPAGATES (1<<0)
39
#define NEEDS_INITIALIZATION (1<<1)
40
#define PARENT_SET_RATE (1<<2)
41
#define FIXED_RATE (1<<3)
42
43
#endif
44
45