]> git.karo-electronics.de Git - mv-sheeva.git/blob - arch/arm/mach-stmp37xx/include/mach/regs-clkctrl.h
[ARM] 5468/1: Freescale STMP platform support [3/10]
[mv-sheeva.git] / arch / arm / mach-stmp37xx / include / mach / regs-clkctrl.h
1 #ifndef _INCLUDE_ASM_ARCH_REGS_CLKCTRL_H
2 #define _INCLUDE_ASM_ARCH_REGS_CLKCTRL_H
3
4 #include <mach/stmp3xxx_regs.h>
5
6 #define REGS_CLKCTRL_BASE (REGS_BASE + 0x00040000)
7
8 #define HW_CLKCTRL_PLLCTRL0_ADDR        (REGS_CLKCTRL_BASE + 0x00)
9 HW_REGISTER(HW_CLKCTRL_PLLCTRL0, REGS_CLKCTRL_BASE, 0x00)
10 #define BM_CLKCTRL_PLLCTRL0_EN_USB_CLKS 0x00040000
11 #define HW_CLKCTRL_PLLCTRL1_ADDR        (REGS_CLKCTRL_BASE + 0x10)
12 HW_REGISTER(HW_CLKCTRL_PLLCTRL1, REGS_CLKCTRL_BASE, 0x10)
13
14 #define HW_CLKCTRL_CPU_ADDR             (REGS_CLKCTRL_BASE + 0x20)
15 HW_REGISTER(HW_CLKCTRL_CPU, REGS_CLKCTRL_BASE, 0x20)
16 #define BM_CLKCTRL_CPU_DIV_CPU 0x0000003F
17 #define BF_CLKCTRL_CPU_DIV_CPU(v)  \
18         (((v) << 0) & BM_CLKCTRL_CPU_DIV_CPU)
19
20 #define HW_CLKCTRL_HBUS_ADDR            (REGS_CLKCTRL_BASE + 0x30)
21 HW_REGISTER(HW_CLKCTRL_HBUS, REGS_CLKCTRL_BASE, 0x30)
22 #define BM_CLKCTRL_HBUS_DIV_FRAC_EN     0       /* for compatitibility */
23 #define BM_CLKCTRL_HBUS_DIV 0x0000001F
24 #define BF_CLKCTRL_HBUS_DIV(v)  \
25         (((v) << 0) & BM_CLKCTRL_HBUS_DIV)
26 #define HW_CLKCTRL_XBUS_ADDR            (REGS_CLKCTRL_BASE + 0x40)
27 HW_REGISTER(HW_CLKCTRL_XBUS, REGS_CLKCTRL_BASE, 0x40)
28 #define HW_CLKCTRL_XTAL_ADDR            (REGS_CLKCTRL_BASE + 0x50)
29 HW_REGISTER(HW_CLKCTRL_XTAL, REGS_CLKCTRL_BASE, 0x50)
30 #define HW_CLKCTRL_PIX_ADDR             (REGS_CLKCTRL_BASE + 0x60)
31 HW_REGISTER(HW_CLKCTRL_PIX, REGS_CLKCTRL_BASE, 0x60)
32 #define BM_CLKCTRL_PIX_CLKGATE          0x80000000
33 #define BM_CLKCTRL_PIX_BUSY             0x20000000
34 #define BM_CLKCTRL_PIX_DIV              0x00007FFF
35 #define BP_CLKCTRL_PIX_DIV              0
36 #define BF_CLKCTRL_PIX_DIV(v)   \
37         (((v) << BP_CLKCTRL_PIX_DIV) & BM_CLKCTRL_PIX_DIV)
38 #define HW_CLKCTRL_SSP_ADDR             (REGS_CLKCTRL_BASE + 0x70)
39 HW_REGISTER(HW_CLKCTRL_SSP, REGS_CLKCTRL_BASE, 0x70)
40 #define HW_CLKCTRL_GPMI_ADDR            (REGS_CLKCTRL_BASE + 0x80)
41 HW_REGISTER(HW_CLKCTRL_GPMI, REGS_CLKCTRL_BASE, 0x80)
42 #define HW_CLKCTRL_SPDIF_ADDR           (REGS_CLKCTRL_BASE + 0x90)
43 HW_REGISTER(HW_CLKCTRL_SPDIF, REGS_CLKCTRL_BASE, 0x90)
44 #define HW_CLKCTRL_EMI_ADDR             (REGS_CLKCTRL_BASE + 0xA0)
45 HW_REGISTER(HW_CLKCTRL_EMI, REGS_CLKCTRL_BASE, 0xA0)
46 #define HW_CLKCTRL_IR_ADDR              (REGS_CLKCTRL_BASE + 0xB0)
47 HW_REGISTER(HW_CLKCTRL_IR, REGS_CLKCTRL_BASE, 0xB0)
48 #define HW_CLKCTRL_SAIF_ADDR            (REGS_CLKCTRL_BASE + 0xC0)
49 HW_REGISTER(HW_CLKCTRL_SAIF, REGS_CLKCTRL_BASE, 0xC0)
50 #define HW_CLKCTRL_FRAC_ADDR            (REGS_CLKCTRL_BASE + 0xD0)
51 HW_REGISTER(HW_CLKCTRL_FRAC, REGS_CLKCTRL_BASE, 0xD0)
52 #define BM_CLKCTRL_FRAC_CLKGATEIO       0x80000000
53 #define BM_CLKCTRL_FRAC_IO_STABLE       0x40000000
54 #define BM_CLKCTRL_FRAC_IOFRAC          0x3F000000
55 #define BP_CLKCTRL_FRAC_IOFRAC          24
56 #define BF_CLKCTRL_FRAC_IOFRAC(v)       \
57         (((v) << BP_CLKCTRL_FRAC_IOFRAC) & BM_CLKCTRL_FRAC_IOFRAC)
58 #define BM_CLKCTRL_FRAC_CLKGATEPIX      0x00800000
59 #define BM_CLKCTRL_FRAC_PIXFRAC         0x003F0000
60 #define BP_CLKCTRL_FRAC_PIXFRAC         16
61 #define BF_CLKCTRL_FRAC_PIXFRAC(v)      \
62         (((v) << BP_CLKCTRL_FRAC_PIXFRAC) & BM_CLKCTRL_FRAC_PIXFRAC)
63 #define BM_CLKCTRL_FRAC_CLKGATEEMI      0x00008000
64 #define BM_CLKCTRL_FRAC_EMIFRAC         0x00003F00
65 #define BP_CLKCTRL_FRAC_EMIFRAC         8
66 #define BF_CLKCTRL_FRAC_EMIFRAC(v)      \
67         (((v) << BP_CLKCTRL_FRAC_EMIFRAC) & BM_CLKCTRL_FRAC_EMIFRAC)
68 #define BM_CLKCTRL_FRAC_CLKGATECPU      0x00000080
69 #define BM_CLKCTRL_FRAC_CPUFRAC         0x0000003F
70 #define BP_CLKCTRL_FRAC_CPUFRAC         0
71 #define BF_CLKCTRL_FRAC_CPUFRAC(v)      \
72         (((v) << BP_CLKCTRL_FRAC_CPUFRAC) & BM_CLKCTRL_FRAC_CPUFRAC)
73 #define HW_CLKCTRL_CLKSEQ_ADDR          (REGS_CLKCTRL_BASE + 0xE0)
74 HW_REGISTER(HW_CLKCTRL_CLKSEQ, REGS_CLKCTRL_BASE, 0xE0)
75 #define BM_CLKCTRL_CLKSEQ_BYPASS_CPU            0x00000080
76 #define BM_CLKCTRL_CLKSEQ_BYPASS_EMI            0x00000040
77 #define BM_CLKCTRL_CLKSEQ_BYPASS_SSP            0x00000020
78 #define BM_CLKCTRL_CLKSEQ_BYPASS_GPMI           0x00000010
79 #define BM_CLKCTRL_CLKSEQ_BYPASS_IR             0x00000008
80 #define BM_CLKCTRL_CLKSEQ_BYPASS_PIX            0x00000002
81 #define BM_CLKCTRL_CLKSEQ_BYPASS_SAIF           0x00000001
82 HW_REGISTER_WO(HW_CLKCTRL_RESET, REGS_CLKCTRL_BASE, 0xF0)
83 #define BM_CLKCTRL_RESET_CHIP      0x00000002
84 #define BM_CLKCTRL_RESET_DIG       0x00000001
85 #endif /* _INCLUDE_ASM_ARCH_REGS_CLKCTRL_H */