1 /*
2  * Copyright (C) 2013 Samsung Electronics
3  * Hyungwon Hwang <human.hwang@samsung.com>
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7 
8 #ifndef __CONFIG_ODROID_XU3_H
9 #define __CONFIG_ODROID_XU3_H
10 
11 #include "exynos5420-common.h"
12 
13 #define CONFIG_SYS_PROMPT		"ODROID-XU3 # "
14 #define CONFIG_IDENT_STRING		" for ODROID-XU3"
15 
16 #define CONFIG_BOARD_COMMON
17 
18 #define CONFIG_SYS_SDRAM_BASE		0x40000000
19 #define CONFIG_SYS_TEXT_BASE		0x43E00000
20 
21 /* select serial console configuration */
22 #define CONFIG_SERIAL2			/* use SERIAL 2 */
23 
24 #define TZPC_BASE_OFFSET		0x10000
25 
26 #define CONFIG_CMD_MMC
27 
28 #define CONFIG_NR_DRAM_BANKS	8
29 #define SDRAM_BANK_SIZE		(256UL << 20UL)	/* 256 MB */
30 /* Reserve the last 22 MiB for the secure firmware */
31 #define CONFIG_SYS_MEM_TOP_HIDE		(22UL << 20UL)
32 #define CONFIG_TZSW_RESERVED_DRAM_SIZE	CONFIG_SYS_MEM_TOP_HIDE
33 
34 #define CONFIG_ENV_IS_IN_MMC
35 
36 #undef CONFIG_ENV_SIZE
37 #undef CONFIG_ENV_OFFSET
38 #define CONFIG_ENV_SIZE			(SZ_1K * 16)
39 #define CONFIG_ENV_OFFSET		(SZ_1K * 3136) /* ~3 MiB offset */
40 
41 #define CONFIG_SYS_INIT_SP_ADDR        (CONFIG_SYS_LOAD_ADDR - 0x1000000)
42 
43 #define CONFIG_DEFAULT_CONSOLE		"console=ttySAC2,115200n8\0"
44 
45 /* USB */
46 #define CONFIG_USB_EHCI
47 #define CONFIG_USB_EHCI_EXYNOS
48 
49 /* DWC3 */
50 #define CONFIG_USB_DWC3
51 #define CONFIG_USB_DWC3_GADGET
52 #define CONFIG_USB_DWC3_PHY_SAMSUNG
53 
54 /* USB gadget */
55 #define CONFIG_USB_GADGET
56 #define CONFIG_USB_GADGET_DUALSPEED
57 #define CONFIG_USB_GADGET_VBUS_DRAW	2
58 
59 /* Downloader */
60 #define CONFIG_G_DNL_VENDOR_NUM		0x04E8
61 #define CONFIG_G_DNL_PRODUCT_NUM	0x6601
62 #define CONFIG_G_DNL_MANUFACTURER	"Samsung"
63 #define CONFIG_USBDOWNLOAD_GADGET
64 
65 /* DFU */
66 #define CONFIG_DFU_FUNCTION
67 #define CONFIG_DFU_MMC
68 #define CONFIG_CMD_DFU
69 #define CONFIG_SYS_DFU_DATA_BUF_SIZE	SZ_32M
70 #define DFU_DEFAULT_POLL_TIMEOUT	300
71 
72 /* THOR */
73 #define CONFIG_G_DNL_THOR_VENDOR_NUM	CONFIG_G_DNL_VENDOR_NUM
74 #define CONFIG_G_DNL_THOR_PRODUCT_NUM	0x685D
75 #define CONFIG_THOR_FUNCTION
76 #define CONFIG_CMD_THOR_DOWNLOAD
77 
78 /* UMS */
79 #define CONFIG_G_DNL_UMS_VENDOR_NUM	0x0525
80 #define CONFIG_G_DNL_UMS_PRODUCT_NUM	0xA4A5
81 #define CONFIG_USB_GADGET_MASS_STORAGE
82 #define CONFIG_CMD_USB_MASS_STORAGE
83 
84 /* FIXME: MUST BE REMOVED AFTER TMU IS TURNED ON */
85 #undef CONFIG_EXYNOS_TMU
86 #undef CONFIG_TMU_CMD_DTT
87 
88 #define CONFIG_DFU_ALT_SYSTEM               \
89 	"uImage fat 0 1;"                   \
90 	"zImage fat 0 1;"                   \
91 	"Image.itb fat 0 1;"                \
92 	"uInitrd fat 0 1;"                  \
93 	"boot.scr fat 0 1;"                 \
94 	"boot.cmd fat 0 1;"                 \
95 	"exynos5422-odroidxu3.dtb fat 0 1;" \
96 	"boot part 0 1;"                    \
97 	"root part 0 2\0"
98 
99 #define CONFIG_DFU_ALT_BOOT_EMMC           \
100 	"u-boot raw 0x3e 0x800 mmcpart 1;" \
101 	"bl1 raw 0x0 0x1e mmcpart 1;"      \
102 	"bl2 raw 0x1e 0x1d mmcpart 1;"     \
103 	"tzsw raw 0x83e 0x200 mmcpart 1;"  \
104 	"params.bin raw 0x1880 0x20\0"
105 
106 #define CONFIG_DFU_ALT_BOOT_SD   \
107 	"u-boot raw 0x3f 0x800;" \
108 	"bl1 raw 0x1 0x1e;"      \
109 	"bl2 raw 0x1f 0x1d;"     \
110 	"tzsw raw 0x83f 0x200;"  \
111 	"params.bin raw 0x1880 0x20\0"
112 
113 /* Enable: board/samsung/common/misc.c to use set_dfu_alt_info() */
114 #define CONFIG_MISC_COMMON
115 #define CONFIG_SET_DFU_ALT_INFO
116 #define CONFIG_SET_DFU_ALT_BUF_LEN	(SZ_1K)
117 
118 /* Define new extra env settings, including DFU settings */
119 #undef CONFIG_EXTRA_ENV_SETTINGS
120 #define CONFIG_EXTRA_ENV_SETTINGS \
121 	EXYNOS_DEVICE_SETTINGS \
122 	EXYNOS_FDTFILE_SETTING \
123 	MEM_LAYOUT_ENV_SETTINGS \
124 	BOOTENV \
125 	"bootdelay=0\0" \
126 	"rootfstype=ext4\0" \
127 	"console=" CONFIG_DEFAULT_CONSOLE \
128 	"fdtfile=exynos5422-odroidxu3.dtb\0" \
129 	"boardname=odroidxu3\0" \
130 	"mmcbootdev=0\0" \
131 	"mmcrootdev=0\0" \
132 	"mmcbootpart=1\0" \
133 	"mmcrootpart=2\0" \
134 	"dfu_alt_system="CONFIG_DFU_ALT_SYSTEM \
135 	"dfu_alt_info=Autoset by THOR/DFU command run.\0"
136 
137 #endif	/* __CONFIG_H */
138