blob: f0699229a338d68e09415218059abdc2e0dbb534 [file] [log] [blame]
TENART Antoine35c7e522013-07-02 12:05:59 +02001/*
2 * ti81xx.h
3 *
4 * Copyright (C) 2013, Adeneo Embedded <www.adeneo-embedded.com>
5 * Antoine Tenart, <atenart@adeneo-embedded.com>
6 *
7 * This file is released under the terms of GPL v2 and any later version.
8 * See the file COPYING in the root directory of the source tree for details.
9 */
10
11#ifndef _CLOCK_TI81XX_H_
12#define _CLOCK_TI81XX_H_
13
14#define PRCM_MOD_EN 0x2
15
16#define CM_DEFAULT_BASE (PRCM_BASE + 0x0500)
17#define CM_ALWON_BASE (PRCM_BASE + 0x1400)
18
19struct cm_def {
20 unsigned int resv0[2];
21 unsigned int l3fastclkstctrl;
22 unsigned int resv1[1];
23 unsigned int pciclkstctrl;
24 unsigned int resv2[1];
25 unsigned int ducaticlkstctrl;
26 unsigned int resv3[1];
27 unsigned int emif0clkctrl;
28 unsigned int emif1clkctrl;
29 unsigned int dmmclkctrl;
30 unsigned int fwclkctrl;
31 unsigned int resv4[10];
32 unsigned int usbclkctrl;
33 unsigned int resv5[1];
34 unsigned int sataclkctrl;
35 unsigned int resv6[4];
36 unsigned int ducaticlkctrl;
37 unsigned int pciclkctrl;
38};
39
40struct cm_alwon {
41 unsigned int l3slowclkstctrl;
42 unsigned int ethclkstctrl;
43 unsigned int l3medclkstctrl;
44 unsigned int mmu_clkstctrl;
45 unsigned int mmucfg_clkstctrl;
46 unsigned int ocmc0clkstctrl;
47#if defined(CONFIG_TI814X)
48 unsigned int vcpclkstctrl;
49#elif defined(CONFIG_TI816X)
50 unsigned int ocmc1clkstctrl;
51#endif
52 unsigned int mpuclkstctrl;
53 unsigned int sysclk4clkstctrl;
54 unsigned int sysclk5clkstctrl;
55 unsigned int sysclk6clkstctrl;
56 unsigned int rtcclkstctrl;
57 unsigned int l3fastclkstctrl;
58 unsigned int resv0[67];
59 unsigned int mcasp0clkctrl;
60 unsigned int mcasp1clkctrl;
61 unsigned int mcasp2clkctrl;
62 unsigned int mcbspclkctrl;
63 unsigned int uart0clkctrl;
64 unsigned int uart1clkctrl;
65 unsigned int uart2clkctrl;
66 unsigned int gpio0clkctrl;
67 unsigned int gpio1clkctrl;
68 unsigned int i2c0clkctrl;
69 unsigned int i2c1clkctrl;
70#if defined(CONFIG_TI814X)
71 unsigned int mcasp345clkctrl;
72 unsigned int atlclkctrl;
73 unsigned int mlbclkctrl;
74 unsigned int pataclkctrl;
75 unsigned int resv1[1];
76 unsigned int uart3clkctrl;
77 unsigned int uart4clkctrl;
78 unsigned int uart5clkctrl;
79#elif defined(CONFIG_TI816X)
80 unsigned int resv1[1];
81 unsigned int timer1clkctrl;
82 unsigned int timer2clkctrl;
83 unsigned int timer3clkctrl;
84 unsigned int timer4clkctrl;
85 unsigned int timer5clkctrl;
86 unsigned int timer6clkctrl;
87 unsigned int timer7clkctrl;
88#endif
89 unsigned int wdtimerclkctrl;
90 unsigned int spiclkctrl;
91 unsigned int mailboxclkctrl;
92 unsigned int spinboxclkctrl;
93 unsigned int mmudataclkctrl;
94 unsigned int resv2[2];
95 unsigned int mmucfgclkctrl;
96#if defined(CONFIG_TI814X)
97 unsigned int resv3[2];
98#elif defined(CONFIG_TI816X)
99 unsigned int resv3[1];
100 unsigned int sdioclkctrl;
101#endif
102 unsigned int ocmc0clkctrl;
103#if defined(CONFIG_TI814X)
104 unsigned int vcpclkctrl;
105#elif defined(CONFIG_TI816X)
106 unsigned int ocmc1clkctrl;
107#endif
108 unsigned int resv4[2];
109 unsigned int controlclkctrl;
110 unsigned int resv5[2];
111 unsigned int gpmcclkctrl;
112 unsigned int ethernet0clkctrl;
113 unsigned int ethernet1clkctrl;
114 unsigned int mpuclkctrl;
115#if defined(CONFIG_TI814X)
116 unsigned int debugssclkctrl;
117#elif defined(CONFIG_TI816X)
118 unsigned int resv6[1];
119#endif
120 unsigned int l3clkctrl;
121 unsigned int l4hsclkctrl;
122 unsigned int l4lsclkctrl;
123 unsigned int rtcclkctrl;
124 unsigned int tpccclkctrl;
125 unsigned int tptc0clkctrl;
126 unsigned int tptc1clkctrl;
127 unsigned int tptc2clkctrl;
128 unsigned int tptc3clkctrl;
129#if defined(CONFIG_TI814X)
130 unsigned int resv6[4];
131 unsigned int dcan01clkctrl;
132 unsigned int mmchs0clkctrl;
133 unsigned int mmchs1clkctrl;
134 unsigned int mmchs2clkctrl;
135 unsigned int custefuseclkctrl;
136#elif defined(CONFIG_TI816X)
137 unsigned int sr0clkctrl;
138 unsigned int sr1clkctrl;
139#endif
140};
141
142#endif /* _CLOCK_TI81XX_H_ */