cm-t54: add EEPROM support and MAC address handling
[platform/kernel/u-boot.git] / include / configs / cm_t54.h
1 /*
2  * Config file for Compulab CM-T54 board
3  *
4  * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
5  *
6  * Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
7  *
8  * SPDX-License-Identifier:     GPL-2.0+
9  */
10
11 #ifndef __CONFIG_CM_T54_H
12 #define __CONFIG_CM_T54_H
13
14 #define CONFIG_CM_T54
15 #define CONFIG_DRAM_2G
16
17 #include <configs/ti_omap5_common.h>
18
19 #undef CONFIG_MISC_INIT_R
20 #undef CONFIG_SPL_OS_BOOT
21
22 /* Device Tree defines */
23 #define CONFIG_OF_LIBFDT
24 #define CONFIG_OF_BOARD_SETUP
25
26 /* EEPROM related defines */
27 #define CONFIG_SYS_I2C_OMAP34XX
28 #define CONFIG_SYS_I2C_EEPROM_ADDR      0x50
29 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN  1
30
31 /* Enable SD/MMC CD and WP GPIOs */
32 #define OMAP_HSMMC_USE_GPIO
33
34 /* UART setup */
35 #define CONFIG_CONS_INDEX               4
36 #define CONFIG_SYS_NS16550_COM4         UART4_BASE
37 #define CONFIG_BAUDRATE                 115200
38
39 /* SD/MMC RAW boot */
40 #undef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
41 #undef CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS
42
43 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200 /* 0x40000 - 256 KB */
44 #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS      0x300 /* 384 KB */
45
46 /* MMC ENV related defines */
47 #undef CONFIG_ENV_OFFSET
48 #undef CONFIG_ENV_SIZE
49
50 #define CONFIG_ENV_IS_IN_MMC
51 #define CONFIG_SYS_MMC_ENV_DEV          1               /* SLOT2: eMMC(1) */
52 #define CONFIG_ENV_OFFSET               0xc0000         /* (in bytes) 768 KB */
53 #define CONFIG_ENV_SIZE                 (16 << 10)      /* 16 KB */
54 #define CONFIG_ENV_OFFSET_REDUND        (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
55 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
56 #define CONFIG_CMD_SAVEENV
57
58 /* Enhance our eMMC support / experience. */
59 #define CONFIG_HSMMC2_8BIT
60 #define CONFIG_SUPPORT_EMMC_BOOT
61
62 /* USB UHH support options */
63 #define CONFIG_CMD_USB
64 #define CONFIG_USB_HOST
65 #define CONFIG_USB_EHCI
66 #define CONFIG_USB_EHCI_OMAP
67 #define CONFIG_USB_STORAGE
68 #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS      3
69 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
70
71 #define CONFIG_OMAP_EHCI_PHY2_RESET_GPIO        76 /* HSIC2 HUB #RESET */
72 #define CONFIG_OMAP_EHCI_PHY3_RESET_GPIO        83 /* HSIC3 ETH #RESET */
73
74 /* Enabled commands */
75 #define CONFIG_CMD_DHCP         /* DHCP Support                 */
76 #define CONFIG_CMD_NET          /* bootp, tftpboot, rarpboot    */
77 #define CONFIG_CMD_PING
78
79 /* USB Networking options */
80 #define CONFIG_USB_HOST_ETHER
81 #define CONFIG_USB_ETHER_SMSC95XX
82 #define CONFIG_USB_ETHER_RNDIS
83 #define CONFIG_USB_ETHER_ASIX
84 #define CONFIG_USB_ETHER_MCS7830
85
86 /* Max time to hold reset on this board, see doc/README.omap-reset-time */
87 #define CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC        16296
88
89 /*
90  * Miscellaneous configurable options
91  */
92 #undef CONFIG_SYS_AUTOLOAD
93 #undef CONFIG_SYS_PROMPT
94 #undef CONFIG_EXTRA_ENV_SETTINGS
95 #undef CONFIG_BOOTCOMMAND
96 #undef CONFIG_BOOTDELAY
97
98 #define CONFIG_BOOTDELAY                3
99 #define CONFIG_SYS_AUTOLOAD             "no"
100 #define CONFIG_SYS_PROMPT               "CM-T54 # "
101
102 #define CONFIG_EXTRA_ENV_SETTINGS \
103         DEFAULT_LINUX_BOOT_ENV \
104         "baudrate=115200\0" \
105         "bootdelay=3\0" \
106         "autoload=no\0" \
107         "bootscr=bootscr.img\0" \
108         "fdtfile=omap5-sbc-t54.dtb\0" \
109         "kernel=zImage-cm-t54\0" \
110         "ramdisk=ramdisk-cm-t54.img\0" \
111         "console=ttyO3\0" \
112         "ramdisksize=16384\0" \
113         "mmcdev=0\0" \
114         "mmcroot=/dev/mmcblk1p2\0" \
115         "mmcargs=setenv bootargs console=${console} " \
116                 "root=${mmcroot} rw rootwait\0" \
117         "ramroot=/dev/ram0\0" \
118         "ramargs=setenv bootargs console=${console} " \
119                 "root=${ramroot} ramdisk_size=${ramdisksize} rw\0" \
120         "mmcloadkernel=load mmc ${mmcdev} ${loadaddr} ${kernel}\0" \
121         "mmcloadfdt=load mmc ${mmcdev} ${fdtaddr} ${fdtfile}\0" \
122         "mmcloadramdisk=load mmc ${mmcdev} ${rdaddr} ${ramdisk}\0" \
123         "mmcloadbootscript=load mmc ${mmcdev} ${loadaddr} ${bootsrc}\0" \
124         "mmcbootscript=echo Running bootscript from mmc${mmcdev}...; " \
125                         "source ${loadaddr}\0" \
126         "mmcbootlinux=echo Booting from mmc${mmcdev} ...; " \
127                         "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \
128         "mmcboot=if mmc dev ${mmcdev} && mmc rescan; then " \
129                         "if run mmcloadbootscript; " \
130                                 "then run mmcbootscript; " \
131                         "fi; " \
132                         "if run mmcloadkernel; then " \
133                                 "if run mmcloadfdt; then " \
134                                         "if run mmcloadramdisk; then " \
135                                                 "run ramargs; " \
136                                                 "run mmcbootlinux; " \
137                                         "fi; " \
138                                         "run mmcargs; " \
139                                         "setenv rdaddr - ; " \
140                                         "run mmcbootlinux; " \
141                                 "fi; " \
142                         "fi; " \
143                 "fi;\0"
144
145 #define CONFIG_BOOTCOMMAND \
146         "bootcmd=run mmcboot || setenv mmcdev 1; setenv mmcroot /dev/mmcblk0p2; run mmcboot;"
147
148 #endif /* __CONFIG_CM_T54_H */