blob: 2dc9b1dea3032d53819f46df34e10dae6bf6a208 [file] [log] [blame]
Stefan Roese93e6bf42014-10-22 12:13:17 +02001/*
2 * (C) Copyright 2011
3 * Marvell Semiconductor <www.marvell.com>
4 * Written-by: Lei Wen <leiwen@marvell.com>
5 *
6 * SPDX-License-Identifier: GPL-2.0+
7 */
8
9/*
10 * This file should be included in board config header file.
11 *
Stefan Roese7cd34842015-04-25 06:29:49 +020012 * It supports common definitions for MVEBU platforms
Stefan Roese93e6bf42014-10-22 12:13:17 +020013 */
14
Stefan Roeseebda3ec2015-04-25 06:29:47 +020015#ifndef _MVEBU_CONFIG_H
16#define _MVEBU_CONFIG_H
Stefan Roese93e6bf42014-10-22 12:13:17 +020017
18#include <asm/arch/soc.h>
19
Stefan Roese479f9af2016-02-10 07:23:00 +010020#if defined(CONFIG_ARMADA_XP) || defined(CONFIG_ARMADA_375) \
21 || defined(CONFIG_ARMADA_38X)
Stefan Roeseeb083e52015-12-21 13:56:33 +010022/*
23 * Set this for the common xor register definitions needed in dram.c
24 * for A38x as well here.
25 */
Stefan Roese93e6bf42014-10-22 12:13:17 +020026#define MV88F78X60 /* for the DDR training bin_hdr code */
Stefan Roese7cd34842015-04-25 06:29:49 +020027#endif
Stefan Roese93e6bf42014-10-22 12:13:17 +020028
Stefan Roesec14c93f2015-11-18 12:44:29 +010029#define CONFIG_SYS_L2_PL310
30
31#ifdef CONFIG_SPL_BUILD
32#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
33#endif
34
Stefan Roese93e6bf42014-10-22 12:13:17 +020035/*
36 * By default kwbimage.cfg from board specific folder is used
37 * If for some board, different configuration file need to be used,
38 * CONFIG_SYS_KWD_CONFIG should be defined in board specific header file
39 */
40#ifndef CONFIG_SYS_KWD_CONFIG
41#define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage.cfg
42#endif /* CONFIG_SYS_KWD_CONFIG */
43
44/* Add target to build it automatically upon "make" */
Stefan Roesea4fc5d42015-01-19 11:33:49 +010045#ifdef CONFIG_SPL
46#define CONFIG_BUILD_TARGET "u-boot-spl.kwb"
Stefan Roesea4fc5d42015-01-19 11:33:49 +010047#endif
Stefan Roese93e6bf42014-10-22 12:13:17 +020048
49/* end of 16M scrubbed by training in bootrom */
50#define CONFIG_SYS_INIT_SP_ADDR 0x00FF0000
51#define CONFIG_NR_DRAM_BANKS_MAX 2
52
53#define MV_UART_CONSOLE_BASE MVEBU_UART0_BASE
54
55/*
56 * SPI Flash configuration
57 */
58#ifdef CONFIG_CMD_SF
Stefan Roese49e7d772015-11-20 13:51:57 +010059#define CONFIG_KIRKWOOD_SPI
Stefan Roese93e6bf42014-10-22 12:13:17 +020060#ifndef CONFIG_ENV_SPI_BUS
61# define CONFIG_ENV_SPI_BUS 0
62#endif
63#ifndef CONFIG_ENV_SPI_CS
64# define CONFIG_ENV_SPI_CS 0
65#endif
66#ifndef CONFIG_ENV_SPI_MAX_HZ
67# define CONFIG_ENV_SPI_MAX_HZ 50000000
68#endif
69#endif
70
Stefan Roese49e7d772015-11-20 13:51:57 +010071/* Needed for SPI NOR booting in SPL */
72#define CONFIG_DM_SEQ_ALIAS 1
73
Stefan Roese93e6bf42014-10-22 12:13:17 +020074/*
75 * Ethernet Driver configuration
76 */
77#ifdef CONFIG_CMD_NET
Stefan Roese93e6bf42014-10-22 12:13:17 +020078#define CONFIG_MII /* expose smi ove miiphy interface */
Stefan Roese479f9af2016-02-10 07:23:00 +010079#if !defined(CONFIG_ARMADA_375)
Stefan Roese93e6bf42014-10-22 12:13:17 +020080#define CONFIG_MVNETA /* Enable Marvell Gbe Controller Driver */
Stefan Roese479f9af2016-02-10 07:23:00 +010081#endif
Stefan Roese93e6bf42014-10-22 12:13:17 +020082#define CONFIG_ENV_OVERWRITE /* ethaddr can be reprogrammed */
Stefan Roeseb3efc572015-11-24 09:15:22 +010083#define CONFIG_ARP_TIMEOUT 200
84#define CONFIG_NET_RETRY_COUNT 50
Stefan Roese93e6bf42014-10-22 12:13:17 +020085#endif /* CONFIG_CMD_NET */
86
87/*
88 * I2C related stuff
89 */
90#ifdef CONFIG_CMD_I2C
91#ifndef CONFIG_SYS_I2C_SOFT
92#define CONFIG_I2C_MVTWSI
93#endif
94#define CONFIG_SYS_I2C_SLAVE 0x0
95#define CONFIG_SYS_I2C_SPEED 100000
96#endif
97
Stefan Roese64174892015-10-22 12:36:31 +020098/* Use common timer */
99#define CONFIG_SYS_TIMER_COUNTS_DOWN
100#define CONFIG_SYS_TIMER_COUNTER (MVEBU_TIMER_BASE + 0x14)
101#define CONFIG_SYS_TIMER_RATE 25000000
102
Stefan Roeseebda3ec2015-04-25 06:29:47 +0200103#endif /* __MVEBU_CONFIG_H */