blob: 598526bf95feb0709fdef7ad179838b0aabdf2a7 [file] [log] [blame]
Tom Rini87694552013-08-09 11:22:17 -04001/*
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
Tom Rini87694552013-08-09 11:22:17 -040016#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 */
Heiko Schocher16678eb2013-11-04 14:05:00 +010020#define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
Tom Rini87694552013-08-09 11:22:17 -040021
Simon Glass1a44cd82014-10-22 21:37:14 -060022#ifndef CONFIG_SPL_BUILD
Ruchika Guptab37b46f2015-01-23 16:01:59 +053023#ifndef CONFIG_DM
Simon Glass1a44cd82014-10-22 21:37:14 -060024# define CONFIG_DM
Ruchika Guptab37b46f2015-01-23 16:01:59 +053025#endif
Simon Glass1a44cd82014-10-22 21:37:14 -060026# define CONFIG_CMD_DM
27# define CONFIG_DM_GPIO
28# define CONFIG_DM_SERIAL
29# define CONFIG_OMAP_SERIAL
30# define CONFIG_SYS_MALLOC_F_LEN (1 << 10)
31#endif
32
Tom Rini87694552013-08-09 11:22:17 -040033#include <asm/arch/omap.h>
34
35/* NS16550 Configuration */
36#define CONFIG_SYS_NS16550
Simon Glass1a44cd82014-10-22 21:37:14 -060037#ifdef CONFIG_SPL_BUILD
Tom Rini87694552013-08-09 11:22:17 -040038#define CONFIG_SYS_NS16550_SERIAL
39#define CONFIG_SYS_NS16550_REG_SIZE (-4)
Simon Glass1a44cd82014-10-22 21:37:14 -060040#endif
Tom Rini87694552013-08-09 11:22:17 -040041#define CONFIG_SYS_NS16550_CLK 48000000
42
43/* Network defines. */
Tom Rinia7a06402013-08-20 08:53:46 -040044#define CONFIG_CMD_NET /* 'bootp' and 'tftp' */
Tom Rini87694552013-08-09 11:22:17 -040045#define CONFIG_CMD_DHCP
Mugunthan V Na35ad512014-02-18 07:31:55 -050046#define CONFIG_CMD_MII
Tom Rinia7a06402013-08-20 08:53:46 -040047#define CONFIG_BOOTP_DNS /* Configurable parts of CMD_DHCP */
Tom Rini87694552013-08-09 11:22:17 -040048#define CONFIG_BOOTP_DNS2
49#define CONFIG_BOOTP_SEND_HOSTNAME
50#define CONFIG_BOOTP_GATEWAY
51#define CONFIG_BOOTP_SUBNETMASK
52#define CONFIG_NET_RETRY_COUNT 10
Tom Rinia7a06402013-08-20 08:53:46 -040053#define CONFIG_CMD_PING
54#define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */
55#define CONFIG_MII /* Required in net/eth.c */
Tom Rini87694552013-08-09 11:22:17 -040056
Tom Rinic27efde2013-08-20 08:53:43 -040057/*
Tom Rinia1c143f2013-08-28 09:00:30 -040058 * RTC related defines. To use bootcount you must set bootlimit in the
Tom Riniabcaa6e2013-11-08 13:53:14 -050059 * environment to a non-zero value and enable CONFIG_BOOTCOUNT_LIMIT
60 * in the board config.
Tom Rinia1c143f2013-08-28 09:00:30 -040061 */
Tom Rinia1c143f2013-08-28 09:00:30 -040062#define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000
63
Tom Rini68439182013-10-01 12:32:04 -040064/* Enable the HW watchdog, since we can use this with bootcount */
65#define CONFIG_HW_WATCHDOG
66#define CONFIG_OMAP_WATCHDOG
67
Tom Rinia1c143f2013-08-28 09:00:30 -040068/*
Tom Rinic27efde2013-08-20 08:53:43 -040069 * SPL related defines. The Public RAM memory map the ROM defines the
70 * area between 0x402F0400 and 0x4030B800 as a download area and
71 * 0x4030B800 to 0x4030CE00 as a public stack area. The ROM also
72 * supports X-MODEM loading via UART, and we leverage this and then use
73 * Y-MODEM to load u-boot.img, when booted over UART.
74 */
Tom Rini87694552013-08-09 11:22:17 -040075#define CONFIG_SPL_TEXT_BASE 0x402F0400
Tom Rinic27efde2013-08-20 08:53:43 -040076#define CONFIG_SPL_MAX_SIZE (0x4030B800 - CONFIG_SPL_TEXT_BASE)
Tom Rinid3289aa2014-04-03 07:52:53 -040077#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \
78 (128 << 20))
Tom Rini87694552013-08-09 11:22:17 -040079
Tom Rini68439182013-10-01 12:32:04 -040080/* Enable the watchdog inside of SPL */
81#define CONFIG_SPL_WATCHDOG_SUPPORT
82
Tom Rini87694552013-08-09 11:22:17 -040083/*
84 * Since SPL did pll and ddr initialization for us,
85 * we don't need to do it twice.
86 */
87#if !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_NOR_BOOT)
88#define CONFIG_SKIP_LOWLEVEL_INIT
89#endif
90
Tom Rini196311d2014-05-21 12:57:22 -040091/*
92 * When building U-Boot such that there is no previous loader
93 * we need to call board_early_init_f. This is taken care of in
94 * s_init when we have SPL used.
95 */
96#if !defined(CONFIG_SKIP_LOWLEVEL_INIT) && !defined(CONFIG_SPL)
97#define CONFIG_BOARD_EARLY_INIT_F
98#endif
99
Enric Balletbò i Serra70e71b62013-12-06 21:30:20 +0100100#ifdef CONFIG_NAND
101#define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */
102#endif
103
Tom Rini87694552013-08-09 11:22:17 -0400104/* Now bring in the rest of the common code. */
105#include <configs/ti_armv7_common.h>
106
107#endif /* __CONFIG_TI_AM335X_COMMON_H__ */