Commit 4b00d025585819f2b86b74def61471f766e82768

Authored by Mugunthan V N
Committed by Joe Hershberger
1 parent ce412b79e7

include: configs: am335x: add Atheros phy support

In AM335x GP EVM, Atheros 8031 phy is used, enable the driver as
AM335x SoC RGMII delay mode has to be enabled in phy as mentioned
in the silicon errata Advisory 1.0.10

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>

Showing 1 changed file with 2 additions and 0 deletions Inline Diff

include/configs/am335x_evm.h
1 /* 1 /*
2 * am335x_evm.h 2 * am335x_evm.h
3 * 3 *
4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ 4 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
5 * 5 *
6 * This program is free software; you can redistribute it and/or 6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as 7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation version 2. 8 * published by the Free Software Foundation version 2.
9 * 9 *
10 * This program is distributed "as is" WITHOUT ANY WARRANTY of any 10 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
11 * kind, whether express or implied; without even the implied warranty 11 * kind, whether express or implied; without even the implied warranty
12 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details. 13 * GNU General Public License for more details.
14 */ 14 */
15 15
16 #ifndef __CONFIG_AM335X_EVM_H 16 #ifndef __CONFIG_AM335X_EVM_H
17 #define __CONFIG_AM335X_EVM_H 17 #define __CONFIG_AM335X_EVM_H
18 18
19 #include <configs/ti_am335x_common.h> 19 #include <configs/ti_am335x_common.h>
20 20
21 #ifndef CONFIG_SPL_BUILD 21 #ifndef CONFIG_SPL_BUILD
22 # define CONFIG_TIMESTAMP 22 # define CONFIG_TIMESTAMP
23 # define CONFIG_LZO 23 # define CONFIG_LZO
24 #endif 24 #endif
25 25
26 #define CONFIG_SYS_BOOTM_LEN (16 << 20) 26 #define CONFIG_SYS_BOOTM_LEN (16 << 20)
27 27
28 #define MACH_TYPE_TIAM335EVM 3589 /* Until the next sync */ 28 #define MACH_TYPE_TIAM335EVM 3589 /* Until the next sync */
29 #define CONFIG_MACH_TYPE MACH_TYPE_TIAM335EVM 29 #define CONFIG_MACH_TYPE MACH_TYPE_TIAM335EVM
30 #define CONFIG_BOARD_LATE_INIT 30 #define CONFIG_BOARD_LATE_INIT
31 31
32 /* Clock Defines */ 32 /* Clock Defines */
33 #define V_OSCK 24000000 /* Clock output from T2 */ 33 #define V_OSCK 24000000 /* Clock output from T2 */
34 #define V_SCLK (V_OSCK) 34 #define V_SCLK (V_OSCK)
35 35
36 /* Custom script for NOR */ 36 /* Custom script for NOR */
37 #define CONFIG_SYS_LDSCRIPT "board/ti/am335x/u-boot.lds" 37 #define CONFIG_SYS_LDSCRIPT "board/ti/am335x/u-boot.lds"
38 38
39 /* Always 128 KiB env size */ 39 /* Always 128 KiB env size */
40 #define CONFIG_ENV_SIZE (128 << 10) 40 #define CONFIG_ENV_SIZE (128 << 10)
41 41
42 /* Enhance our eMMC support / experience. */ 42 /* Enhance our eMMC support / experience. */
43 #define CONFIG_CMD_GPT 43 #define CONFIG_CMD_GPT
44 #define CONFIG_EFI_PARTITION 44 #define CONFIG_EFI_PARTITION
45 45
46 #ifdef CONFIG_NAND 46 #ifdef CONFIG_NAND
47 #define NANDARGS \ 47 #define NANDARGS \
48 "mtdids=" MTDIDS_DEFAULT "\0" \ 48 "mtdids=" MTDIDS_DEFAULT "\0" \
49 "mtdparts=" MTDPARTS_DEFAULT "\0" \ 49 "mtdparts=" MTDPARTS_DEFAULT "\0" \
50 "nandargs=setenv bootargs console=${console} " \ 50 "nandargs=setenv bootargs console=${console} " \
51 "${optargs} " \ 51 "${optargs} " \
52 "root=${nandroot} " \ 52 "root=${nandroot} " \
53 "rootfstype=${nandrootfstype}\0" \ 53 "rootfstype=${nandrootfstype}\0" \
54 "nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048\0" \ 54 "nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048\0" \
55 "nandrootfstype=ubifs rootwait=1\0" \ 55 "nandrootfstype=ubifs rootwait=1\0" \
56 "nandboot=echo Booting from nand ...; " \ 56 "nandboot=echo Booting from nand ...; " \
57 "run nandargs; " \ 57 "run nandargs; " \
58 "nand read ${fdtaddr} NAND.u-boot-spl-os; " \ 58 "nand read ${fdtaddr} NAND.u-boot-spl-os; " \
59 "nand read ${loadaddr} NAND.kernel; " \ 59 "nand read ${loadaddr} NAND.kernel; " \
60 "bootz ${loadaddr} - ${fdtaddr}\0" 60 "bootz ${loadaddr} - ${fdtaddr}\0"
61 #else 61 #else
62 #define NANDARGS "" 62 #define NANDARGS ""
63 #endif 63 #endif
64 64
65 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 65 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
66 66
67 #define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \ 67 #define BOOTENV_DEV_LEGACY_MMC(devtypeu, devtypel, instance) \
68 "bootcmd_" #devtypel #instance "=" \ 68 "bootcmd_" #devtypel #instance "=" \
69 "setenv mmcdev " #instance"; "\ 69 "setenv mmcdev " #instance"; "\
70 "setenv bootpart " #instance":2 ; "\ 70 "setenv bootpart " #instance":2 ; "\
71 "run mmcboot\0" 71 "run mmcboot\0"
72 72
73 #define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \ 73 #define BOOTENV_DEV_NAME_LEGACY_MMC(devtypeu, devtypel, instance) \
74 #devtypel #instance " " 74 #devtypel #instance " "
75 75
76 #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \ 76 #define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
77 "bootcmd_" #devtypel "=" \ 77 "bootcmd_" #devtypel "=" \
78 "run nandboot\0" 78 "run nandboot\0"
79 79
80 #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \ 80 #define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
81 #devtypel #instance " " 81 #devtypel #instance " "
82 82
83 #define BOOT_TARGET_DEVICES(func) \ 83 #define BOOT_TARGET_DEVICES(func) \
84 func(MMC, mmc, 0) \ 84 func(MMC, mmc, 0) \
85 func(LEGACY_MMC, legacy_mmc, 0) \ 85 func(LEGACY_MMC, legacy_mmc, 0) \
86 func(MMC, mmc, 1) \ 86 func(MMC, mmc, 1) \
87 func(LEGACY_MMC, legacy_mmc, 1) \ 87 func(LEGACY_MMC, legacy_mmc, 1) \
88 func(NAND, nand, 0) \ 88 func(NAND, nand, 0) \
89 func(PXE, pxe, na) \ 89 func(PXE, pxe, na) \
90 func(DHCP, dhcp, na) 90 func(DHCP, dhcp, na)
91 91
92 #define CONFIG_BOOTCOMMAND \ 92 #define CONFIG_BOOTCOMMAND \
93 "run findfdt; " \ 93 "run findfdt; " \
94 "run init_console; " \ 94 "run init_console; " \
95 "run envboot; " \ 95 "run envboot; " \
96 "run distro_bootcmd" 96 "run distro_bootcmd"
97 97
98 #include <config_distro_bootcmd.h> 98 #include <config_distro_bootcmd.h>
99 99
100 #ifndef CONFIG_SPL_BUILD 100 #ifndef CONFIG_SPL_BUILD
101 #define CONFIG_EXTRA_ENV_SETTINGS \ 101 #define CONFIG_EXTRA_ENV_SETTINGS \
102 DEFAULT_LINUX_BOOT_ENV \ 102 DEFAULT_LINUX_BOOT_ENV \
103 DEFAULT_MMC_TI_ARGS \ 103 DEFAULT_MMC_TI_ARGS \
104 "boot_fdt=try\0" \ 104 "boot_fdt=try\0" \
105 "bootpart=0:2\0" \ 105 "bootpart=0:2\0" \
106 "bootdir=/boot\0" \ 106 "bootdir=/boot\0" \
107 "bootfile=zImage\0" \ 107 "bootfile=zImage\0" \
108 "fdtfile=undefined\0" \ 108 "fdtfile=undefined\0" \
109 "console=ttyO0,115200n8\0" \ 109 "console=ttyO0,115200n8\0" \
110 "partitions=" \ 110 "partitions=" \
111 "uuid_disk=${uuid_gpt_disk};" \ 111 "uuid_disk=${uuid_gpt_disk};" \
112 "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \ 112 "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \
113 "optargs=\0" \ 113 "optargs=\0" \
114 "ramroot=/dev/ram0 rw\0" \ 114 "ramroot=/dev/ram0 rw\0" \
115 "ramrootfstype=ext2\0" \ 115 "ramrootfstype=ext2\0" \
116 "spiroot=/dev/mtdblock4 rw\0" \ 116 "spiroot=/dev/mtdblock4 rw\0" \
117 "spirootfstype=jffs2\0" \ 117 "spirootfstype=jffs2\0" \
118 "spisrcaddr=0xe0000\0" \ 118 "spisrcaddr=0xe0000\0" \
119 "spiimgsize=0x362000\0" \ 119 "spiimgsize=0x362000\0" \
120 "spibusno=0\0" \ 120 "spibusno=0\0" \
121 "spiargs=setenv bootargs console=${console} " \ 121 "spiargs=setenv bootargs console=${console} " \
122 "${optargs} " \ 122 "${optargs} " \
123 "root=${spiroot} " \ 123 "root=${spiroot} " \
124 "rootfstype=${spirootfstype}\0" \ 124 "rootfstype=${spirootfstype}\0" \
125 "ramargs=setenv bootargs console=${console} " \ 125 "ramargs=setenv bootargs console=${console} " \
126 "${optargs} " \ 126 "${optargs} " \
127 "root=${ramroot} " \ 127 "root=${ramroot} " \
128 "rootfstype=${ramrootfstype}\0" \ 128 "rootfstype=${ramrootfstype}\0" \
129 "loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ 129 "loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
130 "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ 130 "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
131 "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 131 "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
132 "mmcloados=run args_mmc; " \ 132 "mmcloados=run args_mmc; " \
133 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ 133 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
134 "if run loadfdt; then " \ 134 "if run loadfdt; then " \
135 "bootz ${loadaddr} - ${fdtaddr}; " \ 135 "bootz ${loadaddr} - ${fdtaddr}; " \
136 "else " \ 136 "else " \
137 "if test ${boot_fdt} = try; then " \ 137 "if test ${boot_fdt} = try; then " \
138 "bootz; " \ 138 "bootz; " \
139 "else " \ 139 "else " \
140 "echo WARN: Cannot load the DT; " \ 140 "echo WARN: Cannot load the DT; " \
141 "fi; " \ 141 "fi; " \
142 "fi; " \ 142 "fi; " \
143 "else " \ 143 "else " \
144 "bootz; " \ 144 "bootz; " \
145 "fi;\0" \ 145 "fi;\0" \
146 "mmcboot=mmc dev ${mmcdev}; " \ 146 "mmcboot=mmc dev ${mmcdev}; " \
147 "if mmc rescan; then " \ 147 "if mmc rescan; then " \
148 "echo SD/MMC found on device ${mmcdev};" \ 148 "echo SD/MMC found on device ${mmcdev};" \
149 "run envboot; " \ 149 "run envboot; " \
150 "if run loadimage; then " \ 150 "if run loadimage; then " \
151 "run mmcloados;" \ 151 "run mmcloados;" \
152 "fi;" \ 152 "fi;" \
153 "fi;\0" \ 153 "fi;\0" \
154 "spiboot=echo Booting from spi ...; " \ 154 "spiboot=echo Booting from spi ...; " \
155 "run spiargs; " \ 155 "run spiargs; " \
156 "sf probe ${spibusno}:0; " \ 156 "sf probe ${spibusno}:0; " \
157 "sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \ 157 "sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \
158 "bootz ${loadaddr}\0" \ 158 "bootz ${loadaddr}\0" \
159 "ramboot=echo Booting from ramdisk ...; " \ 159 "ramboot=echo Booting from ramdisk ...; " \
160 "run ramargs; " \ 160 "run ramargs; " \
161 "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \ 161 "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \
162 "findfdt="\ 162 "findfdt="\
163 "if test $board_name = A335BONE; then " \ 163 "if test $board_name = A335BONE; then " \
164 "setenv fdtfile am335x-bone.dtb; fi; " \ 164 "setenv fdtfile am335x-bone.dtb; fi; " \
165 "if test $board_name = A335BNLT; then " \ 165 "if test $board_name = A335BNLT; then " \
166 "setenv fdtfile am335x-boneblack.dtb; fi; " \ 166 "setenv fdtfile am335x-boneblack.dtb; fi; " \
167 "if test $board_name = BBG1; then " \ 167 "if test $board_name = BBG1; then " \
168 "setenv fdtfile am335x-bonegreen.dtb; fi; " \ 168 "setenv fdtfile am335x-bonegreen.dtb; fi; " \
169 "if test $board_name = A33515BB; then " \ 169 "if test $board_name = A33515BB; then " \
170 "setenv fdtfile am335x-evm.dtb; fi; " \ 170 "setenv fdtfile am335x-evm.dtb; fi; " \
171 "if test $board_name = A335X_SK; then " \ 171 "if test $board_name = A335X_SK; then " \
172 "setenv fdtfile am335x-evmsk.dtb; fi; " \ 172 "setenv fdtfile am335x-evmsk.dtb; fi; " \
173 "if test $board_name = A335_ICE; then " \ 173 "if test $board_name = A335_ICE; then " \
174 "setenv fdtfile am335x-icev2.dtb; fi; " \ 174 "setenv fdtfile am335x-icev2.dtb; fi; " \
175 "if test $fdtfile = undefined; then " \ 175 "if test $fdtfile = undefined; then " \
176 "echo WARNING: Could not determine device tree to use; fi; \0" \ 176 "echo WARNING: Could not determine device tree to use; fi; \0" \
177 "init_console=" \ 177 "init_console=" \
178 "if test $board_name = A335_ICE; then "\ 178 "if test $board_name = A335_ICE; then "\
179 "setenv console ttyO3,115200n8;" \ 179 "setenv console ttyO3,115200n8;" \
180 "else " \ 180 "else " \
181 "setenv console ttyO0,115200n8;" \ 181 "setenv console ttyO0,115200n8;" \
182 "fi;\0" \ 182 "fi;\0" \
183 NANDARGS \ 183 NANDARGS \
184 NETARGS \ 184 NETARGS \
185 DFUARGS \ 185 DFUARGS \
186 BOOTENV 186 BOOTENV
187 #endif 187 #endif
188 188
189 /* NS16550 Configuration */ 189 /* NS16550 Configuration */
190 #define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */ 190 #define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */
191 #define CONFIG_SYS_NS16550_COM2 0x48022000 /* UART1 */ 191 #define CONFIG_SYS_NS16550_COM2 0x48022000 /* UART1 */
192 #define CONFIG_SYS_NS16550_COM3 0x48024000 /* UART2 */ 192 #define CONFIG_SYS_NS16550_COM3 0x48024000 /* UART2 */
193 #define CONFIG_SYS_NS16550_COM4 0x481a6000 /* UART3 */ 193 #define CONFIG_SYS_NS16550_COM4 0x481a6000 /* UART3 */
194 #define CONFIG_SYS_NS16550_COM5 0x481a8000 /* UART4 */ 194 #define CONFIG_SYS_NS16550_COM5 0x481a8000 /* UART4 */
195 #define CONFIG_SYS_NS16550_COM6 0x481aa000 /* UART5 */ 195 #define CONFIG_SYS_NS16550_COM6 0x481aa000 /* UART5 */
196 #define CONFIG_BAUDRATE 115200 196 #define CONFIG_BAUDRATE 115200
197 197
198 #define CONFIG_CMD_EEPROM 198 #define CONFIG_CMD_EEPROM
199 #define CONFIG_ENV_EEPROM_IS_ON_I2C 199 #define CONFIG_ENV_EEPROM_IS_ON_I2C
200 #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* Main EEPROM */ 200 #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* Main EEPROM */
201 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 201 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
202 202
203 /* PMIC support */ 203 /* PMIC support */
204 #define CONFIG_POWER_TPS65217 204 #define CONFIG_POWER_TPS65217
205 #define CONFIG_POWER_TPS65910 205 #define CONFIG_POWER_TPS65910
206 206
207 /* SPL */ 207 /* SPL */
208 #ifndef CONFIG_NOR_BOOT 208 #ifndef CONFIG_NOR_BOOT
209 /* Bootcount using the RTC block */ 209 /* Bootcount using the RTC block */
210 #define CONFIG_BOOTCOUNT_LIMIT 210 #define CONFIG_BOOTCOUNT_LIMIT
211 #define CONFIG_BOOTCOUNT_AM33XX 211 #define CONFIG_BOOTCOUNT_AM33XX
212 #define CONFIG_SYS_BOOTCOUNT_BE 212 #define CONFIG_SYS_BOOTCOUNT_BE
213 213
214 /* USB gadget RNDIS */ 214 /* USB gadget RNDIS */
215 215
216 #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/am33xx/u-boot-spl.lds" 216 #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/am33xx/u-boot-spl.lds"
217 #endif 217 #endif
218 218
219 #ifdef CONFIG_NAND 219 #ifdef CONFIG_NAND
220 /* NAND: device related configs */ 220 /* NAND: device related configs */
221 #define CONFIG_SYS_NAND_5_ADDR_CYCLE 221 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
222 #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \ 222 #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
223 CONFIG_SYS_NAND_PAGE_SIZE) 223 CONFIG_SYS_NAND_PAGE_SIZE)
224 #define CONFIG_SYS_NAND_PAGE_SIZE 2048 224 #define CONFIG_SYS_NAND_PAGE_SIZE 2048
225 #define CONFIG_SYS_NAND_OOBSIZE 64 225 #define CONFIG_SYS_NAND_OOBSIZE 64
226 #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024) 226 #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
227 /* NAND: driver related configs */ 227 /* NAND: driver related configs */
228 #define CONFIG_NAND_OMAP_GPMC 228 #define CONFIG_NAND_OMAP_GPMC
229 #define CONFIG_NAND_OMAP_GPMC_PREFETCH 229 #define CONFIG_NAND_OMAP_GPMC_PREFETCH
230 #define CONFIG_NAND_OMAP_ELM 230 #define CONFIG_NAND_OMAP_ELM
231 #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS 231 #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
232 #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \ 232 #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \
233 10, 11, 12, 13, 14, 15, 16, 17, \ 233 10, 11, 12, 13, 14, 15, 16, 17, \
234 18, 19, 20, 21, 22, 23, 24, 25, \ 234 18, 19, 20, 21, 22, 23, 24, 25, \
235 26, 27, 28, 29, 30, 31, 32, 33, \ 235 26, 27, 28, 29, 30, 31, 32, 33, \
236 34, 35, 36, 37, 38, 39, 40, 41, \ 236 34, 35, 36, 37, 38, 39, 40, 41, \
237 42, 43, 44, 45, 46, 47, 48, 49, \ 237 42, 43, 44, 45, 46, 47, 48, 49, \
238 50, 51, 52, 53, 54, 55, 56, 57, } 238 50, 51, 52, 53, 54, 55, 56, 57, }
239 239
240 #define CONFIG_SYS_NAND_ECCSIZE 512 240 #define CONFIG_SYS_NAND_ECCSIZE 512
241 #define CONFIG_SYS_NAND_ECCBYTES 14 241 #define CONFIG_SYS_NAND_ECCBYTES 14
242 #define CONFIG_SYS_NAND_ONFI_DETECTION 242 #define CONFIG_SYS_NAND_ONFI_DETECTION
243 #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW 243 #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW
244 #define MTDIDS_DEFAULT "nand0=nand.0" 244 #define MTDIDS_DEFAULT "nand0=nand.0"
245 #define MTDPARTS_DEFAULT "mtdparts=nand.0:" \ 245 #define MTDPARTS_DEFAULT "mtdparts=nand.0:" \
246 "128k(NAND.SPL)," \ 246 "128k(NAND.SPL)," \
247 "128k(NAND.SPL.backup1)," \ 247 "128k(NAND.SPL.backup1)," \
248 "128k(NAND.SPL.backup2)," \ 248 "128k(NAND.SPL.backup2)," \
249 "128k(NAND.SPL.backup3)," \ 249 "128k(NAND.SPL.backup3)," \
250 "256k(NAND.u-boot-spl-os)," \ 250 "256k(NAND.u-boot-spl-os)," \
251 "1m(NAND.u-boot)," \ 251 "1m(NAND.u-boot)," \
252 "128k(NAND.u-boot-env)," \ 252 "128k(NAND.u-boot-env)," \
253 "128k(NAND.u-boot-env.backup1)," \ 253 "128k(NAND.u-boot-env.backup1)," \
254 "8m(NAND.kernel)," \ 254 "8m(NAND.kernel)," \
255 "-(NAND.file-system)" 255 "-(NAND.file-system)"
256 #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x000c0000 256 #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x000c0000
257 /* NAND: SPL related configs */ 257 /* NAND: SPL related configs */
258 #ifdef CONFIG_SPL_NAND_SUPPORT 258 #ifdef CONFIG_SPL_NAND_SUPPORT
259 #define CONFIG_SPL_NAND_AM33XX_BCH 259 #define CONFIG_SPL_NAND_AM33XX_BCH
260 #endif 260 #endif
261 #ifdef CONFIG_SPL_OS_BOOT 261 #ifdef CONFIG_SPL_OS_BOOT
262 #define CONFIG_CMD_SPL_NAND_OFS 0x00080000 /* os parameters */ 262 #define CONFIG_CMD_SPL_NAND_OFS 0x00080000 /* os parameters */
263 #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x00200000 /* kernel offset */ 263 #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x00200000 /* kernel offset */
264 #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 264 #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000
265 #endif 265 #endif
266 #endif /* !CONFIG_NAND */ 266 #endif /* !CONFIG_NAND */
267 267
268 /* 268 /*
269 * For NOR boot, we must set this to the start of where NOR is mapped 269 * For NOR boot, we must set this to the start of where NOR is mapped
270 * in memory. 270 * in memory.
271 */ 271 */
272 #ifdef CONFIG_NOR_BOOT 272 #ifdef CONFIG_NOR_BOOT
273 #define CONFIG_SYS_TEXT_BASE 0x08000000 273 #define CONFIG_SYS_TEXT_BASE 0x08000000
274 #endif 274 #endif
275 275
276 /* 276 /*
277 * USB configuration. We enable MUSB support, both for host and for 277 * USB configuration. We enable MUSB support, both for host and for
278 * gadget. We set USB0 as peripheral and USB1 as host, based on the 278 * gadget. We set USB0 as peripheral and USB1 as host, based on the
279 * board schematic and physical port wired to each. Then for host we 279 * board schematic and physical port wired to each. Then for host we
280 * add mass storage support and for gadget we add both RNDIS ethernet 280 * add mass storage support and for gadget we add both RNDIS ethernet
281 * and DFU. 281 * and DFU.
282 */ 282 */
283 #define CONFIG_USB_MUSB_DSPS 283 #define CONFIG_USB_MUSB_DSPS
284 #define CONFIG_ARCH_MISC_INIT 284 #define CONFIG_ARCH_MISC_INIT
285 #define CONFIG_USB_MUSB_PIO_ONLY 285 #define CONFIG_USB_MUSB_PIO_ONLY
286 #define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT 286 #define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
287 #define CONFIG_AM335X_USB0 287 #define CONFIG_AM335X_USB0
288 #define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL 288 #define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL
289 #define CONFIG_AM335X_USB1 289 #define CONFIG_AM335X_USB1
290 #define CONFIG_AM335X_USB1_MODE MUSB_HOST 290 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
291 291
292 #ifndef CONFIG_SPL_USBETH_SUPPORT 292 #ifndef CONFIG_SPL_USBETH_SUPPORT
293 /* Fastboot */ 293 /* Fastboot */
294 #define CONFIG_USB_FUNCTION_FASTBOOT 294 #define CONFIG_USB_FUNCTION_FASTBOOT
295 #define CONFIG_CMD_FASTBOOT 295 #define CONFIG_CMD_FASTBOOT
296 #define CONFIG_ANDROID_BOOT_IMAGE 296 #define CONFIG_ANDROID_BOOT_IMAGE
297 #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR 297 #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR
298 #define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 298 #define CONFIG_FASTBOOT_BUF_SIZE 0x07000000
299 299
300 #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1 300 #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1
301 #endif 301 #endif
302 302
303 #ifdef CONFIG_USB_MUSB_GADGET 303 #ifdef CONFIG_USB_MUSB_GADGET
304 /* Removing USB gadget and can be enabled adter adding support usb DM */ 304 /* Removing USB gadget and can be enabled adter adding support usb DM */
305 #ifndef CONFIG_DM_ETH 305 #ifndef CONFIG_DM_ETH
306 #define CONFIG_USB_ETHER 306 #define CONFIG_USB_ETHER
307 #define CONFIG_USB_ETH_RNDIS 307 #define CONFIG_USB_ETH_RNDIS
308 #define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00" 308 #define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00"
309 #endif /* CONFIG_DM_ETH */ 309 #endif /* CONFIG_DM_ETH */
310 #endif /* CONFIG_USB_MUSB_GADGET */ 310 #endif /* CONFIG_USB_MUSB_GADGET */
311 311
312 /* 312 /*
313 * Disable MMC DM for SPL build and can be re-enabled after adding 313 * Disable MMC DM for SPL build and can be re-enabled after adding
314 * DM support in SPL 314 * DM support in SPL
315 */ 315 */
316 #ifdef CONFIG_SPL_BUILD 316 #ifdef CONFIG_SPL_BUILD
317 #undef CONFIG_DM_MMC 317 #undef CONFIG_DM_MMC
318 #undef CONFIG_TIMER 318 #undef CONFIG_TIMER
319 #endif 319 #endif
320 320
321 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT) 321 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
322 /* Remove other SPL modes. */ 322 /* Remove other SPL modes. */
323 #define CONFIG_ENV_IS_NOWHERE 323 #define CONFIG_ENV_IS_NOWHERE
324 #undef CONFIG_ENV_IS_IN_NAND 324 #undef CONFIG_ENV_IS_IN_NAND
325 /* disable host part of MUSB in SPL */ 325 /* disable host part of MUSB in SPL */
326 /* disable EFI partitions and partition UUID support */ 326 /* disable EFI partitions and partition UUID support */
327 #undef CONFIG_PARTITION_UUIDS 327 #undef CONFIG_PARTITION_UUIDS
328 #undef CONFIG_EFI_PARTITION 328 #undef CONFIG_EFI_PARTITION
329 #endif 329 #endif
330 330
331 /* USB Device Firmware Update support */ 331 /* USB Device Firmware Update support */
332 #ifndef CONFIG_SPL_BUILD 332 #ifndef CONFIG_SPL_BUILD
333 #define DFU_ALT_INFO_MMC \ 333 #define DFU_ALT_INFO_MMC \
334 "dfu_alt_info_mmc=" \ 334 "dfu_alt_info_mmc=" \
335 "boot part 0 1;" \ 335 "boot part 0 1;" \
336 "rootfs part 0 2;" \ 336 "rootfs part 0 2;" \
337 "MLO fat 0 1;" \ 337 "MLO fat 0 1;" \
338 "MLO.raw raw 0x100 0x100;" \ 338 "MLO.raw raw 0x100 0x100;" \
339 "u-boot.img.raw raw 0x300 0x400;" \ 339 "u-boot.img.raw raw 0x300 0x400;" \
340 "spl-os-args.raw raw 0x80 0x80;" \ 340 "spl-os-args.raw raw 0x80 0x80;" \
341 "spl-os-image.raw raw 0x900 0x2000;" \ 341 "spl-os-image.raw raw 0x900 0x2000;" \
342 "spl-os-args fat 0 1;" \ 342 "spl-os-args fat 0 1;" \
343 "spl-os-image fat 0 1;" \ 343 "spl-os-image fat 0 1;" \
344 "u-boot.img fat 0 1;" \ 344 "u-boot.img fat 0 1;" \
345 "uEnv.txt fat 0 1\0" 345 "uEnv.txt fat 0 1\0"
346 #ifdef CONFIG_NAND 346 #ifdef CONFIG_NAND
347 #define DFU_ALT_INFO_NAND \ 347 #define DFU_ALT_INFO_NAND \
348 "dfu_alt_info_nand=" \ 348 "dfu_alt_info_nand=" \
349 "SPL part 0 1;" \ 349 "SPL part 0 1;" \
350 "SPL.backup1 part 0 2;" \ 350 "SPL.backup1 part 0 2;" \
351 "SPL.backup2 part 0 3;" \ 351 "SPL.backup2 part 0 3;" \
352 "SPL.backup3 part 0 4;" \ 352 "SPL.backup3 part 0 4;" \
353 "u-boot part 0 5;" \ 353 "u-boot part 0 5;" \
354 "u-boot-spl-os part 0 6;" \ 354 "u-boot-spl-os part 0 6;" \
355 "kernel part 0 8;" \ 355 "kernel part 0 8;" \
356 "rootfs part 0 9\0" 356 "rootfs part 0 9\0"
357 #else 357 #else
358 #define DFU_ALT_INFO_NAND "" 358 #define DFU_ALT_INFO_NAND ""
359 #endif 359 #endif
360 #define DFU_ALT_INFO_RAM \ 360 #define DFU_ALT_INFO_RAM \
361 "dfu_alt_info_ram=" \ 361 "dfu_alt_info_ram=" \
362 "kernel ram 0x80200000 0xD80000;" \ 362 "kernel ram 0x80200000 0xD80000;" \
363 "fdt ram 0x80F80000 0x80000;" \ 363 "fdt ram 0x80F80000 0x80000;" \
364 "ramdisk ram 0x81000000 0x4000000\0" 364 "ramdisk ram 0x81000000 0x4000000\0"
365 #define DFUARGS \ 365 #define DFUARGS \
366 "dfu_alt_info_emmc=rawemmc raw 0 3751936\0" \ 366 "dfu_alt_info_emmc=rawemmc raw 0 3751936\0" \
367 DFU_ALT_INFO_MMC \ 367 DFU_ALT_INFO_MMC \
368 DFU_ALT_INFO_RAM \ 368 DFU_ALT_INFO_RAM \
369 DFU_ALT_INFO_NAND 369 DFU_ALT_INFO_NAND
370 #endif 370 #endif
371 371
372 /* 372 /*
373 * Default to using SPI for environment, etc. 373 * Default to using SPI for environment, etc.
374 * 0x000000 - 0x020000 : SPL (128KiB) 374 * 0x000000 - 0x020000 : SPL (128KiB)
375 * 0x020000 - 0x0A0000 : U-Boot (512KiB) 375 * 0x020000 - 0x0A0000 : U-Boot (512KiB)
376 * 0x0A0000 - 0x0BFFFF : First copy of U-Boot Environment (128KiB) 376 * 0x0A0000 - 0x0BFFFF : First copy of U-Boot Environment (128KiB)
377 * 0x0C0000 - 0x0DFFFF : Second copy of U-Boot Environment (128KiB) 377 * 0x0C0000 - 0x0DFFFF : Second copy of U-Boot Environment (128KiB)
378 * 0x0E0000 - 0x442000 : Linux Kernel 378 * 0x0E0000 - 0x442000 : Linux Kernel
379 * 0x442000 - 0x800000 : Userland 379 * 0x442000 - 0x800000 : Userland
380 */ 380 */
381 #if defined(CONFIG_SPI_BOOT) 381 #if defined(CONFIG_SPI_BOOT)
382 /* SPL related */ 382 /* SPL related */
383 #undef CONFIG_SPL_OS_BOOT /* Not supported by existing map */ 383 #undef CONFIG_SPL_OS_BOOT /* Not supported by existing map */
384 #define CONFIG_SPL_SPI_LOAD 384 #define CONFIG_SPL_SPI_LOAD
385 #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 385 #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000
386 386
387 #define CONFIG_ENV_IS_IN_SPI_FLASH 387 #define CONFIG_ENV_IS_IN_SPI_FLASH
388 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 388 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
389 #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED 389 #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
390 #define CONFIG_ENV_SECT_SIZE (4 << 10) /* 4 KB sectors */ 390 #define CONFIG_ENV_SECT_SIZE (4 << 10) /* 4 KB sectors */
391 #define CONFIG_ENV_OFFSET (768 << 10) /* 768 KiB in */ 391 #define CONFIG_ENV_OFFSET (768 << 10) /* 768 KiB in */
392 #define CONFIG_ENV_OFFSET_REDUND (896 << 10) /* 896 KiB in */ 392 #define CONFIG_ENV_OFFSET_REDUND (896 << 10) /* 896 KiB in */
393 #define MTDIDS_DEFAULT "nor0=m25p80-flash.0" 393 #define MTDIDS_DEFAULT "nor0=m25p80-flash.0"
394 #define MTDPARTS_DEFAULT "mtdparts=m25p80-flash.0:128k(SPL)," \ 394 #define MTDPARTS_DEFAULT "mtdparts=m25p80-flash.0:128k(SPL)," \
395 "512k(u-boot),128k(u-boot-env1)," \ 395 "512k(u-boot),128k(u-boot-env1)," \
396 "128k(u-boot-env2),3464k(kernel)," \ 396 "128k(u-boot-env2),3464k(kernel)," \
397 "-(rootfs)" 397 "-(rootfs)"
398 #elif defined(CONFIG_EMMC_BOOT) 398 #elif defined(CONFIG_EMMC_BOOT)
399 #define CONFIG_ENV_IS_IN_MMC 399 #define CONFIG_ENV_IS_IN_MMC
400 #define CONFIG_SYS_MMC_ENV_DEV 1 400 #define CONFIG_SYS_MMC_ENV_DEV 1
401 #define CONFIG_SYS_MMC_ENV_PART 2 401 #define CONFIG_SYS_MMC_ENV_PART 2
402 #define CONFIG_ENV_OFFSET 0x0 402 #define CONFIG_ENV_OFFSET 0x0
403 #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) 403 #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
404 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 404 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
405 #elif defined(CONFIG_NOR_BOOT) 405 #elif defined(CONFIG_NOR_BOOT)
406 #define CONFIG_ENV_IS_IN_FLASH 406 #define CONFIG_ENV_IS_IN_FLASH
407 #define CONFIG_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ 407 #define CONFIG_ENV_SECT_SIZE (128 << 10) /* 128 KiB */
408 #define CONFIG_ENV_OFFSET (512 << 10) /* 512 KiB */ 408 #define CONFIG_ENV_OFFSET (512 << 10) /* 512 KiB */
409 #define CONFIG_ENV_OFFSET_REDUND (768 << 10) /* 768 KiB */ 409 #define CONFIG_ENV_OFFSET_REDUND (768 << 10) /* 768 KiB */
410 #define MTDIDS_DEFAULT "nor0=physmap-flash.0" 410 #define MTDIDS_DEFAULT "nor0=physmap-flash.0"
411 #define MTDPARTS_DEFAULT "mtdparts=physmap-flash.0:" \ 411 #define MTDPARTS_DEFAULT "mtdparts=physmap-flash.0:" \
412 "512k(u-boot)," \ 412 "512k(u-boot)," \
413 "128k(u-boot-env1)," \ 413 "128k(u-boot-env1)," \
414 "128k(u-boot-env2)," \ 414 "128k(u-boot-env2)," \
415 "4m(kernel),-(rootfs)" 415 "4m(kernel),-(rootfs)"
416 #elif defined(CONFIG_ENV_IS_IN_NAND) 416 #elif defined(CONFIG_ENV_IS_IN_NAND)
417 #define CONFIG_ENV_OFFSET 0x001c0000 417 #define CONFIG_ENV_OFFSET 0x001c0000
418 #define CONFIG_ENV_OFFSET_REDUND 0x001e0000 418 #define CONFIG_ENV_OFFSET_REDUND 0x001e0000
419 #define CONFIG_SYS_ENV_SECT_SIZE CONFIG_SYS_NAND_BLOCK_SIZE 419 #define CONFIG_SYS_ENV_SECT_SIZE CONFIG_SYS_NAND_BLOCK_SIZE
420 #elif !defined(CONFIG_ENV_IS_NOWHERE) 420 #elif !defined(CONFIG_ENV_IS_NOWHERE)
421 /* Not NAND, SPI, NOR or eMMC env, so put ENV in a file on FAT */ 421 /* Not NAND, SPI, NOR or eMMC env, so put ENV in a file on FAT */
422 #define CONFIG_ENV_IS_IN_FAT 422 #define CONFIG_ENV_IS_IN_FAT
423 #define FAT_ENV_INTERFACE "mmc" 423 #define FAT_ENV_INTERFACE "mmc"
424 #define FAT_ENV_DEVICE_AND_PART "0:1" 424 #define FAT_ENV_DEVICE_AND_PART "0:1"
425 #define FAT_ENV_FILE "uboot.env" 425 #define FAT_ENV_FILE "uboot.env"
426 #endif 426 #endif
427 427
428 /* SPI flash. */ 428 /* SPI flash. */
429 #define CONFIG_SF_DEFAULT_SPEED 24000000 429 #define CONFIG_SF_DEFAULT_SPEED 24000000
430 430
431 /* Network. */ 431 /* Network. */
432 #define CONFIG_PHY_GIGE 432 #define CONFIG_PHY_GIGE
433 #define CONFIG_PHYLIB 433 #define CONFIG_PHYLIB
434 #define CONFIG_PHY_SMSC 434 #define CONFIG_PHY_SMSC
435 /* Enable Atheros phy driver */
436 #define CONFIG_PHY_ATHEROS
435 437
436 /* 438 /*
437 * NOR Size = 16 MiB 439 * NOR Size = 16 MiB
438 * Number of Sectors/Blocks = 128 440 * Number of Sectors/Blocks = 128
439 * Sector Size = 128 KiB 441 * Sector Size = 128 KiB
440 * Word length = 16 bits 442 * Word length = 16 bits
441 * Default layout: 443 * Default layout:
442 * 0x000000 - 0x07FFFF : U-Boot (512 KiB) 444 * 0x000000 - 0x07FFFF : U-Boot (512 KiB)
443 * 0x080000 - 0x09FFFF : First copy of U-Boot Environment (128 KiB) 445 * 0x080000 - 0x09FFFF : First copy of U-Boot Environment (128 KiB)
444 * 0x0A0000 - 0x0BFFFF : Second copy of U-Boot Environment (128 KiB) 446 * 0x0A0000 - 0x0BFFFF : Second copy of U-Boot Environment (128 KiB)
445 * 0x0C0000 - 0x4BFFFF : Linux Kernel (4 MiB) 447 * 0x0C0000 - 0x4BFFFF : Linux Kernel (4 MiB)
446 * 0x4C0000 - 0xFFFFFF : Userland (11 MiB + 256 KiB) 448 * 0x4C0000 - 0xFFFFFF : Userland (11 MiB + 256 KiB)
447 */ 449 */
448 #if defined(CONFIG_NOR) 450 #if defined(CONFIG_NOR)
449 #undef CONFIG_SYS_NO_FLASH 451 #undef CONFIG_SYS_NO_FLASH
450 #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 452 #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
451 #define CONFIG_SYS_FLASH_PROTECTION 453 #define CONFIG_SYS_FLASH_PROTECTION
452 #define CONFIG_SYS_FLASH_CFI 454 #define CONFIG_SYS_FLASH_CFI
453 #define CONFIG_FLASH_CFI_DRIVER 455 #define CONFIG_FLASH_CFI_DRIVER
454 #define CONFIG_FLASH_CFI_MTD 456 #define CONFIG_FLASH_CFI_MTD
455 #define CONFIG_SYS_MAX_FLASH_SECT 128 457 #define CONFIG_SYS_MAX_FLASH_SECT 128
456 #define CONFIG_SYS_MAX_FLASH_BANKS 1 458 #define CONFIG_SYS_MAX_FLASH_BANKS 1
457 #define CONFIG_SYS_FLASH_BASE (0x08000000) 459 #define CONFIG_SYS_FLASH_BASE (0x08000000)
458 #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 460 #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
459 #define CONFIG_SYS_FLASH_SIZE 0x01000000 461 #define CONFIG_SYS_FLASH_SIZE 0x01000000
460 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE 462 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
461 #endif /* NOR support */ 463 #endif /* NOR support */
462 464
463 #ifdef CONFIG_DRIVER_TI_CPSW 465 #ifdef CONFIG_DRIVER_TI_CPSW
464 #define CONFIG_CLOCK_SYNTHESIZER 466 #define CONFIG_CLOCK_SYNTHESIZER
465 #define CLK_SYNTHESIZER_I2C_ADDR 0x65 467 #define CLK_SYNTHESIZER_I2C_ADDR 0x65
466 #endif 468 #endif
467 469
468 #endif /* ! __CONFIG_AM335X_EVM_H */ 470 #endif /* ! __CONFIG_AM335X_EVM_H */
469 471