2 * Copyright (c) 2011 The Chromium OS Authors.
3 * Copyright (c) 2010-2012 NVIDIA Corporation <www.nvidia.com>
4 * See file CREDITS for list of people who contributed to this
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23 /* Tegra20 clock PLL tables */
25 #ifndef _CLOCK_TABLES_H_
26 #define _CLOCK_TABLES_H_
28 /* The PLLs supported by the hardware */
31 CLOCK_ID_CGENERAL = CLOCK_ID_FIRST,
38 /* now the simple ones */
39 CLOCK_ID_FIRST_SIMPLE,
40 CLOCK_ID_XCPU = CLOCK_ID_FIRST_SIMPLE,
44 /* These are the base clocks (inputs to the Tegra SOC) */
48 CLOCK_ID_COUNT, /* number of clocks */
52 /* The clocks supported by the hardware */
57 PERIPH_ID_CPU = PERIPH_ID_FIRST,
96 /* Middle word: 63:32 */
100 PERIPH_ID_RESERVED35,
127 PERIPH_ID_RESERVED56,
136 /* Upper word 95:64 */
149 PERIPH_ID_RESERVED74,
151 PERIPH_ID_RESERVED76,
152 PERIPH_ID_RESERVED77,
153 PERIPH_ID_RESERVED78,
154 PERIPH_ID_RESERVED79,
157 PERIPH_ID_RESERVED80,
158 PERIPH_ID_RESERVED81,
159 PERIPH_ID_RESERVED82,
160 PERIPH_ID_RESERVED83,
168 PERIPH_ID_SYNC_CLK_DOUBLER,
169 PERIPH_ID_CLK_M_DOUBLER,
170 PERIPH_ID_RESERVED91,
186 /* Converts a clock number to a clock register: 0=L, 1=H, 2=U */
187 #define PERIPH_REG(id) ((id) >> 5)
189 /* Mask value for a clock (within PERIPH_REG(id)) */
190 #define PERIPH_MASK(id) (1 << ((id) & 0x1f))
192 /* return 1 if a PLL ID is in range, and not a simple PLL */
193 #define clock_id_is_pll(id) ((id) >= CLOCK_ID_FIRST && \
194 (id) < CLOCK_ID_FIRST_SIMPLE)
196 /* return 1 if a peripheral ID is in range */
197 #define clock_periph_id_isvalid(id) ((id) >= PERIPH_ID_FIRST && \
198 (id) < PERIPH_ID_COUNT)
200 #endif /* _CLOCK_TABLES_H_ */