]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/configs/ti_am335x_common.h
35332b5ed82929c646902c04f4bc14be134041ba
[karo-tx-uboot.git] / include / configs / ti_am335x_common.h
1 /*
2  * ti_am335x_common.h
3  *
4  * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7  *
8  * For more details, please see the technical documents listed at
9  * http://www.ti.com/product/am3359#technicaldocuments
10  */
11
12 #ifndef __CONFIG_TI_AM335X_COMMON_H__
13 #define __CONFIG_TI_AM335X_COMMON_H__
14
15 #define CONFIG_AM33XX
16 #define CONFIG_ARCH_CPU_INIT
17 #define CONFIG_SYS_CACHELINE_SIZE       64
18 #define CONFIG_MAX_RAM_BANK_SIZE        (1024 << 20)    /* 1GB */
19 #define CONFIG_SYS_TIMERBASE            0x48040000      /* Use Timer2 */
20 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
21
22 #ifndef CONFIG_SPL_BUILD
23 #ifndef CONFIG_DM
24 # define CONFIG_DM
25 #endif
26 # define CONFIG_DM_GPIO
27 # define CONFIG_DM_SERIAL
28 # define CONFIG_OMAP_SERIAL
29 # define CONFIG_SYS_MALLOC_F_LEN        (1 << 10)
30 #endif
31
32 #include <asm/arch/omap.h>
33
34 /* NS16550 Configuration */
35 #define CONFIG_SYS_NS16550
36 #ifdef CONFIG_SPL_BUILD
37 #define CONFIG_SYS_NS16550_SERIAL
38 #define CONFIG_SYS_NS16550_REG_SIZE     (-4)
39 #endif
40 #define CONFIG_SYS_NS16550_CLK          48000000
41
42 /* Network defines. */
43 #define CONFIG_CMD_NET                  /* 'bootp' and 'tftp' */
44 #define CONFIG_CMD_DHCP
45 #define CONFIG_CMD_MII
46 #define CONFIG_BOOTP_DNS                /* Configurable parts of CMD_DHCP */
47 #define CONFIG_BOOTP_DNS2
48 #define CONFIG_BOOTP_SEND_HOSTNAME
49 #define CONFIG_BOOTP_GATEWAY
50 #define CONFIG_BOOTP_SUBNETMASK
51 #define CONFIG_NET_RETRY_COUNT         10
52 #define CONFIG_CMD_PING
53 #define CONFIG_DRIVER_TI_CPSW           /* Driver for IP block */
54 #define CONFIG_MII                      /* Required in net/eth.c */
55
56 /*
57  * RTC related defines. To use bootcount you must set bootlimit in the
58  * environment to a non-zero value and enable CONFIG_BOOTCOUNT_LIMIT
59  * in the board config.
60  */
61 #define CONFIG_SYS_BOOTCOUNT_ADDR       0x44E3E000
62
63 /* Enable the HW watchdog, since we can use this with bootcount */
64 #define CONFIG_HW_WATCHDOG
65 #define CONFIG_OMAP_WATCHDOG
66
67 /*
68  * SPL related defines.  The Public RAM memory map the ROM defines the
69  * area between 0x402F0400 and 0x4030B800 as a download area and
70  * 0x4030B800 to 0x4030CE00 as a public stack area.  The ROM also
71  * supports X-MODEM loading via UART, and we leverage this and then use
72  * Y-MODEM to load u-boot.img, when booted over UART.
73  */
74 #define CONFIG_SPL_TEXT_BASE            0x402F0400
75 #define CONFIG_SPL_MAX_SIZE             (0x4030B800 - CONFIG_SPL_TEXT_BASE)
76 #define CONFIG_SYS_SPL_ARGS_ADDR        (CONFIG_SYS_SDRAM_BASE + \
77                                          (128 << 20))
78
79 /* Enable the watchdog inside of SPL */
80 #define CONFIG_SPL_WATCHDOG_SUPPORT
81
82 /*
83  * Since SPL did pll and ddr initialization for us,
84  * we don't need to do it twice.
85  */
86 #if !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_NOR_BOOT)
87 #define CONFIG_SKIP_LOWLEVEL_INIT
88 #endif
89
90 /*
91  * When building U-Boot such that there is no previous loader
92  * we need to call board_early_init_f.  This is taken care of in
93  * s_init when we have SPL used.
94  */
95 #if !defined(CONFIG_SKIP_LOWLEVEL_INIT) && !defined(CONFIG_SPL)
96 #define CONFIG_BOARD_EARLY_INIT_F
97 #endif
98
99 #ifdef CONFIG_NAND
100 #define CONFIG_SPL_NAND_AM33XX_BCH      /* ELM support */
101 #endif
102
103 /* Now bring in the rest of the common code. */
104 #include <configs/ti_armv7_common.h>
105
106 #endif  /* __CONFIG_TI_AM335X_COMMON_H__ */