1 /*
2  * am335x_sl50.h
3  *
4  * Copyright (C) 2015 Toby Churchill Ltd - http://www.toby-churchill.com/
5  *
6  * SPDX-License-Identifier:	GPL-2.0+
7  */
8 
9 #ifndef __CONFIG_AM335X_EVM_H
10 #define __CONFIG_AM335X_EVM_H
11 
12 #include <configs/ti_am335x_common.h>
13 #undef CONFIG_BOOTDELAY
14 
15 #ifndef CONFIG_SPL_BUILD
16 # define CONFIG_TIMESTAMP
17 # define CONFIG_LZO
18 #endif
19 
20 #define CONFIG_SYS_BOOTM_LEN		(16 << 20)
21 
22 /*#define CONFIG_MACH_TYPE		3589	 Until the next sync */
23 #define CONFIG_BOARD_LATE_INIT
24 
25 /* Clock Defines */
26 #define V_OSCK				24000000  /* Clock output from T2 */
27 #define V_SCLK				(V_OSCK)
28 
29 /* Always 128 KiB env size */
30 #define CONFIG_ENV_SIZE			(128 << 10)
31 
32 /* Enhance our eMMC support / experience. */
33 #define CONFIG_CMD_GPT
34 #define CONFIG_EFI_PARTITION
35 
36 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
37 
38 #ifndef CONFIG_SPL_BUILD
39 
40 #include <config_distro_defaults.h>
41 
42 #define MEM_LAYOUT_ENV_SETTINGS \
43 	"scriptaddr=0x80000000\0" \
44 	"pxefile_addr_r=0x80100000\0" \
45 	"kernel_addr_r=0x82000000\0" \
46 	"fdt_addr_r=0x88000000\0" \
47 	"ramdisk_addr_r=0x88080000\0" \
48 
49 #define BOOT_TARGET_DEVICES(func) \
50 	func(MMC, mmc, 0) \
51 	func(MMC, mmc, 1)
52 
53 #define AM335XX_BOARD_FDTFILE \
54 	"fdtfile=am335x-sl50.dtb\0" \
55 
56 #include <config_distro_bootcmd.h>
57 
58 #define CONFIG_EXTRA_ENV_SETTINGS \
59 	AM335XX_BOARD_FDTFILE \
60 	MEM_LAYOUT_ENV_SETTINGS \
61 	BOOTENV
62 
63 #endif
64 
65 /* NS16550 Configuration */
66 #define CONFIG_SYS_NS16550_COM1		0x44e09000	/* Base EVM has UART0 */
67 #define CONFIG_SYS_NS16550_COM2		0x48022000	/* UART1 */
68 #define CONFIG_SYS_NS16550_COM3		0x48024000	/* UART2 */
69 #define CONFIG_SYS_NS16550_COM4		0x481a6000	/* UART3 */
70 #define CONFIG_SYS_NS16550_COM5		0x481a8000	/* UART4 */
71 #define CONFIG_SYS_NS16550_COM6		0x481aa000	/* UART5 */
72 #define CONFIG_BAUDRATE			115200
73 
74 #define CONFIG_CMD_EEPROM
75 #define CONFIG_ENV_EEPROM_IS_ON_I2C
76 #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Main EEPROM */
77 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
78 
79 /* PMIC support */
80 #define CONFIG_POWER_TPS65217
81 #define CONFIG_POWER_TPS65910
82 
83 /* SPL */
84 #define CONFIG_SPL_POWER_SUPPORT
85 #define CONFIG_SPL_YMODEM_SUPPORT
86 
87 /* Bootcount using the RTC block */
88 #define CONFIG_BOOTCOUNT_LIMIT
89 #define CONFIG_BOOTCOUNT_AM33XX
90 #define CONFIG_SYS_BOOTCOUNT_BE
91 
92 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"
93 
94 #ifndef CONFIG_SPL_USBETH_SUPPORT
95 /* To support eMMC booting */
96 #define CONFIG_STORAGE_EMMC
97 #define CONFIG_FASTBOOT_FLASH_MMC_DEV   1
98 #endif
99 
100 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
101 /* Remove other SPL modes. */
102 #undef CONFIG_SPL_YMODEM_SUPPORT
103 #undef CONFIG_SPL_NAND_SUPPORT
104 #undef CONFIG_SPL_MMC_SUPPORT
105 #define CONFIG_ENV_IS_NOWHERE
106 #undef CONFIG_ENV_IS_IN_NAND
107 /* disable host part of MUSB in SPL */
108 #undef CONFIG_MUSB_HOST
109 /* disable EFI partitions and partition UUID support */
110 #undef CONFIG_PARTITION_UUIDS
111 #undef CONFIG_EFI_PARTITION
112 /* General network SPL  */
113 #define CONFIG_SPL_NET_SUPPORT
114 #define CONFIG_SPL_ENV_SUPPORT
115 #define CONFIG_SPL_NET_VCI_STRING	"AM335x U-Boot SPL"
116 #endif
117 
118 #if defined(CONFIG_EMMC_BOOT)
119 #undef CONFIG_ENV_IS_NOWHERE
120 #define CONFIG_ENV_IS_IN_MMC
121 #define CONFIG_SPL_ENV_SUPPORT
122 #define CONFIG_SYS_MMC_ENV_DEV		1
123 #define CONFIG_SYS_MMC_ENV_PART		2
124 #define CONFIG_ENV_OFFSET		0x0
125 #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
126 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
127 #endif
128 
129 /* Network. */
130 #define CONFIG_PHY_GIGE
131 #define CONFIG_PHYLIB
132 #define CONFIG_PHY_SMSC
133 
134 #endif	/* ! __CONFIG_AM335X_SL50_H */
135