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_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 33 #include <asm/arch/omap.h> 34 35 /* NS16550 Configuration */ 36 #define CONFIG_SYS_NS16550 37 #ifdef CONFIG_SPL_BUILD 38 #define CONFIG_SYS_NS16550_SERIAL 39 #define CONFIG_SYS_NS16550_REG_SIZE (-4) 40 #endif 41 #define CONFIG_SYS_NS16550_CLK 48000000 42 43 /* Network defines. */ 44 #define CONFIG_CMD_NET /* 'bootp' and 'tftp' */ 45 #define CONFIG_CMD_DHCP 46 #define CONFIG_CMD_MII 47 #define CONFIG_BOOTP_DNS /* Configurable parts of CMD_DHCP */ 48 #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 53 #define CONFIG_CMD_PING 54 #define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */ 55 #define CONFIG_MII /* Required in net/eth.c */ 56 57 /* 58 * RTC related defines. To use bootcount you must set bootlimit in the 59 * environment to a non-zero value and enable CONFIG_BOOTCOUNT_LIMIT 60 * in the board config. 61 */ 62 #define CONFIG_SYS_BOOTCOUNT_ADDR 0x44E3E000 63 64 /* Enable the HW watchdog, since we can use this with bootcount */ 65 #define CONFIG_HW_WATCHDOG 66 #define CONFIG_OMAP_WATCHDOG 67 68 /* 69 * 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 */ 75 #define CONFIG_SPL_TEXT_BASE 0x402F0400 76 #define CONFIG_SPL_MAX_SIZE (0x4030B800 - CONFIG_SPL_TEXT_BASE) 77 #define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \ 78 (128 << 20)) 79 80 /* Enable the watchdog inside of SPL */ 81 #define CONFIG_SPL_WATCHDOG_SUPPORT 82 83 /* 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 91 /* 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 100 #ifdef CONFIG_NAND 101 #define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ 102 #endif 103 104 /* Now bring in the rest of the common code. */ 105 #include <configs/ti_armv7_common.h> 106 107 #endif /* __CONFIG_TI_AM335X_COMMON_H__ */ 108