1 /*
2  * Copyright (C) 2014 Samsung Electronics
3  *
4  * Configuration settings for the SAMSUNG EXYNOS5 board.
5  *
6  * SPDX-License-Identifier:	GPL-2.0+
7  */
8 
9 #ifndef __CONFIG_EXYNOS4_COMMON_H
10 #define __CONFIG_EXYNOS4_COMMON_H
11 
12 #define CONFIG_EXYNOS4			/* Exynos4 Family */
13 
14 #include "exynos-common.h"
15 
16 #define CONFIG_BOARD_COMMON
17 
18 #define CONFIG_REVISION_TAG
19 
20 /* SD/MMC configuration */
21 #define CONFIG_MMC_SDMA
22 #define CONFIG_MMC_DEFAULT_DEV	0
23 
24 #undef CONFIG_CMD_ONENAND
25 #undef CONFIG_CMD_MTDPARTS
26 #define CONFIG_CMD_GPT
27 
28 /* TIZEN THOR downloader support */
29 #define CONFIG_CMD_THOR_DOWNLOAD
30 #define CONFIG_USB_FUNCTION_THOR
31 
32 #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_32M
33 #define DFU_DEFAULT_POLL_TIMEOUT 300
34 
35 /* USB Samsung's IDs */
36 #define CONFIG_G_DNL_THOR_VENDOR_NUM 0x04E8
37 #define CONFIG_G_DNL_THOR_PRODUCT_NUM 0x685D
38 #define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525
39 #define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5
40 
41 #define CONFIG_SYS_MONITOR_LEN		(256 << 10)	/* Reserve 2 sectors */
42 
43 #define CONFIG_USB_GADGET_DWC2_OTG_PHY
44 
45 #define CONFIG_USB_FUNCTION_MASS_STORAGE
46 
47 /* Common environment variables */
48 #define CONFIG_EXTRA_ENV_ITB \
49 	"loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
50 		"${kernelname}\0" \
51 	"loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
52 		"${initrdname}\0" \
53 	"loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
54 		"${fdtfile}\0" \
55 	"check_ramdisk=" \
56 		"if run loadinitrd; then " \
57 			"setenv initrd_addr ${initrdaddr};" \
58 		"else " \
59 			"setenv initrd_addr -;" \
60 		"fi;\0" \
61 	"check_dtb=" \
62 		"if run loaddtb; then " \
63 			"setenv fdt_addr ${fdtaddr};" \
64 		"else " \
65 			"setenv fdt_addr;" \
66 		"fi;\0" \
67 	"kernel_args=" \
68 		"setenv bootargs root=/dev/mmcblk${mmcdev}p${mmcrootpart}" \
69 		" ${lpj} rootwait ${console} ${meminfo} ${opts} ${lcdinfo};\0" \
70 	"boot_fit=" \
71 		"setenv kerneladdr 0x42000000;" \
72 		"setenv kernelname Image.itb;" \
73 		"run loadkernel;" \
74 		"run kernel_args;" \
75 		"bootm ${kerneladdr}#${board_name}\0" \
76 	"boot_uimg=" \
77 		"setenv kerneladdr 0x40007FC0;" \
78 		"setenv kernelname uImage;" \
79 		"run check_dtb;" \
80 		"run check_ramdisk;" \
81 		"run loadkernel;" \
82 		"run kernel_args;" \
83 		"bootm ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
84 	"boot_zimg=" \
85 		"setenv kerneladdr 0x40007FC0;" \
86 		"setenv kernelname zImage;" \
87 		"run check_dtb;" \
88 		"run check_ramdisk;" \
89 		"run loadkernel;" \
90 		"run kernel_args;" \
91 		"bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
92 	"autoboot=" \
93 		"if test -e mmc ${mmcdev}:${mmcbootpart} Image.itb; then; " \
94 			"run boot_fit;" \
95 		"elif test -e mmc ${mmcdev}:${mmcbootpart} zImage; then; " \
96 			"run boot_zimg;" \
97 		"elif test -e mmc ${mmcdev}:${mmcbootpart} uImage; then; " \
98 			"run boot_uimg;" \
99 		"fi;\0"
100 
101 #endif	/* __CONFIG_EXYNOS4_COMMON_H */
102