blob: ac810b0cbc548bcd3932af3182b330a9ebabfd59 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Stefan Roese2bae75a2015-04-25 06:29:56 +02002/*
3 * Copyright (C) 2014 Stefan Roese <sr@denx.de>
Stefan Roese2bae75a2015-04-25 06:29:56 +02004 */
5
6#ifndef _CONFIG_DB_88F6820_GP_H
7#define _CONFIG_DB_88F6820_GP_H
8
9/*
10 * High Level Configuration Options (easy to change)
11 */
Stefan Roese2bae75a2015-04-25 06:29:56 +020012
Stefan Roese2923c2d2015-08-06 14:27:36 +020013/*
14 * TEXT_BASE needs to be below 16MiB, since this area is scrubbed
15 * for DDR ECC byte filling in the SPL before loading the main
16 * U-Boot into it.
17 */
Stefan Roese2bae75a2015-04-25 06:29:56 +020018#define CONFIG_SYS_TCLK 250000000 /* 250MHz */
19
20/*
21 * Commands configuration
22 */
Stefan Roese2bae75a2015-04-25 06:29:56 +020023
24/* I2C */
25#define CONFIG_SYS_I2C
26#define CONFIG_SYS_I2C_MVTWSI
27#define CONFIG_I2C_MVTWSI_BASE0 MVEBU_TWSI_BASE
28#define CONFIG_SYS_I2C_SLAVE 0x0
29#define CONFIG_SYS_I2C_SPEED 100000
30
31/* SPI NOR flash default params, used by sf commands */
32#define CONFIG_SF_DEFAULT_SPEED 1000000
33#define CONFIG_SF_DEFAULT_MODE SPI_MODE_3
Stefan Roese2bae75a2015-04-25 06:29:56 +020034
Stefan Roesee80f1e82015-06-29 14:58:11 +020035/*
36 * SDIO/MMC Card Configuration
37 */
Stefan Roesee80f1e82015-06-29 14:58:11 +020038#define CONFIG_SYS_MMC_BASE MVEBU_SDIO_BASE
39
Stefan Roese7cbaff92015-06-29 14:58:14 +020040/*
41 * SATA/SCSI/AHCI configuration
42 */
Stefan Roese7cbaff92015-06-29 14:58:14 +020043#define CONFIG_SCSI_AHCI_PLAT
44#define CONFIG_SYS_SCSI_MAX_SCSI_ID 2
45#define CONFIG_SYS_SCSI_MAX_LUN 1
46#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
47 CONFIG_SYS_SCSI_MAX_LUN)
48
Stefan Roese59565732015-06-29 14:58:16 +020049/* USB/EHCI configuration */
Stefan Roese59565732015-06-29 14:58:16 +020050#define CONFIG_EHCI_IS_TDI
51
Stefan Roese2bae75a2015-04-25 06:29:56 +020052/* Environment in SPI NOR flash */
Stefan Roese2bae75a2015-04-25 06:29:56 +020053#define CONFIG_ENV_OFFSET (1 << 20) /* 1MiB in */
54#define CONFIG_ENV_SIZE (64 << 10) /* 64KiB */
55#define CONFIG_ENV_SECT_SIZE (256 << 10) /* 256KiB sectors */
56
Stefan Roese2bae75a2015-04-25 06:29:56 +020057#define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */
58
Stefan Roesece2cb1d2015-08-11 12:50:58 +020059/* PCIe support */
Stefan Roese64512232015-11-25 07:37:00 +010060#ifndef CONFIG_SPL_BUILD
Stefan Roesece2cb1d2015-08-11 12:50:58 +020061#define CONFIG_PCI_MVEBU
Stefan Roesece2cb1d2015-08-11 12:50:58 +020062#define CONFIG_PCI_SCAN_SHOW
Stefan Roese64512232015-11-25 07:37:00 +010063#endif
Stefan Roesece2cb1d2015-08-11 12:50:58 +020064
Kevin Smith3fd38af2015-05-18 16:09:46 +000065/* Keep device tree and initrd in lower memory so the kernel can access them */
66#define CONFIG_EXTRA_ENV_SETTINGS \
67 "fdt_high=0x10000000\0" \
68 "initrd_high=0x10000000\0"
69
Stefan Roese9e30b312015-03-25 13:35:15 +010070/* SPL */
Stefan Roese7853c502015-07-20 11:20:40 +020071/*
72 * Select the boot device here
73 *
74 * Currently supported are:
75 * SPL_BOOT_SPI_NOR_FLASH - Booting via SPI NOR flash
76 * SPL_BOOT_SDIO_MMC_CARD - Booting via SDIO/MMC card (partition 1)
77 */
78#define SPL_BOOT_SPI_NOR_FLASH 1
79#define SPL_BOOT_SDIO_MMC_CARD 2
80#define CONFIG_SPL_BOOT_DEVICE SPL_BOOT_SPI_NOR_FLASH
81
Stefan Roese9e30b312015-03-25 13:35:15 +010082/* Defines for SPL */
Stefan Roese9e30b312015-03-25 13:35:15 +010083#define CONFIG_SPL_SIZE (140 << 10)
84#define CONFIG_SPL_TEXT_BASE 0x40000030
85#define CONFIG_SPL_MAX_SIZE (CONFIG_SPL_SIZE - 0x0030)
86
87#define CONFIG_SPL_BSS_START_ADDR (0x40000000 + CONFIG_SPL_SIZE)
88#define CONFIG_SPL_BSS_MAX_SIZE (16 << 10)
89
Stefan Roese64512232015-11-25 07:37:00 +010090#ifdef CONFIG_SPL_BUILD
91#define CONFIG_SYS_MALLOC_SIMPLE
92#endif
Stefan Roese9e30b312015-03-25 13:35:15 +010093
94#define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
95#define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
96
Stefan Roese7853c502015-07-20 11:20:40 +020097#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SPI_NOR_FLASH
Stefan Roese9e30b312015-03-25 13:35:15 +010098/* SPL related SPI defines */
Stefan Roese09a54c02015-11-20 13:51:57 +010099#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x24000
Stefan Roese7853c502015-07-20 11:20:40 +0200100#define CONFIG_SYS_U_BOOT_OFFS CONFIG_SYS_SPI_U_BOOT_OFFS
101#endif
102
103#if CONFIG_SPL_BOOT_DEVICE == SPL_BOOT_SDIO_MMC_CARD
104/* SPL related MMC defines */
Stefan Roese7853c502015-07-20 11:20:40 +0200105#define CONFIG_SYS_MMC_U_BOOT_OFFS (160 << 10)
106#define CONFIG_SYS_U_BOOT_OFFS CONFIG_SYS_MMC_U_BOOT_OFFS
Stefan Roese7853c502015-07-20 11:20:40 +0200107#ifdef CONFIG_SPL_BUILD
108#define CONFIG_FIXED_SDHCI_ALIGNED_BUFFER 0x00180000 /* in SDRAM */
109#endif
110#endif
Stefan Roese9e30b312015-03-25 13:35:15 +0100111
Stefan Roese2bae75a2015-04-25 06:29:56 +0200112/*
113 * mv-common.h should be defined after CMD configs since it used them
114 * to enable certain macros
115 */
116#include "mv-common.h"
117
118#endif /* _CONFIG_DB_88F6820_GP_H */