xref: /rk3399_rockchip-uboot/include/configs/mv-common.h (revision 31d80c77ff672e0202b4ada5215c4666c949ffc2)
154e999a3SPrafulla Wadaskar /*
254e999a3SPrafulla Wadaskar  * (C) Copyright 2010
354e999a3SPrafulla Wadaskar  * Marvell Semiconductor <www.marvell.com>
454e999a3SPrafulla Wadaskar  * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
554e999a3SPrafulla Wadaskar  *
654e999a3SPrafulla Wadaskar  * See file CREDITS for list of people who contributed to this
754e999a3SPrafulla Wadaskar  * project.
854e999a3SPrafulla Wadaskar  *
954e999a3SPrafulla Wadaskar  * This program is free software; you can redistribute it and/or
1054e999a3SPrafulla Wadaskar  * modify it under the terms of the GNU General Public License as
1154e999a3SPrafulla Wadaskar  * published by the Free Software Foundation; either version 2 of
1254e999a3SPrafulla Wadaskar  * the License, or (at your option) any later version.
1354e999a3SPrafulla Wadaskar  *
1454e999a3SPrafulla Wadaskar  * This program is distributed in the hope that it will be useful,
1554e999a3SPrafulla Wadaskar  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1654e999a3SPrafulla Wadaskar  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1754e999a3SPrafulla Wadaskar  * GNU General Public License for more details.
1854e999a3SPrafulla Wadaskar  *
1954e999a3SPrafulla Wadaskar  * You should have received a copy of the GNU General Public License
2054e999a3SPrafulla Wadaskar  * along with this program; if not, write to the Free Software
2154e999a3SPrafulla Wadaskar  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
2254e999a3SPrafulla Wadaskar  * MA 02110-1301 USA
2354e999a3SPrafulla Wadaskar  */
2454e999a3SPrafulla Wadaskar 
2554e999a3SPrafulla Wadaskar /*
2654e999a3SPrafulla Wadaskar  * This file contains Marvell Board Specific common defincations.
2754e999a3SPrafulla Wadaskar  * This file should be included in board config header file.
2854e999a3SPrafulla Wadaskar  *
2954e999a3SPrafulla Wadaskar  * It supports common definations for Kirkwood platform
3054e999a3SPrafulla Wadaskar  * TBD: support for Orion5X platforms
3154e999a3SPrafulla Wadaskar  */
3254e999a3SPrafulla Wadaskar 
3354e999a3SPrafulla Wadaskar #ifndef _MV_COMMON_H
3454e999a3SPrafulla Wadaskar #define _MV_COMMON_H
3554e999a3SPrafulla Wadaskar 
3654e999a3SPrafulla Wadaskar /*
3754e999a3SPrafulla Wadaskar  * High Level Configuration Options (easy to change)
3854e999a3SPrafulla Wadaskar  */
3954e999a3SPrafulla Wadaskar #define CONFIG_MARVELL		1
4054e999a3SPrafulla Wadaskar #define CONFIG_ARM926EJS	1	/* Basic Architecture */
4154e999a3SPrafulla Wadaskar 
4254e999a3SPrafulla Wadaskar #if defined(CONFIG_KIRKWOOD)
4354e999a3SPrafulla Wadaskar #define CONFIG_MD5	/* get_random_hex on krikwood needs MD5 support */
4454e999a3SPrafulla Wadaskar #define CONFIG_KIRKWOOD_EGIGA_INIT	/* Enable GbePort0/1 for kernel */
4554e999a3SPrafulla Wadaskar #define CONFIG_KIRKWOOD_RGMII_PAD_1V8	/* Set RGMII Pad voltage to 1.8V */
4654e999a3SPrafulla Wadaskar #define CONFIG_KIRKWOOD_PCIE_INIT       /* Enable PCIE Port0 for kernel */
4754e999a3SPrafulla Wadaskar 
48*31d80c77SPrafulla Wadaskar /*
49*31d80c77SPrafulla Wadaskar  * By default kwbimage.cfg from board specific folder is used
50*31d80c77SPrafulla Wadaskar  * If for some board, different configuration file need to be used,
51*31d80c77SPrafulla Wadaskar  * CONFIG_SYS_KWD_CONFIG should be defined in board specific header file
52*31d80c77SPrafulla Wadaskar  */
53*31d80c77SPrafulla Wadaskar #ifndef CONFIG_SYS_KWD_CONFIG
54*31d80c77SPrafulla Wadaskar #define	CONFIG_SYS_KWD_CONFIG	$(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg
55*31d80c77SPrafulla Wadaskar #endif /* CONFIG_SYS_KWD_CONFIG */
56*31d80c77SPrafulla Wadaskar 
57*31d80c77SPrafulla Wadaskar /*
58*31d80c77SPrafulla Wadaskar  * CONFIG_SYS_TEXT_BASE can be defined in board specific header file, if needed
59*31d80c77SPrafulla Wadaskar  */
60*31d80c77SPrafulla Wadaskar #ifndef CONFIG_SYS_TEXT_BASE
61*31d80c77SPrafulla Wadaskar #define	CONFIG_SYS_TEXT_BASE	0x00600000
62*31d80c77SPrafulla Wadaskar #endif /* CONFIG_SYS_TEXT_BASE */
63*31d80c77SPrafulla Wadaskar 
6454e999a3SPrafulla Wadaskar #define CONFIG_I2C_MVTWSI_BASE	KW_TWSI_BASE
6554e999a3SPrafulla Wadaskar #define MV_UART0_BASE		KW_UART0_BASE
6654e999a3SPrafulla Wadaskar #define MV_SATA_BASE		KW_SATA_BASE
6754e999a3SPrafulla Wadaskar #define MV_SATA_PORT0_OFFSET	KW_SATA_PORT0_OFFSET
6854e999a3SPrafulla Wadaskar #define MV_SATA_PORT1_OFFSET	KW_SATA_PORT1_OFFSET
6954e999a3SPrafulla Wadaskar 
7054e999a3SPrafulla Wadaskar #else
7154e999a3SPrafulla Wadaskar #error "Unsupported SoC"
7254e999a3SPrafulla Wadaskar #endif
7354e999a3SPrafulla Wadaskar 
740b20ed76SPrafulla Wadaskar /* additions for new ARM relocation support */
750b20ed76SPrafulla Wadaskar #define CONFIG_SYS_SDRAM_BASE		0x00000000
760b20ed76SPrafulla Wadaskar /* Kirkwood has 2k of Security SRAM, use it for SP */
770b20ed76SPrafulla Wadaskar #define CONFIG_SYS_INIT_SP_ADDR		0xC8012000
780b20ed76SPrafulla Wadaskar 
7954e999a3SPrafulla Wadaskar /*
8054e999a3SPrafulla Wadaskar  * CLKs configurations
8154e999a3SPrafulla Wadaskar  */
8254e999a3SPrafulla Wadaskar #define CONFIG_SYS_HZ		1000
8354e999a3SPrafulla Wadaskar 
8454e999a3SPrafulla Wadaskar /*
8554e999a3SPrafulla Wadaskar  * NS16550 Configuration
8654e999a3SPrafulla Wadaskar  */
8754e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550
8854e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_SERIAL
8954e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
9054e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
9154e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_COM1		MV_UART0_BASE
9254e999a3SPrafulla Wadaskar 
9354e999a3SPrafulla Wadaskar /*
9454e999a3SPrafulla Wadaskar  * Serial Port configuration
9554e999a3SPrafulla Wadaskar  * The following definitions let you select what serial you want to use
9654e999a3SPrafulla Wadaskar  * for your console driver.
9754e999a3SPrafulla Wadaskar  */
9854e999a3SPrafulla Wadaskar 
9954e999a3SPrafulla Wadaskar #define CONFIG_CONS_INDEX	1	/*Console on UART0 */
10054e999a3SPrafulla Wadaskar #define CONFIG_BAUDRATE			115200
10154e999a3SPrafulla Wadaskar #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, \
10254e999a3SPrafulla Wadaskar 					  115200,230400, 460800, 921600 }
10354e999a3SPrafulla Wadaskar /* auto boot */
10454e999a3SPrafulla Wadaskar #define CONFIG_BOOTDELAY	3	/* default enable autoboot */
10554e999a3SPrafulla Wadaskar 
10654e999a3SPrafulla Wadaskar /*
10754e999a3SPrafulla Wadaskar  * For booting Linux, the board info and command line data
10854e999a3SPrafulla Wadaskar  * have to be in the first 8 MB of memory, since this is
10954e999a3SPrafulla Wadaskar  * the maximum mapped by the Linux kernel during initialization.
11054e999a3SPrafulla Wadaskar  */
11154e999a3SPrafulla Wadaskar #define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs  */
11254e999a3SPrafulla Wadaskar #define CONFIG_INITRD_TAG	1	/* enable INITRD tag */
11354e999a3SPrafulla Wadaskar #define CONFIG_SETUP_MEMORY_TAGS 1	/* enable memory tag */
11454e999a3SPrafulla Wadaskar 
11554e999a3SPrafulla Wadaskar #define	CONFIG_SYS_PROMPT	"Marvell>> "	/* Command Prompt */
11654e999a3SPrafulla Wadaskar #define	CONFIG_SYS_CBSIZE	1024	/* Console I/O Buff Size */
11754e999a3SPrafulla Wadaskar #define	CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE \
11854e999a3SPrafulla Wadaskar 		+sizeof(CONFIG_SYS_PROMPT) + 16)	/* Print Buff */
11954e999a3SPrafulla Wadaskar 
12054e999a3SPrafulla Wadaskar /*
12154e999a3SPrafulla Wadaskar  * NAND configuration
12254e999a3SPrafulla Wadaskar  */
12354e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_NAND
12454e999a3SPrafulla Wadaskar #define CONFIG_NAND_KIRKWOOD
12554e999a3SPrafulla Wadaskar #define CONFIG_SYS_MAX_NAND_DEVICE	1
12654e999a3SPrafulla Wadaskar #define NAND_MAX_CHIPS			1
12754e999a3SPrafulla Wadaskar #define CONFIG_SYS_NAND_BASE		0xD8000000	/* MV_DEFADR_NANDF */
12854e999a3SPrafulla Wadaskar #define NAND_ALLOW_ERASE_ALL		1
12954e999a3SPrafulla Wadaskar #define CONFIG_SYS_64BIT_VSPRINTF	/* needed for nand_util.c */
13054e999a3SPrafulla Wadaskar #endif
13154e999a3SPrafulla Wadaskar 
13254e999a3SPrafulla Wadaskar /*
13354e999a3SPrafulla Wadaskar  * SPI Flash configuration
13454e999a3SPrafulla Wadaskar  */
13554e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_SF
13654e999a3SPrafulla Wadaskar #define CONFIG_SPI_FLASH		1
13754e999a3SPrafulla Wadaskar #define CONFIG_HARD_SPI			1
13854e999a3SPrafulla Wadaskar #define CONFIG_KIRKWOOD_SPI		1
13954e999a3SPrafulla Wadaskar #define CONFIG_SPI_FLASH_MACRONIX	1
14054e999a3SPrafulla Wadaskar #define CONFIG_ENV_SPI_BUS		0
14154e999a3SPrafulla Wadaskar #define CONFIG_ENV_SPI_CS		0
14254e999a3SPrafulla Wadaskar #define CONFIG_ENV_SPI_MAX_HZ		50000000	/*50Mhz */
14354e999a3SPrafulla Wadaskar #endif
14454e999a3SPrafulla Wadaskar 
14554e999a3SPrafulla Wadaskar /*
14654e999a3SPrafulla Wadaskar  * Size of malloc() pool
14754e999a3SPrafulla Wadaskar  */
14854e999a3SPrafulla Wadaskar #define CONFIG_SYS_MALLOC_LEN	(1024 * 1024) /* 1MiB for malloc() */
14954e999a3SPrafulla Wadaskar /* size in bytes reserved for initial data */
15054e999a3SPrafulla Wadaskar #define CONFIG_SYS_GBL_DATA_SIZE	128
15154e999a3SPrafulla Wadaskar 
15254e999a3SPrafulla Wadaskar /*
15354e999a3SPrafulla Wadaskar  * Other required minimal configurations
15454e999a3SPrafulla Wadaskar  */
15554e999a3SPrafulla Wadaskar #define CONFIG_SYS_LONGHELP
15654e999a3SPrafulla Wadaskar #define CONFIG_AUTO_COMPLETE
15754e999a3SPrafulla Wadaskar #define CONFIG_CMDLINE_EDITING
15854e999a3SPrafulla Wadaskar #define CONFIG_CONSOLE_INFO_QUIET	/* some code reduction */
15954e999a3SPrafulla Wadaskar #define CONFIG_ARCH_CPU_INIT	/* call arch_cpu_init() */
16054e999a3SPrafulla Wadaskar #define CONFIG_ARCH_MISC_INIT	/* call arch_misc_init() */
161754ae3fbSPrafulla Wadaskar #define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */
16254e999a3SPrafulla Wadaskar #define CONFIG_DISPLAY_CPUINFO	/* Display cpu info */
16354e999a3SPrafulla Wadaskar #define CONFIG_NR_DRAM_BANKS	4
16454e999a3SPrafulla Wadaskar #define CONFIG_STACKSIZE	0x00100000	/* regular stack- 1M */
16554e999a3SPrafulla Wadaskar #define CONFIG_SYS_LOAD_ADDR	0x00800000	/* default load adr- 8M */
16654e999a3SPrafulla Wadaskar #define CONFIG_SYS_MEMTEST_START 0x00400000	/* 4M */
16754e999a3SPrafulla Wadaskar #define CONFIG_SYS_MEMTEST_END	0x007fffff	/*(_8M -1) */
16854e999a3SPrafulla Wadaskar #define CONFIG_SYS_RESET_ADDRESS 0xffff0000	/* Rst Vector Adr */
16954e999a3SPrafulla Wadaskar #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
17054e999a3SPrafulla Wadaskar 
17154e999a3SPrafulla Wadaskar /*
17254e999a3SPrafulla Wadaskar  * Ethernet Driver configuration
17354e999a3SPrafulla Wadaskar  */
17454e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_NET
17554e999a3SPrafulla Wadaskar #define CONFIG_CMD_MII
17654e999a3SPrafulla Wadaskar #define CONFIG_NETCONSOLE	/* include NetConsole support   */
17754e999a3SPrafulla Wadaskar #define CONFIG_NET_MULTI	/* specify more that one ports available */
17854e999a3SPrafulla Wadaskar #define	CONFIG_MII		/* expose smi ove miiphy interface */
17954e999a3SPrafulla Wadaskar #define CONFIG_MVGBE		/* Enable Marvell Gbe Controller Driver */
18054e999a3SPrafulla Wadaskar #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN	/* detect link using phy */
18154e999a3SPrafulla Wadaskar #define CONFIG_ENV_OVERWRITE	/* ethaddr can be reprogrammed */
18254e999a3SPrafulla Wadaskar #define CONFIG_RESET_PHY_R	/* use reset_phy() to init mv8831116 PHY */
18354e999a3SPrafulla Wadaskar #endif /* CONFIG_CMD_NET */
18454e999a3SPrafulla Wadaskar 
18554e999a3SPrafulla Wadaskar /*
18654e999a3SPrafulla Wadaskar  * USB/EHCI
18754e999a3SPrafulla Wadaskar  */
18854e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_USB
18954e999a3SPrafulla Wadaskar #define CONFIG_USB_EHCI		/* Enable EHCI USB support */
19054e999a3SPrafulla Wadaskar #define CONFIG_USB_EHCI_KIRKWOOD
19154e999a3SPrafulla Wadaskar #define CONFIG_EHCI_IS_TDI
19254e999a3SPrafulla Wadaskar #define CONFIG_USB_STORAGE
19354e999a3SPrafulla Wadaskar #define CONFIG_DOS_PARTITION
19454e999a3SPrafulla Wadaskar #define CONFIG_ISO_PARTITION
19554e999a3SPrafulla Wadaskar #define CONFIG_SUPPORT_VFAT
19654e999a3SPrafulla Wadaskar #endif /* CONFIG_CMD_USB */
19754e999a3SPrafulla Wadaskar 
19854e999a3SPrafulla Wadaskar /*
19954e999a3SPrafulla Wadaskar  * IDE Support on SATA ports
20054e999a3SPrafulla Wadaskar  */
20154e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_IDE
20254e999a3SPrafulla Wadaskar #define __io
20354e999a3SPrafulla Wadaskar #define CONFIG_CMD_EXT2
20454e999a3SPrafulla Wadaskar #define CONFIG_MVSATA_IDE
20554e999a3SPrafulla Wadaskar #define CONFIG_IDE_PREINIT
20654e999a3SPrafulla Wadaskar #define CONFIG_MVSATA_IDE_USE_PORT1
20754e999a3SPrafulla Wadaskar /* Needs byte-swapping for ATA data register */
20854e999a3SPrafulla Wadaskar #define CONFIG_IDE_SWAP_IO
20954e999a3SPrafulla Wadaskar /* Data, registers and alternate blocks are at the same offset */
21054e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_DATA_OFFSET	(0x0100)
21154e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_REG_OFFSET	(0x0100)
21254e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_ALT_OFFSET	(0x0100)
21354e999a3SPrafulla Wadaskar /* Each 8-bit ATA register is aligned to a 4-bytes address */
21454e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_STRIDE		4
21554e999a3SPrafulla Wadaskar /* Controller supports 48-bits LBA addressing */
21654e999a3SPrafulla Wadaskar #define CONFIG_LBA48
21754e999a3SPrafulla Wadaskar /* CONFIG_CMD_IDE requires some #defines for ATA registers */
21854e999a3SPrafulla Wadaskar #define CONFIG_SYS_IDE_MAXBUS		2
21954e999a3SPrafulla Wadaskar #define CONFIG_SYS_IDE_MAXDEVICE	2
22054e999a3SPrafulla Wadaskar /* ATA registers base is at SATA controller base */
22154e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_BASE_ADDR	MV_SATA_BASE
22254e999a3SPrafulla Wadaskar #endif /* CONFIG_CMD_IDE */
22354e999a3SPrafulla Wadaskar 
22454e999a3SPrafulla Wadaskar /*
22554e999a3SPrafulla Wadaskar  * I2C related stuff
22654e999a3SPrafulla Wadaskar  */
22754e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_I2C
22854e999a3SPrafulla Wadaskar #define CONFIG_I2C_MVTWSI
22954e999a3SPrafulla Wadaskar #define CONFIG_SYS_I2C_SLAVE		0x0
23054e999a3SPrafulla Wadaskar #define CONFIG_SYS_I2C_SPEED		100000
23154e999a3SPrafulla Wadaskar #endif
23254e999a3SPrafulla Wadaskar 
23354e999a3SPrafulla Wadaskar /*
23454e999a3SPrafulla Wadaskar  * File system
23554e999a3SPrafulla Wadaskar  */
23654e999a3SPrafulla Wadaskar #define CONFIG_CMD_EXT2
23754e999a3SPrafulla Wadaskar #define CONFIG_CMD_JFFS2
23854e999a3SPrafulla Wadaskar #define CONFIG_CMD_FAT
23954e999a3SPrafulla Wadaskar #define CONFIG_CMD_UBI
24054e999a3SPrafulla Wadaskar #define CONFIG_CMD_UBIFS
24154e999a3SPrafulla Wadaskar #define CONFIG_RBTREE
24254e999a3SPrafulla Wadaskar #define CONFIG_MTD_DEVICE               /* needed for mtdparts commands */
24354e999a3SPrafulla Wadaskar #define CONFIG_MTD_PARTITIONS
24454e999a3SPrafulla Wadaskar #define CONFIG_CMD_MTDPARTS
24554e999a3SPrafulla Wadaskar #define CONFIG_LZO
24654e999a3SPrafulla Wadaskar 
24754e999a3SPrafulla Wadaskar #endif /* _MV_COMMON_H */
248