apalis-tk1: add update_uboot wrapper
[platform/kernel/u-boot.git] / include / configs / colibri_vf.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright 2015-2019 Toradex, Inc.
4  *
5  * Configuration settings for the Toradex VF50/VF61 modules.
6  *
7  * Based on vf610twr.h:
8  * Copyright 2013 Freescale Semiconductor, Inc.
9  */
10
11 #ifndef __CONFIG_H
12 #define __CONFIG_H
13
14 #include <asm/arch/imx-regs.h>
15 #include <linux/sizes.h>
16
17 #define CONFIG_SYS_FSL_CLK
18
19 #define CONFIG_SKIP_LOWLEVEL_INIT
20
21 #ifdef CONFIG_VIDEO_FSL_DCU_FB
22 #define CONFIG_SPLASH_SCREEN_ALIGN
23 #define CONFIG_VIDEO_LOGO
24 #define CONFIG_VIDEO_BMP_LOGO
25 #define CONFIG_SYS_FSL_DCU_LE
26
27 #define CONFIG_SYS_DCU_ADDR             DCU0_BASE_ADDR
28 #define DCU_LAYER_MAX_NUM               64
29 #endif
30
31 /* Size of malloc() pool */
32 #define CONFIG_SYS_MALLOC_LEN           (CONFIG_ENV_SIZE + 2 * SZ_1M)
33
34 /* Allow to overwrite serial and ethaddr */
35 #define CONFIG_ENV_OVERWRITE
36
37 /* NAND support */
38 #define CONFIG_SYS_NAND_ONFI_DETECTION
39 #define CONFIG_SYS_MAX_NAND_DEVICE      1
40
41 #define CONFIG_IPADDR           192.168.10.2
42 #define CONFIG_NETMASK          255.255.255.0
43 #define CONFIG_SERVERIP         192.168.10.1
44
45 #define CONFIG_LOADADDR                 0x80008000
46 #define CONFIG_FDTADDR                  0x84000000
47
48 /* We boot from the gfxRAM area of the OCRAM. */
49 #define CONFIG_BOARD_SIZE_LIMIT         520192
50
51 #define MEM_LAYOUT_ENV_SETTINGS \
52         "bootm_size=0x10000000\0" \
53         "fdt_addr_r=0x82000000\0" \
54         "fdt_high=0xffffffff\0" \
55         "initrd_high=0xffffffff\0" \
56         "kernel_addr_r=0x81000000\0" \
57         "pxefile_addr_r=0x87100000\0" \
58         "ramdisk_addr_r=0x82100000\0" \
59         "scriptaddr=0x87000000\0"
60
61 #define UBOOT_UPDATE \
62         "update_uboot=nand erase.part u-boot && " \
63                 "nand write ${loadaddr} u-boot ${filesize}\0" \
64
65 #define NFS_BOOTCMD \
66         "nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
67         "nfsboot=run setup; " \
68         "setenv bootargs ${defargs} ${nfsargs} ${mtdparts} " \
69         "${setupargs} ${vidargs}; echo Booting from NFS...;" \
70         "dhcp ${kernel_addr_r} && "     \
71         "tftp ${fdt_addr_r} ${soc}-colibri-${fdt_board}.dtb && " \
72         "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
73
74 #define SD_BOOTCMD \
75         "set_sdargs=setenv sdargs root=PARTUUID=${uuid} ro rootwait\0"  \
76         "sdboot=run setup; run sdfinduuid; run set_sdargs; " \
77         "setenv bootargs ${defargs} ${sdargs} ${mtdparts} " \
78         "${setupargs} ${vidargs}; echo Booting from MMC/SD card...; " \
79         "load mmc ${sddev}:${sdbootpart} ${kernel_addr_r} ${kernel_file} && " \
80         "load mmc ${sddev}:${sdbootpart} ${fdt_addr_r} " \
81                 "${soc}-colibri-${fdt_board}.dtb && " \
82         "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
83         "sdbootpart=1\0" \
84         "sddev=0\0" \
85         "sdfinduuid=part uuid mmc ${sddev}:${sdrootpart} uuid\0" \
86         "sdrootpart=2\0"
87
88
89 #define UBI_BOOTCMD \
90         "ubiargs=ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs " \
91         "ubi.fm_autoconvert=1\0" \
92         "ubiboot=run setup; " \
93         "setenv bootargs ${defargs} ${ubiargs} ${mtdparts} "   \
94         "${setupargs} ${vidargs}; echo Booting from NAND...; " \
95         "ubi part ubi && " \
96         "ubi read ${kernel_addr_r} kernel && " \
97         "ubi read ${fdt_addr_r} dtb && " \
98         "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
99
100 #define CONFIG_BOOTCOMMAND "run ubiboot; " \
101         "setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run distro_bootcmd;"
102
103 #define BOOT_TARGET_DEVICES(func) \
104         func(MMC, mmc, 0) \
105         func(USB, usb, 0) \
106         func(DHCP, dhcp, na)
107 #include <config_distro_bootcmd.h>
108 #undef BOOTENV_RUN_NET_USB_START
109 #define BOOTENV_RUN_NET_USB_START ""
110
111 #define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4"
112
113 #define CONFIG_EXTRA_ENV_SETTINGS \
114         BOOTENV \
115         MEM_LAYOUT_ENV_SETTINGS \
116         NFS_BOOTCMD \
117         SD_BOOTCMD \
118         UBI_BOOTCMD \
119         UBOOT_UPDATE \
120         "console=ttyLP0\0" \
121         "defargs=user_debug=30\0" \
122         "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
123         "fdt_board=eval-v3\0" \
124         "fdt_fixup=;\0" \
125         "kernel_file=zImage\0" \
126         "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
127         "setsdupdate=mmc rescan && set interface mmc && " \
128                 "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
129                 "source ${loadaddr}\0" \
130         "setup=setenv setupargs console=tty1 console=${console}" \
131                 ",${baudrate}n8 ${memargs}\0" \
132         "setupdate=run setsdupdate || run setusbupdate\0" \
133         "setusbupdate=usb start && set interface usb && " \
134                 "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
135                 "source ${loadaddr}\0" \
136         "splashpos=m,m\0" \
137         "video-mode=dcufb:640x480-16@60,monitor=lcd\0"
138
139 /* Miscellaneous configurable options */
140 #define CONFIG_SYS_CBSIZE               1024    /* Console I/O Buffer Size */
141 #define CONFIG_SYS_BARGSIZE             CONFIG_SYS_CBSIZE
142
143 #define CONFIG_SYS_MEMTEST_START        0x80010000
144 #define CONFIG_SYS_MEMTEST_END          0x87C00000
145
146 #define CONFIG_SYS_LOAD_ADDR            CONFIG_LOADADDR
147 #define CONFIG_SYS_HZ                   1000
148
149 /* Physical memory map */
150 #define PHYS_SDRAM                      (0x80000000)
151 #define PHYS_SDRAM_SIZE                 (256 * SZ_1M)
152
153 #define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
154 #define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
155 #define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
156
157 #define CONFIG_SYS_INIT_SP_OFFSET \
158         (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
159 #define CONFIG_SYS_INIT_SP_ADDR \
160         (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
161
162 /* Environment organization */
163 #ifdef CONFIG_ENV_IS_IN_NAND
164 #define CONFIG_ENV_RANGE                (4 * 64 * 2048)
165 #endif
166
167 /* USB Host Support */
168 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
169 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
170
171 /* USB DFU */
172 #define CONFIG_SYS_DFU_DATA_BUF_SIZE (SZ_1M)
173
174 #endif /* __CONFIG_H */