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 
82 /* PMIC support */
83 #define CONFIG_POWER_TPS65217
84 #define CONFIG_POWER_TPS65910
85 
86 /* SPL */
87 #define CONFIG_SPL_POWER_SUPPORT
88 #define CONFIG_SPL_YMODEM_SUPPORT
89 
90 /* Bootcount using the RTC block */
91 #define CONFIG_BOOTCOUNT_LIMIT
92 #define CONFIG_BOOTCOUNT_AM33XX
93 #define CONFIG_SYS_BOOTCOUNT_BE
94 
95 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/am33xx/u-boot-spl.lds"
96 
97 #ifndef CONFIG_SPL_USBETH_SUPPORT
98 /* To support eMMC booting */
99 #define CONFIG_STORAGE_EMMC
100 #define CONFIG_FASTBOOT_FLASH_MMC_DEV   1
101 #endif
102 
103 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT)
104 /* Remove other SPL modes. */
105 #undef CONFIG_SPL_YMODEM_SUPPORT
106 #undef CONFIG_SPL_NAND_SUPPORT
107 #undef CONFIG_SPL_MMC_SUPPORT
108 #define CONFIG_ENV_IS_NOWHERE
109 #undef CONFIG_ENV_IS_IN_NAND
110 /* disable host part of MUSB in SPL */
111 #undef CONFIG_MUSB_HOST
112 /* disable EFI partitions and partition UUID support */
113 #undef CONFIG_PARTITION_UUIDS
114 #undef CONFIG_EFI_PARTITION
115 /* General network SPL  */
116 #define CONFIG_SPL_NET_SUPPORT
117 #define CONFIG_SPL_ENV_SUPPORT
118 #define CONFIG_SPL_NET_VCI_STRING	"AM335x U-Boot SPL"
119 #endif
120 
121 #if defined(CONFIG_EMMC_BOOT)
122 #undef CONFIG_ENV_IS_NOWHERE
123 #define CONFIG_ENV_IS_IN_MMC
124 #define CONFIG_SPL_ENV_SUPPORT
125 #define CONFIG_SYS_MMC_ENV_DEV		1
126 #define CONFIG_SYS_MMC_ENV_PART		2
127 #define CONFIG_ENV_OFFSET		0x0
128 #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
129 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
130 #endif
131 
132 /* Network. */
133 #define CONFIG_PHY_GIGE
134 #define CONFIG_PHYLIB
135 #define CONFIG_PHY_SMSC
136 
137 #endif	/* ! __CONFIG_AM335X_SL50_H */
138