a780cca592662cc6dc15239ec6c02a35496f0eaa
[platform/kernel/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 CONFIG_MII
40 #define IMX_FEC_BASE                            ENET_BASE_ADDR
41
42 /* USB config */
43 #define CONFIG_MXC_USB_PORT                     1
44 #define CONFIG_MXC_USB_PORTSC                   (PORT_PTS_UTMI | PORT_PTS_PTW)
45 #define CONFIG_MXC_USB_FLAGS                    0
46
47 /* Memory config */
48 #define CONFIG_NR_DRAM_BANKS                    1
49 #define PHYS_SDRAM                              MMDC0_ARB_BASE_ADDR
50 #ifndef PHYS_SDRAM_SIZE
51 #define PHYS_SDRAM_SIZE                         (1024 << 20)
52 #endif
53
54 #define CONFIG_SYS_SDRAM_BASE                   PHYS_SDRAM
55 #define CONFIG_SYS_INIT_RAM_ADDR                IRAM_BASE_ADDR
56 #define CONFIG_SYS_INIT_RAM_SIZE                IRAM_SIZE
57
58 #define CONFIG_SYS_INIT_SP_OFFSET               (CONFIG_SYS_INIT_RAM_SIZE - \
59                                                  GENERATED_GBL_DATA_SIZE)
60 #define CONFIG_SYS_INIT_SP_ADDR                 (CONFIG_SYS_INIT_RAM_ADDR + \
61                                                  CONFIG_SYS_INIT_SP_OFFSET)
62
63 #define CONFIG_SYS_MALLOC_LEN                   (16 * 1024 * 1024)
64
65 #ifdef CONFIG_CMD_NAND
66
67 /* NAND config */
68 #ifndef CONFIG_SYS_NAND_MAX_CHIPS
69 #define CONFIG_SYS_NAND_MAX_CHIPS               2
70 #endif
71 #define CONFIG_SYS_MAX_NAND_DEVICE              1
72 #define CONFIG_SYS_NAND_BASE                    0x40000000
73 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
74 #define CONFIG_SYS_NAND_ONFI_DETECTION
75
76 /* DMA config, needed for GPMI/MXS NAND support */
77
78 /* Environment in NAND */
79 #define CONFIG_ENV_OFFSET               (16 << 20)
80 #define CONFIG_ENV_SECT_SIZE            (128 << 10)
81 #define CONFIG_ENV_SIZE                 CONFIG_ENV_SECT_SIZE
82 #define CONFIG_ENV_OFFSET_REDUND        (CONFIG_ENV_OFFSET + (512 << 10))
83 #define CONFIG_ENV_SIZE_REDUND          CONFIG_ENV_SIZE
84
85 #else /* CONFIG_CMD_NAND */
86
87 /* Environment in MMC */
88 #define CONFIG_ENV_SIZE                 (8 << 10)
89 #define CONFIG_ENV_OFFSET               (6 * 64 * 1024)
90 #define CONFIG_SYS_MMC_ENV_DEV          0
91
92 #endif /* CONFIG_CMD_NAND */
93
94 /*
95  * U-Boot configuration
96  */
97
98 /* Board startup config */
99 #define CONFIG_MISC_INIT_R
100
101 #define CONFIG_SYS_MEMTEST_START                PHYS_SDRAM
102 #define CONFIG_SYS_MEMTEST_END                  (CONFIG_SYS_MEMTEST_START + \
103                                                  PHYS_SDRAM_SIZE - (12 << 20))
104
105 #define CONFIG_BOOTCOMMAND                      "run bootubi_scr"
106
107 /* Miscellaneous configurable options */
108 #define CONFIG_PREBOOT
109
110 /* MTD/UBI/UBIFS config */
111
112 /*
113  * Environment configuration
114  */
115
116 #if (CONFIG_SYS_NAND_MAX_CHIPS == 1)
117 #define CONFIG_COMMON_ENV_UBI                                           \
118         "setubipartition=env set ubipartition ubi\0"                    \
119         "setubirfs=env set ubirfs $ubipartition:rootfs$boot_vol\0"
120 #elif (CONFIG_SYS_NAND_MAX_CHIPS == 2)
121 #define CONFIG_COMMON_ENV_UBI                                           \
122         "setubipartition=env set ubipartition ubi$boot_vol\0"           \
123         "setubirfs=env set ubirfs ubi0:rootfs\0"
124 #endif
125
126 #define CONFIG_COMMON_ENV_MISC                                          \
127         "user=user\0"                                                   \
128         "project="CONFIG_PLATINUM_PROJECT"\0"                           \
129         "uimage=uImage\0"                                               \
130         "dtb="CONFIG_PLATINUM_CPU"-platinum-"CONFIG_PLATINUM_PROJECT".dtb\0" \
131         "serverip=serverip\0"                                           \
132         "memaddrlinux=0x10800000\0"                                     \
133         "memaddrsrc=0x11000000\0"                                       \
134         "memaddrdtb=0x12000000\0"                                       \
135         "console=ttymxc0\0"                                             \
136         "baudrate=115200\0"                                             \
137         "boot_scr=boot.uboot\0"                                         \
138         "boot_vol=0\0"                                                  \
139         "mtdids="CONFIG_MTDIDS_DEFAULT"\0"                                      \
140         "mtdparts="CONFIG_MTDPARTS_DEFAULT"\0"                                  \
141         "mmcfs=ext2\0"                                                  \
142         "mmcrootpart=1\0"                                               \
143         \
144         "setnfspath=env set nfspath /home/nfs/$user/$project/root\0"    \
145         "settftpfilelinux=env set tftpfilelinux $user/$project/$uimage\0" \
146         "settftpfiledtb=env set tftpfiledtb $user/$project/$dtb\0"      \
147         "setubifilelinux=env set ubifilelinux boot/$uimage\0"           \
148         "setubipfiledtb=env set ubifiledtb boot/$dtb\0"                 \
149         "setmmcrootdev=env set mmcrootdev /dev/mmcblk0p$mmcrootpart\0"  \
150         "setmmcfilelinux=env set mmcfilelinux /boot/$uimage\0"          \
151         "setmmcfiledtb=env set mmcfiledtb /boot/$dtb\0"                 \
152         \
153         "loadtftpkernel=dhcp $memaddrlinux $tftpfilelinux\0"            \
154         "loadtftpdtb=dhcp $memaddrdtb $tftpfiledtb\0"                   \
155         "loadubikernel=ubifsload $memaddrlinux $ubifilelinux\0"         \
156         "loadubidtb=ubifsload $memaddrdtb $ubifiledtb\0"                \
157         "loadmmckernel=${mmcfs}load mmc 0:$mmcrootpart $memaddrlinux "  \
158                 "$mmcfilelinux\0"                                       \
159         "loadmmcdtb=${mmcfs}load mmc 0:$mmcrootpart $memaddrdtb "       \
160                 "$mmcfiledtb\0"                                         \
161         \
162         "ubipart=ubi part $ubipartition\0"                              \
163         "ubimount=ubifsmount $ubirfs\0"                                 \
164         \
165         "setbootargscommon=env set bootargs $bootargs "                 \
166                 "console=$console,$baudrate enable_wait_mode=off\0"     \
167         "setbootargsmtd=env set bootargs $bootargs $mtdparts\0"         \
168         "setbootargsdhcp=env set bootargs $bootargs ip=dhcp\0"          \
169         "setbootargsubirfs=env set bootargs $bootargs "                 \
170                 "ubi.mtd=$ubipartition root=$ubirfs rootfstype=ubifs\0" \
171         "setbootargsnfsrfs=env set bootargs $bootargs root=/dev/nfs "   \
172                 "nfsroot=$serverip:$nfspath,v3,tcp\0"                   \
173         "setbootargsmmcrfs=env set bootargs $bootargs "                 \
174                 "root=$mmcrootdev rootwait rw\0"                        \
175         \
176         "bootnet=run settftpfilelinux settftpfiledtb setnfspath "       \
177                 "setbootargscommon setbootargsmtd setbootargsdhcp "     \
178                         "setbootargsnfsrfs;"                            \
179                         "run loadtftpkernel loadtftpdtb;"               \
180                         "bootm $memaddrlinux - $memaddrdtb\0"           \
181         "bootnet_ubirfs=run settftpfilelinux settftpfiledtb;"           \
182                         "run setubipartition setubirfs;"                \
183                         "run setbootargscommon setbootargsmtd "         \
184                                 "setbootargsubirfs;"                    \
185                         "run loadtftpkernel loadtftpdtb;"               \
186                         "bootm $memaddrlinux - $memaddrdtb\0"           \
187         "bootubi=run setubipartition setubirfs setubifilelinux "        \
188                                 "setubipfiledtb;"                       \
189                         "run setbootargscommon setbootargsmtd "         \
190                                 "setbootargsubirfs;"                    \
191                         "run ubipart ubimount loadubikernel loadubidtb;" \
192                         "bootm $memaddrlinux - $memaddrdtb\0"           \
193         "bootubi_scr=run setubipartition setubirfs;"                    \
194                         "run ubipart ubimount;"                         \
195                         "if ubifsload ${memaddrsrc} boot/${boot_scr}; " \
196                         "then source ${memaddrsrc}; else run bootubi; fi\0" \
197         "bootmmc=run setmmcrootdev setmmcfilelinux setmmcfiledtb "      \
198                         "setbootargscommon setbootargsmmcrfs;"          \
199                         "run loadmmckernel loadmmcdtb;"                 \
200                         "bootm $memaddrlinux - $memaddrdtb\0"           \
201         \
202         "bootcmd="CONFIG_BOOTCOMMAND"\0"
203
204 #define CONFIG_COMMON_ENV_SETTINGS                      CONFIG_COMMON_ENV_MISC \
205                                                         CONFIG_COMMON_ENV_UBI
206 #endif /* __PLATINUM_CONFIG_H__ */