Merge branch 'master' of git://git.denx.de/u-boot-rockchip
[platform/kernel/u-boot.git] / include / configs / chiliboard.h
1 /*
2  * Copyright (C) 2017 Grinn - http://grinn-global.com/
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #ifndef __CONFIG_CHILIBOARD_H
8 #define __CONFIG_CHILIBOARD_H
9
10 #include <configs/ti_am335x_common.h>
11
12 #define CONFIG_CONS_INDEX               1
13
14 #ifndef CONFIG_SPL_BUILD
15 # define CONFIG_TIMESTAMP
16 #endif
17
18 /* Clock Defines */
19 #define V_OSCK                          24000000  /* Clock output from T2 */
20 #define V_SCLK                          (V_OSCK)
21
22 #define NANDARGS \
23         "mtdids=" MTDIDS_DEFAULT "\0" \
24         "mtdparts=" MTDPARTS_DEFAULT "\0" \
25         "nandargs=setenv bootargs console=${console} ${optargs} " \
26                 "${mtdparts} " \
27                 "root=${nandroot} " \
28                 "rootfstype=${nandrootfstype}\0" \
29         "nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system\0" \
30         "nandrootfstype=ubifs rootwait=1\0" \
31         "nandboot=echo Booting from nand ...; " \
32                 "run nandargs; " \
33                 "nand read ${fdt_addr} NAND.u-boot-spl-os; " \
34                 "nand read ${loadaddr} NAND.kernel; " \
35                 "bootz ${loadaddr} - ${fdt_addr}\0"
36
37 #define CONFIG_BOOTCOMMAND \
38         "run mmcboot; " \
39         "run nandboot; " \
40         "run netboot"
41
42 #define CONFIG_EXTRA_ENV_SETTINGS \
43         "loadaddr=0x82000000\0" \
44         "fdt_addr=0x87800000\0" \
45         "boot_fdt=try\0" \
46         "console=ttyO0,115200n8\0" \
47         "image=zImage\0" \
48         "fdt_file=am335x-chiliboard.dtb\0" \
49         "ip_dyn=yes\0" \
50         "optargs=\0" \
51         "loadbootscript=" \
52                 "load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
53         "bootscript=echo Running bootscript from mmc ...; " \
54                 "source\0" \
55         "loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
56                 "${boot_dir}/${image}\0" \
57         "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} " \
58                 "${boot_dir}/${fdt_file}\0" \
59         "mmcdev=0\0" \
60         "mmcpart=1\0" \
61         "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \
62         "mmcargs=setenv bootargs console=${console},${baudrate} ${optargs} " \
63                 "${mtdparts} " \
64                 "root=${mmcroot}\0" \
65         "mmcloados=run mmcargs; " \
66                 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
67                         "if run loadfdt; then " \
68                                 "bootz ${loadaddr} - ${fdt_addr}; " \
69                         "else " \
70                                 "if test ${boot_fdt} = try; then " \
71                                         "bootz; " \
72                                 "else " \
73                                         "echo WARN: Cannot load the DT; " \
74                                 "fi; " \
75                         "fi; " \
76                 "else " \
77                         "bootz; " \
78                 "fi;\0" \
79         "mmcboot=mmc dev ${mmcdev}; " \
80                 "if mmc rescan; then " \
81                         "echo SD/MMC found on device ${mmcdev};" \
82                         "if run loadimage; then " \
83                                 "run mmcloados;" \
84                         "fi;" \
85                 "fi;\0" \
86         "netargs=setenv bootargs console=${console},${baudrate} ${optargs} " \
87                 "${mtdparts} " \
88                 "root=/dev/nfs " \
89                 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
90         "netboot=echo Booting from net ...; " \
91                 "run netargs; " \
92                 "if test ${ip_dyn} = yes; then " \
93                         "setenv get_cmd dhcp; " \
94                 "else " \
95                         "setenv get_cmd tftp; " \
96                 "fi; " \
97                 "${get_cmd} ${image}; " \
98                 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
99                         "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
100                                 "bootz ${loadaddr} - ${fdt_addr}; " \
101                         "else " \
102                                 "if test ${boot_fdt} = try; then " \
103                                         "bootz; " \
104                                 "else " \
105                                         "echo WARN: Cannot load the DT; " \
106                                 "fi; " \
107                         "fi; " \
108                 "else " \
109                         "bootz; " \
110                 "fi;\0" \
111         NANDARGS
112
113 /* NS16550 Configuration */
114 #define CONFIG_SYS_NS16550_COM1         0x44e09000      /* UART0 */
115 #define CONFIG_SYS_NS16550_COM2         0x48022000      /* UART1 */
116 #define CONFIG_SYS_NS16550_COM3         0x48024000      /* UART2 */
117 #define CONFIG_SYS_NS16550_COM4         0x481a6000      /* UART3 */
118 #define CONFIG_SYS_NS16550_COM5         0x481a8000      /* UART4 */
119 #define CONFIG_SYS_NS16550_COM6         0x481aa000      /* UART5 */
120
121 /* PMIC support */
122 #define CONFIG_POWER_TPS65217
123
124 /* SPL */
125 /* Bootcount using the RTC block */
126 #define CONFIG_BOOTCOUNT_LIMIT
127 #define CONFIG_BOOTCOUNT_AM33XX
128 #define CONFIG_SYS_BOOTCOUNT_BE
129
130 /* NAND: device related configs */
131 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
132 #define CONFIG_SYS_NAND_PAGE_COUNT      (CONFIG_SYS_NAND_BLOCK_SIZE / \
133                                          CONFIG_SYS_NAND_PAGE_SIZE)
134 #define CONFIG_SYS_NAND_PAGE_SIZE       2048
135 #define CONFIG_SYS_NAND_OOBSIZE         64
136 #define CONFIG_SYS_NAND_BLOCK_SIZE      (128*1024)
137 /* NAND: driver related configs */
138 #define CONFIG_NAND_OMAP_GPMC
139 #define CONFIG_NAND_OMAP_GPMC_PREFETCH
140 #define CONFIG_NAND_OMAP_ELM
141 #define CONFIG_SYS_NAND_BAD_BLOCK_POS   NAND_LARGE_BADBLOCK_POS
142 #define CONFIG_SYS_NAND_ECCPOS          { 2, 3, 4, 5, 6, 7, 8, 9, \
143                                          10, 11, 12, 13, 14, 15, 16, 17, \
144                                          18, 19, 20, 21, 22, 23, 24, 25, \
145                                          26, 27, 28, 29, 30, 31, 32, 33, \
146                                          34, 35, 36, 37, 38, 39, 40, 41, \
147                                          42, 43, 44, 45, 46, 47, 48, 49, \
148                                          50, 51, 52, 53, 54, 55, 56, 57, }
149
150 #define CONFIG_SYS_NAND_ECCSIZE         512
151 #define CONFIG_SYS_NAND_ECCBYTES        14
152 #define CONFIG_SYS_NAND_ONFI_DETECTION
153 #define CONFIG_NAND_OMAP_ECCSCHEME      OMAP_ECC_BCH8_CODE_HW
154 #define MTDIDS_DEFAULT                  "nand0=8000000.nand"
155 #define MTDPARTS_DEFAULT                "mtdparts=8000000.nand:" \
156                                         "128k(NAND.SPL)," \
157                                         "128k(NAND.SPL.backup1)," \
158                                         "128k(NAND.SPL.backup2)," \
159                                         "128k(NAND.SPL.backup3)," \
160                                         "256k(NAND.u-boot-spl-os)," \
161                                         "1m(NAND.u-boot)," \
162                                         "128k(NAND.u-boot-env)," \
163                                         "128k(NAND.u-boot-env.backup1)," \
164                                         "8m(NAND.kernel)," \
165                                         "-(NAND.file-system)"
166 #define CONFIG_SYS_NAND_U_BOOT_OFFS     0x000c0000
167 /* NAND: SPL related configs */
168 #ifdef CONFIG_SPL_NAND_SUPPORT
169 #define CONFIG_SPL_NAND_AM33XX_BCH
170 #endif
171
172 /* USB configuration */
173 #define CONFIG_USB_MUSB_DSPS
174 #define CONFIG_ARCH_MISC_INIT
175 #define CONFIG_USB_MUSB_PIO_ONLY
176 #define CONFIG_USB_MUSB_DISABLE_BULK_COMBINE_SPLIT
177 #define CONFIG_AM335X_USB1
178 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
179
180 /*
181  * Disable MMC DM for SPL build and can be re-enabled after adding
182  * DM support in SPL
183  */
184 #ifdef CONFIG_SPL_BUILD
185 #undef CONFIG_DM_MMC
186 #undef CONFIG_DM_MMC_OPS
187 #undef CONFIG_TIMER
188 #undef CONFIG_DM_USB
189 #endif
190
191 #if defined(CONFIG_ENV_IS_IN_NAND)
192 #define CONFIG_ENV_OFFSET               0x001c0000
193 #define CONFIG_ENV_OFFSET_REDUND        0x001e0000
194 #define CONFIG_ENV_SIZE                 SZ_128K
195 #define CONFIG_SYS_ENV_SECT_SIZE        CONFIG_SYS_NAND_BLOCK_SIZE
196 #else
197 #define CONFIG_SYS_MMC_ENV_DEV          0
198 #define CONFIG_ENV_OFFSET               SZ_128K
199 #define CONFIG_ENV_OFFSET_REDUND        (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
200 #define CONFIG_ENV_SIZE                 SZ_8K
201 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
202 #endif
203
204 /* Network. */
205 #define CONFIG_PHY_SMSC
206
207 #endif  /* ! __CONFIG_CHILIBOARD_H */