First tests with O/C recovery mode for AR9331
[oweals/u-boot_mod.git] / u-boot / include / configs / db12x.h
1 /*\r
2  * This file contains the configuration parameters for the DB12x (AR9344) board.\r
3  */\r
4 \r
5 #ifndef __CONFIG_H\r
6 #define __CONFIG_H\r
7 \r
8 #include <configs/ar7240.h>\r
9 #include <config.h>\r
10 \r
11 /*\r
12  * FLASH and environment organization\r
13  */\r
14 #define CFG_MAX_FLASH_BANKS                     1\r
15 #define CFG_MAX_FLASH_SECT                      4096    // 4 KB sectors in 16 MB flash\r
16 /*\r
17  * We boot from this flash\r
18  */\r
19 #define CFG_FLASH_BASE                                  0x9F000000\r
20 #ifdef COMPRESSED_UBOOT\r
21         #define BOOTSTRAP_TEXT_BASE                     CFG_FLASH_BASE\r
22         #define BOOTSTRAP_CFG_MONITOR_BASE      BOOTSTRAP_TEXT_BASE\r
23 #endif\r
24 \r
25 /*\r
26  * The following #defines are needed to get flash environment right\r
27  */\r
28 #define CFG_MONITOR_BASE        TEXT_BASE\r
29 #define CFG_MONITOR_LEN         (192 << 10)\r
30 \r
31 /*\r
32  * Default bootargs\r
33  */\r
34 #undef CONFIG_BOOTARGS\r
35 #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),64k(mib0),64k(ART)"\r
36 \r
37 /*\r
38  * Other env default values\r
39  */\r
40 #undef CONFIG_BOOTFILE\r
41 #define CONFIG_BOOTFILE         "firmware.bin"\r
42 \r
43 #undef CONFIG_LOADADDR\r
44 #define CONFIG_LOADADDR         0x80800000\r
45 \r
46 #define CFG_LOAD_ADDR           0x9F020000\r
47 #define CONFIG_BOOTCOMMAND "bootm 0x9F020000"\r
48 \r
49 \r
50 #define CONFIG_IPADDR           192.168.1.1\r
51 #define CONFIG_SERVERIP         192.168.1.2\r
52 \r
53 #undef CFG_PLL_FREQ\r
54 #undef CFG_HZ\r
55 \r
56 // CPU-RAM-AHB frequency setting\r
57 #define CFG_PLL_FREQ            CFG_PLL_560_480_240\r
58 #define CFG_HZ                  (560000000LU/2)\r
59 #define AR7240_SPI_CONTROL      0x42\r
60 /*\r
61  * MIPS32 24K Processor Core Family Software User's Manual\r
62  *\r
63  * 6.2.9 Count Register (CP0 Register 9, Select 0)\r
64  * The Count register acts as a timer, incrementing at a constant\r
65  * rate, whether or not an instruction is executed, retired, or\r
66  * any forward progress is made through the pipeline.  The counter\r
67  * increments every other clock, if the DC bit in the Cause register\r
68  * is 0.\r
69  *\r
70  * Since the count is incremented every other tick, divide by 2\r
71  * XXX derive this from CFG_PLL_FREQ\r
72  */\r
73 \r
74 /*\r
75  * Cache lock for stack\r
76  */\r
77 #define CFG_INIT_SP_OFFSET              0x1000\r
78 \r
79 /*\r
80  * Address and size of Primary Environment Sector\r
81  */\r
82 #undef  CFG_ENV_IS_IN_FLASH\r
83 #define CFG_ENV_IS_NOWHERE      1\r
84 \r
85 #define CFG_ENV_ADDR            0x9F040000\r
86 #define CFG_ENV_SIZE            0x10000\r
87 \r
88 /*\r
89  * Available commands\r
90  */\r
91 #define CONFIG_COMMANDS (CFG_CMD_MEMORY | CFG_CMD_FLASH | CFG_CMD_NET)\r
92 \r
93 // Enable NetConsole and custom NetConsole port\r
94 #define CONFIG_NETCONSOLE\r
95 #define CONFIG_NETCONSOLE_PORT  6666\r
96 \r
97 /* DDR init values */\r
98 #define CONFIG_NR_DRAM_BANKS    2\r
99 \r
100 /* DDR settings for WASP */\r
101 #define CFG_DDR_REFRESH_VAL     0x4270\r
102 #define CFG_DDR_CONFIG_VAL      0xc7bc8cd0\r
103 #define CFG_DDR_MODE_VAL_INIT   0x133\r
104 #define CFG_DDR_EXT_MODE_VAL    0x0\r
105 #define CFG_DDR_MODE_VAL        0x33\r
106 #define CFG_DDR_TRTW_VAL        0x1f\r
107 #define CFG_DDR_TWTR_VAL        0x1e\r
108 #define CFG_DDR_CONFIG2_VAL     0x9dd0e6a8\r
109 \r
110 #define CFG_DDR2_RD_DATA_THIS_CYCLE_VAL_32      0xff\r
111 #define CFG_DDR2_RD_DATA_THIS_CYCLE_VAL_16      0xffff\r
112 \r
113 #if DDR2_32BIT_SUPPORT\r
114         #define CFG_DDR2_RD_DATA_THIS_CYCLE_VAL         CFG_DDR2_RD_DATA_THIS_CYCLE_VAL_32\r
115 #else\r
116         #define CFG_DDR2_RD_DATA_THIS_CYCLE_VAL         CFG_DDR2_RD_DATA_THIS_CYCLE_VAL_16\r
117 #endif\r
118 \r
119 #define CFG_DDR1_RD_DATA_THIS_CYCLE_VAL         0xffff\r
120 #define CFG_SDRAM_RD_DATA_THIS_CYCLE_VAL        0xffffffff\r
121 \r
122 /* DDR2 Init values */\r
123 #define CFG_DDR2_EXT_MODE_VAL    0x402\r
124 \r
125 #define CONFIG_NET_MULTI\r
126 \r
127 #ifdef CFG_ATHRS27_PHY\r
128         /* use eth1(LAN) as the net interface */\r
129         #define CONFIG_AG7240_SPEPHY\r
130 #endif\r
131 \r
132 #define CONFIG_PCI 1\r
133 \r
134 /*\r
135  * Web Failsafe configuration\r
136  */\r
137 #define WEBFAILSAFE_UPLOAD_RAM_ADDRESS                          CONFIG_LOADADDR\r
138 #define WEBFAILSAFE_UPLOAD_UBOOT_ADDRESS                        CFG_FLASH_BASE\r
139 \r
140 // Firmware partition offset\r
141 #define WEBFAILSAFE_UPLOAD_KERNEL_ADDRESS                       WEBFAILSAFE_UPLOAD_UBOOT_ADDRESS + 0x20000\r
142 \r
143 // U-Boot partition size\r
144 #define WEBFAILSAFE_UPLOAD_UBOOT_SIZE_IN_BYTES          (64 * 1024)\r
145 \r
146 // ART partition size\r
147 #define WEBFAILSAFE_UPLOAD_ART_SIZE_IN_BYTES            (64 * 1024)\r
148 \r
149 // max. firmware size <= (FLASH_SIZE -  WEBFAILSAFE_UPLOAD_LIMITED_AREA_IN_BYTES)\r
150 // TP-Link: 64k(U-Boot),64k(MAC/model/WPS pin block),64k(ART)\r
151 #define WEBFAILSAFE_UPLOAD_LIMITED_AREA_IN_BYTES        (192 * 1024)\r
152 \r
153 // progress state info\r
154 #define WEBFAILSAFE_PROGRESS_START                              0\r
155 #define WEBFAILSAFE_PROGRESS_TIMEOUT                    1\r
156 #define WEBFAILSAFE_PROGRESS_UPLOAD_READY               2\r
157 #define WEBFAILSAFE_PROGRESS_UPGRADE_READY              3\r
158 #define WEBFAILSAFE_PROGRESS_UPGRADE_FAILED             4\r
159 \r
160 // update type\r
161 #define WEBFAILSAFE_UPGRADE_TYPE_FIRMWARE               0\r
162 #define WEBFAILSAFE_UPGRADE_TYPE_UBOOT                  1\r
163 #define WEBFAILSAFE_UPGRADE_TYPE_ART                    2\r
164 \r
165 /*-----------------------------------------------------------------------*/\r
166 \r
167 /* For Merlin, both PCI, PCI-E interfaces are valid */\r
168 #define AR7240_ART_PCICFG_OFFSET        12\r
169 \r
170 #define WLANCAL                                         0x9fff1000\r
171 #define CFG_MII0_RMII                           1\r
172 #define CFG_BOOTM_LEN                           (16 << 20) /* 16 MB */\r
173 \r
174 #undef DEBUG\r
175 #define milisecdelay(_x)                        udelay((_x) * 1000)\r
176 \r
177 /* MAC address, model and PIN number offsets in FLASH */\r
178 #define OFFSET_MAC_DATA_BLOCK                   0x010000\r
179 #define OFFSET_MAC_DATA_BLOCK_LENGTH    0x010000\r
180 #define OFFSET_MAC_ADDRESS                              0x00FC00\r
181 #define OFFSET_ROUTER_MODEL                             0x00FD00\r
182 #define OFFSET_PIN_NUMBER                               0x00FE00\r
183 \r
184 #include <cmd_confdefs.h>\r
185 \r
186 #endif  /* __CONFIG_H */\r