[ARM/tegra] power: Added non-boot PLL restoration.
[linux-2.6.git] / arch / arm / mach-tegra / odm_kit / query / harmony / tegra_devkit_custopt.h
1 /*
2  * Copyright (c) 2009 NVIDIA Corporation.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright notice,
12  * this list of conditions and the following disclaimer in the documentation
13  * and/or other materials provided with the distribution.
14  *
15  * Neither the name of the NVIDIA Corporation nor the names of its contributors
16  * may be used to endorse or promote products derived from this software
17  * without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  *
31  */
32
33 /**
34  * @file
35  * <b>NVIDIA Tegra ODM Kit:
36  *         Definition of bitfields inside the BCT customer option</b>
37  *
38  * @b Description: Defines the board-specific bitfields of the 
39  *                 BCT customer option parameter, for NVIDIA
40  *                 Tegra development platforms.
41  *  
42  *                 This file pertains to Whistler and Voyager.
43  */
44
45 #ifndef NVIDIA_TEGRA_DEVKIT_CUSTOPT_H
46 #define NVIDIA_TEGRA_DEVKIT_CUSTOPT_H
47
48 #if defined(__cplusplus)
49 extern "C"
50 {
51 #endif
52
53 //---------- BOARD PERSONALITIES (BEGIN) ----------//
54 // On the Whistler boards, be sure to match the following
55 // switches with the personality setting you choose.
56 // 
57 //      SW2 = bits 3:0 (low nibble)
58 //      SW3 = bits 7:4 (high nibble)
59
60 #define TEGRA_DEVKIT_DEFAULT_PERSONALITY \
61     TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_75
62
63 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_RANGE     7:0
64 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_DEFAULT  0x0UL
65
66 // VOYAGER, eMMC, NO TRACE (10x8 keypad)
67 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_01       0x01UL  // ULPI = baseband
68 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_05       0x05UL  // ULPI = UART1
69
70 // VOYAGER, eMMC, with TRACE (7x1 keypad)
71 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_11       0x11UL  // ULPI = baseband
72 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_15       0x15UL  // ULPI = UART1
73
74 // VOYAGER, NAND, NO TRACE (10x8 keypad)
75 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_75       0x75UL  // Voyager, NAND
76
77 // WHISTLER, stand-alone
78 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_C1       0xC1UL  // KB = 13x1, TRACE, GMI = A/D NOR
79 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_C3       0xC3UL  // KB = 16x8, NO TRACE, GMI = NAND
80
81 // VOYAGER, USB2-ULPI (No UART1)
82 // Personality 71 is similar to the 75, except ULPI is enabled instead of UART1.
83 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_PERSONALITY_71       0x71UL  
84
85
86 //---------- BOARD PERSONALITIES (END) ----------//
87
88 /// Download transport
89 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_TRANSPORT_RANGE      10:8
90 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_TRANSPORT_DEFAULT    0x0UL
91 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_TRANSPORT_NONE       0x1UL
92 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_TRANSPORT_UART       0x2UL
93 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_TRANSPORT_USB        0x3UL
94 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_TRANSPORT_ETHERNET   0x4UL
95
96 /// Transport option (bus selector), for UART and Ethernet transport
97 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_UART_OPTION_RANGE   12:11
98 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_UART_OPTION_DEFAULT 0x0UL
99 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_UART_OPTION_A       0x1UL
100 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_UART_OPTION_B       0x2UL
101 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_UART_OPTION_C       0x3UL
102
103 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_ETHERNET_OPTION_RANGE   12:11
104 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_ETHERNET_OPTION_DEFAULT 0x0UL
105 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_ETHERNET_OPTION_SPI     0x1UL
106
107 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_RANGE    17:15
108 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_DEFAULT  0
109 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_UARTA    0
110 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_UARTB    1
111 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_UARTC    2
112 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_UARTD    3
113 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_OPTION_UARTE    4
114
115 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_RANGE           19:18
116 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_DEFAULT         0
117 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_NONE            1
118 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_DCC             2
119 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_CONSOLE_UART            3
120
121 // display options
122 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DISPLAY_OPTION_RANGE      22:20
123 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DISPLAY_OPTION_DEFAULT    0x0UL
124 // embedded panel (lvds, dsi, etc)
125 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DISPLAY_OPTION_EMBEDDED   0x0UL
126 // no panels (external or embedded)
127 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DISPLAY_OPTION_NULL       0x1UL
128 // use hdmi as the primary
129 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DISPLAY_OPTION_HDMI       0x2UL
130 // use crt as the primary 
131 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DISPLAY_OPTION_CRT        0x3UL
132
133 // Enable DHCP
134 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DHCP_RANGE           23:23
135 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DHCP_DEFAULT         0x0UL
136 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_DHCP_ENABLE          0x1UL
137
138 /// Total RAM
139 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_RANGE    30:28
140 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_DEFAULT  0x0UL // 512 MB
141 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_256      0x1UL // 256 MB
142 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_512      0x2UL // 512 MB
143 #define TEGRA_DEVKIT_BCT_SYSTEM_0_MEMORY_1024     0x3UL // 1024 MB (1 GB)
144
145 /// Soc low power state
146 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_LPSTATE_RANGE            31:31
147 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_LPSTATE_LP0              0x0UL
148 #define TEGRA_DEVKIT_BCT_CUSTOPT_0_LPSTATE_LP1              0x1UL
149 #if defined(__cplusplus)
150 }
151 #endif
152
153 #endif