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