arm: mvebu: ds414: Add sample u-boot update command
[platform/kernel/u-boot.git] / include / configs / ds414.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2014 Stefan Roese <sr@denx.de>
4  */
5
6 #ifndef _CONFIG_SYNOLOGY_DS414_H
7 #define _CONFIG_SYNOLOGY_DS414_H
8
9 /* Vendor kernel expects this MACH_TYPE */
10 #define CONFIG_MACH_TYPE        3036
11
12 /*
13  * High Level Configuration Options (easy to change)
14  */
15
16 /*
17  * TEXT_BASE needs to be below 16MiB, since this area is scrubbed
18  * for DDR ECC byte filling in the SPL before loading the main
19  * U-Boot into it.
20  */
21 #define CONFIG_SYS_TCLK         250000000       /* 250MHz */
22
23 /* I2C */
24 #define CONFIG_SYS_I2C
25 #define CONFIG_SYS_I2C_MVTWSI
26 #define CONFIG_I2C_MVTWSI_BASE0         MVEBU_TWSI_BASE
27 #define CONFIG_SYS_I2C_SLAVE            0x0
28 #define CONFIG_SYS_I2C_SPEED            100000
29
30 /* PCIe support */
31 #ifndef CONFIG_SPL_BUILD
32 #define CONFIG_PCI_SCAN_SHOW
33 #endif
34
35 /* USB/EHCI/XHCI configuration */
36 #define CONFIG_EHCI_IS_TDI
37
38 /*
39  * mv-common.h should be defined after CMD configs since it used them
40  * to enable certain macros
41  */
42 #include "mv-common.h"
43
44 /*
45  * Memory layout while starting into the bin_hdr via the
46  * BootROM:
47  *
48  * 0x4000.4000 - 0x4003.4000    headers space (192KiB)
49  * 0x4000.4030                  bin_hdr start address
50  * 0x4003.4000 - 0x4004.7c00    BootROM memory allocations (15KiB)
51  * 0x4007.fffc                  BootROM stack top
52  *
53  * The address space between 0x4007.fffc and 0x400f.fff is not locked in
54  * L2 cache thus cannot be used.
55  */
56
57 /* SPL */
58 /* Defines for SPL */
59 #define CONFIG_SPL_MAX_SIZE             ((128 << 10) - 0x4030)
60
61 #define CONFIG_SPL_BSS_START_ADDR       (0x40000000 + (128 << 10))
62 #define CONFIG_SPL_BSS_MAX_SIZE         (16 << 10)
63
64 #ifdef CONFIG_SPL_BUILD
65 #define CONFIG_SYS_MALLOC_SIMPLE
66 #endif
67
68 #define CONFIG_SPL_STACK                (0x40000000 + ((192 - 16) << 10))
69 #define CONFIG_SPL_BOOTROM_SAVE         (CONFIG_SPL_STACK + 4)
70
71 #if defined(CONFIG_MVEBU_SPL_BOOT_DEVICE_SPI)
72 /* SPL related SPI defines */
73 #define CONFIG_SYS_U_BOOT_OFFS          CONFIG_SYS_SPI_U_BOOT_OFFS
74 #endif
75
76 /* DS414 bus width is 32bits */
77 #define CONFIG_DDR_32BIT
78
79 /* Default Environment */
80 #define CONFIG_LOADADDR         0x80000
81 #define CONFIG_BOOTCOMMAND                                      \
82         "sf probe; "                                            \
83         "sf read ${loadaddr} 0xd0000 0x2d0000; "                \
84         "sf read ${ramdisk_addr_r} 0x3a0000 0x430000; "         \
85         "bootm ${loadaddr} ${ramdisk_addr_r}"
86
87 #define CONFIG_EXTRA_ENV_SETTINGS                               \
88         "initrd_high=0xffffffff\0"                              \
89         "ramdisk_addr_r=0x8000000\0"                            \
90         "usb0Mode=host\0usb1Mode=host\0usb2Mode=device\0"       \
91         "ethmtu=1500\0eth1mtu=1500\0"                           \
92         "update_uboot=sf probe; dhcp; "                         \
93                 "mw.b ${loadaddr} 0x0 0xd0000; "                \
94                 "tftpboot ${loadaddr} u-boot-spl.kwb; "         \
95                 "sf update ${loadaddr} 0x0 0xd0000\0"
96
97
98 /* increase autoneg timeout, my NIC sucks */
99 #define PHY_ANEG_TIMEOUT        16000
100
101 #endif /* _CONFIG_SYNOLOGY_DS414_H */