ARM: configs: Add da850evm_nand to boot from NAND
[oweals/u-boot.git] / include / configs / am335x_igep003x.h
1 /*
2  * Copyright (C) 2013, ISEE 2007 SL - http://www.isee.biz/
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation version 2.
7  *
8  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9  * kind, whether express or implied; without even the implied warranty
10  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  */
13
14 #ifndef __CONFIG_IGEP003X_H
15 #define __CONFIG_IGEP003X_H
16
17 #include <configs/ti_am335x_common.h>
18
19 /* Clock defines */
20 #define V_OSCK                          24000000  /* Clock output from T2 */
21 #define V_SCLK                          (V_OSCK)
22
23 #define CONFIG_ENV_SIZE                 (96 << 10)      /*  96 KiB */
24
25 #ifndef CONFIG_SPL_BUILD
26 #define CONFIG_EXTRA_ENV_SETTINGS \
27         DEFAULT_LINUX_BOOT_ENV \
28         "bootdir=/boot\0" \
29         "bootfile=zImage\0" \
30         "console=ttyO0,115200n8\0" \
31         "mmcdev=0\0" \
32         "mmcroot=/dev/mmcblk0p2 rw\0" \
33         "mmcrootfstype=ext4 rootwait\0" \
34         "mmcargs=setenv bootargs console=${console} " \
35                 "${optargs} " \
36                 "root=${mmcroot} " \
37                 "rootfstype=${mmcrootfstype}\0" \
38                 "bootenv=uEnv.txt\0" \
39         "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
40         "importbootenv=echo Importing environment from mmc ...; " \
41                 "env import -t ${loadaddr} ${filesize}\0" \
42         "mmcload=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}; " \
43                 "load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${fdtfile}\0" \
44         "mmcboot=mmc dev ${mmcdev}; " \
45                 "if mmc rescan; then " \
46                         "echo SD/MMC found on device ${mmcdev};" \
47                         "if run loadbootenv; then " \
48                                 "echo Loaded environment from ${bootenv};" \
49                                 "run importbootenv;" \
50                         "fi;" \
51                         "if test -n $uenvcmd; then " \
52                                 "echo Running uenvcmd ...;" \
53                                 "run uenvcmd;" \
54                         "fi;" \
55                         "if run mmcload; then " \
56                                 "run mmcargs; " \
57                                 "bootz ${loadaddr} - ${fdtaddr};" \
58                         "fi;" \
59                 "fi;\0" \
60         "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \
61         "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
62         "nandroot=ubi0:rootfs rw ubi.mtd=1\0" \
63         "nandrootfstype=ubifs rootwait\0" \
64         "nandload=ubi part UBI; " \
65                 "ubi read ${loadaddr} kernel; " \
66                 "ubi read ${fdtaddr} dtb \0" \
67         "nandargs=setenv bootargs console=${console} " \
68                 "${optargs} " \
69                 "root=${nandroot} " \
70                 "rootfstype=${nandrootfstype} \0" \
71         "nandboot=echo Booting from nand ...; " \
72                 "run nandargs; " \
73                 "run nandload; " \
74                 "bootz ${loadaddr} - ${fdtaddr} \0" \
75         "netload=tftpboot ${loadaddr} ${bootfile}; " \
76                 "tftpboot ${fdtaddr} ${fdtfile} \0" \
77         "netargs=setenv bootargs console=${console} " \
78                 "${optargs} " \
79                 "root=/dev/nfs " \
80                 "ip=${ipaddr} nfsroot=${serverip}:${rootnfs},v3,tcp \0" \
81         "netboot=echo Booting from net ...; " \
82                 "run netargs; " \
83                 "run netload; " \
84                 "bootz ${loadaddr} - ${fdtaddr} \0" \
85         "findfdt="\
86                 "if test ${board_name} = igep0033; then " \
87                         "setenv fdtfile am335x-igep-base0033.dtb; fi; " \
88                 "if test ${board_name} = igep0034; then " \
89                         "setenv fdtfile am335x-igep-base0040.dtb; fi; " \
90                 "if test ${board_name} = igep0034-lite; then " \
91                         "setenv fdtfile am335x-igep-base0040-lite.dtb; fi; " \
92                 "if test ${fdtfile} = ''; then " \
93                         "echo WARNING: Could not determine device tree to use; fi; \0"
94 #endif
95
96 #define CONFIG_BOOTCOMMAND \
97         "run findfdt;" \
98         "run mmcboot;" \
99         "run nandboot;" \
100         "run netboot;"
101
102 /* NS16550 Configuration */
103 #define CONFIG_SYS_NS16550_COM1         0x44e09000      /* UART0 */
104
105 /* Ethernet support */
106 #define CONFIG_PHY_SMSC
107
108 /* NAND support */
109 #define CONFIG_SYS_NAND_ONFI_DETECTION  1
110
111 /* SPL */
112
113 /* UBI configuration */
114 #define CONFIG_SPL_UBI                  1
115 #define CONFIG_SPL_UBI_MAX_VOL_LEBS     256
116 #define CONFIG_SPL_UBI_MAX_PEB_SIZE     (256*1024)
117 #define CONFIG_SPL_UBI_MAX_PEBS         4096
118 #define CONFIG_SPL_UBI_VOL_IDS          8
119 #define CONFIG_SPL_UBI_LOAD_MONITOR_ID  0
120 #define CONFIG_SPL_UBI_LOAD_KERNEL_ID   3
121 #define CONFIG_SPL_UBI_LOAD_ARGS_ID     4
122 #define CONFIG_SPL_UBI_PEB_OFFSET       4
123 #define CONFIG_SPL_UBI_VID_OFFSET       512
124 #define CONFIG_SPL_UBI_LEB_START        2048
125 #define CONFIG_SPL_UBI_INFO_ADDR        0x88080000
126
127 /* environment organization */
128 #define CONFIG_ENV_UBI_PART             "UBI"
129 #define CONFIG_ENV_UBI_VOLUME           "config"
130 #define CONFIG_ENV_UBI_VOLUME_REDUND    "config_r"
131
132 /* NAND config */
133 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
134 #define CONFIG_SYS_NAND_PAGE_COUNT      (CONFIG_SYS_NAND_BLOCK_SIZE / \
135                                          CONFIG_SYS_NAND_PAGE_SIZE)
136 #define CONFIG_SYS_NAND_PAGE_SIZE       2048
137 #define CONFIG_SYS_NAND_OOBSIZE         64
138 #define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
139 #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
140 #define CONFIG_SYS_NAND_ECCPOS          { 2, 3, 4, 5, 6, 7, 8, 9, \
141                                          10, 11, 12, 13, 14, 15, 16, 17, \
142                                          18, 19, 20, 21, 22, 23, 24, 25, \
143                                          26, 27, 28, 29, 30, 31, 32, 33, \
144                                          34, 35, 36, 37, 38, 39, 40, 41, \
145                                          42, 43, 44, 45, 46, 47, 48, 49, \
146                                          50, 51, 52, 53, 54, 55, 56, 57, }
147
148 #define CONFIG_SYS_NAND_ECCSIZE         512
149 #define CONFIG_SYS_NAND_ECCBYTES        14
150 #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH8_CODE_HW
151
152 #endif  /* ! __CONFIG_IGEP003X_H */