ARM: configs: Add da850evm_nand to boot from NAND
[oweals/u-boot.git] / include / configs / platinum.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2014, Barco (www.barco.com)
4  */
5
6 #ifndef __PLATINUM_CONFIG_H__
7 #define __PLATINUM_CONFIG_H__
8
9 /* SPL */
10
11 /* Location in NAND to read U-Boot from */
12 #define CONFIG_SYS_NAND_U_BOOT_OFFS     (14 * 1024 * 1024)
13
14 #include "imx6_spl.h"                  /* common IMX6 SPL configuration */
15 #include "mx6_common.h"
16
17 /*
18  * Hardware configuration
19  */
20
21 /* UART config */
22 #define CONFIG_MXC_UART
23 #define CONFIG_MXC_UART_BASE                    UART1_BASE
24
25 /* I2C config */
26 #define CONFIG_SYS_I2C
27 #define CONFIG_SYS_I2C_MXC
28 #define CONFIG_SYS_I2C_MXC_I2C1         /* enable I2C bus 1 */
29 #define CONFIG_SYS_I2C_MXC_I2C2         /* enable I2C bus 2 */
30 #define CONFIG_SYS_I2C_MXC_I2C3         /* enable I2C bus 3 */
31 #define CONFIG_SYS_I2C_SPEED                    100000
32
33 /* MMC config */
34 #define CONFIG_SYS_FSL_ESDHC_ADDR               0
35 #define CONFIG_SYS_FSL_USDHC_NUM                1
36
37 /* Ethernet config */
38 #define CONFIG_FEC_MXC
39 #define IMX_FEC_BASE                            ENET_BASE_ADDR
40
41 /* USB config */
42 #define CONFIG_MXC_USB_PORT                     1
43 #define CONFIG_MXC_USB_PORTSC                   (PORT_PTS_UTMI | PORT_PTS_PTW)
44 #define CONFIG_MXC_USB_FLAGS                    0
45
46 /* Memory config */
47 #define PHYS_SDRAM                              MMDC0_ARB_BASE_ADDR
48 #ifndef PHYS_SDRAM_SIZE
49 #define PHYS_SDRAM_SIZE                         (1024 << 20)
50 #endif
51
52 #define CONFIG_SYS_SDRAM_BASE                   PHYS_SDRAM
53 #define CONFIG_SYS_INIT_RAM_ADDR                IRAM_BASE_ADDR
54 #define CONFIG_SYS_INIT_RAM_SIZE                IRAM_SIZE
55
56 #define CONFIG_SYS_INIT_SP_OFFSET               (CONFIG_SYS_INIT_RAM_SIZE - \
57                                                  GENERATED_GBL_DATA_SIZE)
58 #define CONFIG_SYS_INIT_SP_ADDR                 (CONFIG_SYS_INIT_RAM_ADDR + \
59                                                  CONFIG_SYS_INIT_SP_OFFSET)
60
61 #define CONFIG_SYS_MALLOC_LEN                   (16 * 1024 * 1024)
62
63 #ifdef CONFIG_CMD_NAND
64
65 /* NAND config */
66 #ifndef CONFIG_SYS_NAND_MAX_CHIPS
67 #define CONFIG_SYS_NAND_MAX_CHIPS               2
68 #endif
69 #define CONFIG_SYS_MAX_NAND_DEVICE              1
70 #define CONFIG_SYS_NAND_BASE                    0x40000000
71 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
72 #define CONFIG_SYS_NAND_ONFI_DETECTION
73
74 /* DMA config, needed for GPMI/MXS NAND support */
75
76 /* Environment in NAND */
77 #define CONFIG_ENV_OFFSET               (16 << 20)
78 #define CONFIG_ENV_SECT_SIZE            (128 << 10)
79 #define CONFIG_ENV_SIZE                 CONFIG_ENV_SECT_SIZE
80 #define CONFIG_ENV_OFFSET_REDUND        (CONFIG_ENV_OFFSET + (512 << 10))
81 #define CONFIG_ENV_SIZE_REDUND          CONFIG_ENV_SIZE
82
83 #else /* CONFIG_CMD_NAND */
84
85 /* Environment in MMC */
86 #define CONFIG_ENV_SIZE                 (8 << 10)
87 #define CONFIG_ENV_OFFSET               (6 * 64 * 1024)
88 #define CONFIG_SYS_MMC_ENV_DEV          0
89
90 #endif /* CONFIG_CMD_NAND */
91
92 /*
93  * U-Boot configuration
94  */
95
96 /* Board startup config */
97
98 #define CONFIG_SYS_MEMTEST_START                PHYS_SDRAM
99 #define CONFIG_SYS_MEMTEST_END                  (CONFIG_SYS_MEMTEST_START + \
100                                                  PHYS_SDRAM_SIZE - (12 << 20))
101
102 #define CONFIG_BOOTCOMMAND                      "run bootubi_scr"
103
104 /* Miscellaneous configurable options */
105 #define CONFIG_PREBOOT
106
107 /* MTD/UBI/UBIFS config */
108
109 /*
110  * Environment configuration
111  */
112
113 #if (CONFIG_SYS_NAND_MAX_CHIPS == 1)
114 #define CONFIG_COMMON_ENV_UBI                                           \
115         "setubipartition=env set ubipartition ubi\0"                    \
116         "setubirfs=env set ubirfs $ubipartition:rootfs$boot_vol\0"
117 #elif (CONFIG_SYS_NAND_MAX_CHIPS == 2)
118 #define CONFIG_COMMON_ENV_UBI                                           \
119         "setubipartition=env set ubipartition ubi$boot_vol\0"           \
120         "setubirfs=env set ubirfs ubi0:rootfs\0"
121 #endif
122
123 #define CONFIG_COMMON_ENV_MISC                                          \
124         "user=user\0"                                                   \
125         "project="CONFIG_PLATINUM_PROJECT"\0"                           \
126         "uimage=uImage\0"                                               \
127         "dtb="CONFIG_PLATINUM_CPU"-platinum-"CONFIG_PLATINUM_PROJECT".dtb\0" \
128         "serverip=serverip\0"                                           \
129         "memaddrlinux=0x10800000\0"                                     \
130         "memaddrsrc=0x11000000\0"                                       \
131         "memaddrdtb=0x12000000\0"                                       \
132         "console=ttymxc0\0"                                             \
133         "baudrate=115200\0"                                             \
134         "boot_scr=boot.uboot\0"                                         \
135         "boot_vol=0\0"                                                  \
136         "mtdids="CONFIG_MTDIDS_DEFAULT"\0"                                      \
137         "mtdparts="CONFIG_MTDPARTS_DEFAULT"\0"                                  \
138         "mmcfs=ext2\0"                                                  \
139         "mmcrootpart=1\0"                                               \
140         \
141         "setnfspath=env set nfspath /home/nfs/$user/$project/root\0"    \
142         "settftpfilelinux=env set tftpfilelinux $user/$project/$uimage\0" \
143         "settftpfiledtb=env set tftpfiledtb $user/$project/$dtb\0"      \
144         "setubifilelinux=env set ubifilelinux boot/$uimage\0"           \
145         "setubipfiledtb=env set ubifiledtb boot/$dtb\0"                 \
146         "setmmcrootdev=env set mmcrootdev /dev/mmcblk0p$mmcrootpart\0"  \
147         "setmmcfilelinux=env set mmcfilelinux /boot/$uimage\0"          \
148         "setmmcfiledtb=env set mmcfiledtb /boot/$dtb\0"                 \
149         \
150         "loadtftpkernel=dhcp $memaddrlinux $tftpfilelinux\0"            \
151         "loadtftpdtb=dhcp $memaddrdtb $tftpfiledtb\0"                   \
152         "loadubikernel=ubifsload $memaddrlinux $ubifilelinux\0"         \
153         "loadubidtb=ubifsload $memaddrdtb $ubifiledtb\0"                \
154         "loadmmckernel=${mmcfs}load mmc 0:$mmcrootpart $memaddrlinux "  \
155                 "$mmcfilelinux\0"                                       \
156         "loadmmcdtb=${mmcfs}load mmc 0:$mmcrootpart $memaddrdtb "       \
157                 "$mmcfiledtb\0"                                         \
158         \
159         "ubipart=ubi part $ubipartition\0"                              \
160         "ubimount=ubifsmount $ubirfs\0"                                 \
161         \
162         "setbootargscommon=env set bootargs $bootargs "                 \
163                 "console=$console,$baudrate enable_wait_mode=off\0"     \
164         "setbootargsmtd=env set bootargs $bootargs $mtdparts\0"         \
165         "setbootargsdhcp=env set bootargs $bootargs ip=dhcp\0"          \
166         "setbootargsubirfs=env set bootargs $bootargs "                 \
167                 "ubi.mtd=$ubipartition root=$ubirfs rootfstype=ubifs\0" \
168         "setbootargsnfsrfs=env set bootargs $bootargs root=/dev/nfs "   \
169                 "nfsroot=$serverip:$nfspath,v3,tcp\0"                   \
170         "setbootargsmmcrfs=env set bootargs $bootargs "                 \
171                 "root=$mmcrootdev rootwait rw\0"                        \
172         \
173         "bootnet=run settftpfilelinux settftpfiledtb setnfspath "       \
174                 "setbootargscommon setbootargsmtd setbootargsdhcp "     \
175                         "setbootargsnfsrfs;"                            \
176                         "run loadtftpkernel loadtftpdtb;"               \
177                         "bootm $memaddrlinux - $memaddrdtb\0"           \
178         "bootnet_ubirfs=run settftpfilelinux settftpfiledtb;"           \
179                         "run setubipartition setubirfs;"                \
180                         "run setbootargscommon setbootargsmtd "         \
181                                 "setbootargsubirfs;"                    \
182                         "run loadtftpkernel loadtftpdtb;"               \
183                         "bootm $memaddrlinux - $memaddrdtb\0"           \
184         "bootubi=run setubipartition setubirfs setubifilelinux "        \
185                                 "setubipfiledtb;"                       \
186                         "run setbootargscommon setbootargsmtd "         \
187                                 "setbootargsubirfs;"                    \
188                         "run ubipart ubimount loadubikernel loadubidtb;" \
189                         "bootm $memaddrlinux - $memaddrdtb\0"           \
190         "bootubi_scr=run setubipartition setubirfs;"                    \
191                         "run ubipart ubimount;"                         \
192                         "if ubifsload ${memaddrsrc} boot/${boot_scr}; " \
193                         "then source ${memaddrsrc}; else run bootubi; fi\0" \
194         "bootmmc=run setmmcrootdev setmmcfilelinux setmmcfiledtb "      \
195                         "setbootargscommon setbootargsmmcrfs;"          \
196                         "run loadmmckernel loadmmcdtb;"                 \
197                         "bootm $memaddrlinux - $memaddrdtb\0"           \
198         \
199         "bootcmd="CONFIG_BOOTCOMMAND"\0"
200
201 #define CONFIG_COMMON_ENV_SETTINGS                      CONFIG_COMMON_ENV_MISC \
202                                                         CONFIG_COMMON_ENV_UBI
203 #endif /* __PLATINUM_CONFIG_H__ */