odroid-xu3: config: enable DFU/THOR/UMS by add configs and environment
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Fri, 22 May 2015 16:14:27 +0000 (18:14 +0200)
committerLukasz Majewski <l.majewski@samsung.com>
Mon, 8 Jun 2015 13:26:05 +0000 (15:26 +0200)
This patch enables all functions required to use DFU/THOR and UMS:
- DWC3: core, gadget, Samsung DWC3 PHY
- USB gadget: endpoint autoconf, downloader, DFU, THOR, UMS

The CONFIG_EXTRA_ENV_SETINGS from exynos5-common.h is redefined
and appended by dfu environment setting and some system settings.

The boot is still using $distro_boot as previous.

Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
include/configs/odroid_xu3.h

index c395020919fbd5948d92e0b8bfa79017e238a8d7..cf17f3d06e9cb3b237f9181e7c43747347ef156c 100644 (file)
@@ -35,8 +35,8 @@
 
 #undef CONFIG_ENV_SIZE
 #undef CONFIG_ENV_OFFSET
-#define CONFIG_ENV_SIZE                        4096
-#define CONFIG_ENV_OFFSET              (SZ_1K * 1280) /* 1.25 MiB offset */
+#define CONFIG_ENV_SIZE                        (SZ_1K * 16)
+#define CONFIG_ENV_OFFSET              (SZ_1K * 3136) /* ~3 MiB offset */
 
 #define CONFIG_SYS_INIT_SP_ADDR        (CONFIG_SYS_LOAD_ADDR - 0x1000000)
 
 #define CONFIG_USB_EHCI
 #define CONFIG_USB_EHCI_EXYNOS
 
+/* DWC3 */
+#define CONFIG_USB_DWC3
+#define CONFIG_USB_DWC3_GADGET
+#define CONFIG_USB_DWC3_PHY_SAMSUNG
+
+/* USB gadget */
+#define CONFIG_USB_GADGET
+#define CONFIG_USB_GADGET_DUALSPEED
+#define CONFIG_USB_GADGET_VBUS_DRAW    2
+
+/* Downloader */
+#define CONFIG_G_DNL_VENDOR_NUM                0x04E8
+#define CONFIG_G_DNL_PRODUCT_NUM       0x6601
+#define CONFIG_G_DNL_MANUFACTURER      "Samsung"
+#define CONFIG_USBDOWNLOAD_GADGET
+
+/* DFU */
+#define CONFIG_DFU_FUNCTION
+#define CONFIG_DFU_MMC
+#define CONFIG_CMD_DFU
+#define CONFIG_SYS_DFU_DATA_BUF_SIZE   SZ_32M
+#define DFU_DEFAULT_POLL_TIMEOUT       300
+
+/* THOR */
+#define CONFIG_G_DNL_THOR_VENDOR_NUM   CONFIG_G_DNL_VENDOR_NUM
+#define CONFIG_G_DNL_THOR_PRODUCT_NUM  0x685D
+#define CONFIG_THOR_FUNCTION
+#define CONFIG_CMD_THOR_DOWNLOAD
+
+/* UMS */
+#define CONFIG_G_DNL_UMS_VENDOR_NUM    0x0525
+#define CONFIG_G_DNL_UMS_PRODUCT_NUM   0xA4A5
+#define CONFIG_USB_GADGET_MASS_STORAGE
+#define CONFIG_CMD_USB_MASS_STORAGE
+
 /* FIXME: MUST BE REMOVED AFTER TMU IS TURNED ON */
 #undef CONFIG_EXYNOS_TMU
 #undef CONFIG_TMU_CMD_DTT
 
+#define CONFIG_DFU_ALT_SYSTEM               \
+       "uImage fat 0 1;"                   \
+       "zImage fat 0 1;"                   \
+       "Image.itb fat 0 1;"                \
+       "uInitrd fat 0 1;"                  \
+       "boot.scr fat 0 1;"                 \
+       "boot.cmd fat 0 1;"                 \
+       "exynos5422-odroidxu3.dtb fat 0 1;" \
+       "boot part 0 1;"                    \
+       "root part 0 2\0"
+
+#define CONFIG_DFU_ALT_BOOT_EMMC           \
+       "u-boot raw 0x3e 0x800 mmcpart 1;" \
+       "bl1 raw 0x0 0x1e mmcpart 1;"      \
+       "bl2 raw 0x1e 0x1d mmcpart 1;"     \
+       "tzsw raw 0x83e 0x200 mmcpart 1;"  \
+       "params.bin raw 0x1880 0x20\0"
+
+#define CONFIG_DFU_ALT_BOOT_SD   \
+       "u-boot raw 0x3f 0x800;" \
+       "bl1 raw 0x1 0x1e;"      \
+       "bl2 raw 0x1f 0x1d;"     \
+       "tzsw raw 0x83f 0x200;"  \
+       "params.bin raw 0x1880 0x20\0"
+
+/* Enable: board/samsung/common/misc.c to use set_dfu_alt_info() */
+#define CONFIG_MISC_COMMON
+#define CONFIG_SET_DFU_ALT_INFO
+#define CONFIG_SET_DFU_ALT_BUF_LEN     (SZ_1K)
+
+/* Define new extra env settings, including DFU settings */
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+       EXYNOS_DEVICE_SETTINGS \
+       EXYNOS_FDTFILE_SETTING \
+       MEM_LAYOUT_ENV_SETTINGS \
+       BOOTENV \
+       "bootdelay=0\0" \
+       "rootfstype=ext4\0" \
+       "console=" CONFIG_DEFAULT_CONSOLE \
+       "fdtfile=exynos5422-odroidxu3.dtb\0" \
+       "boardname=odroidxu3\0" \
+       "mmcbootdev=0\0" \
+       "mmcrootdev=0\0" \
+       "mmcbootpart=1\0" \
+       "mmcrootpart=2\0" \
+       "dfu_alt_system="CONFIG_DFU_ALT_SYSTEM \
+       "dfu_alt_info=Autoset by THOR/DFU command run.\0"
+
 #endif /* __CONFIG_H */