xref: /rk3399_rockchip-uboot/include/configs/mv-common.h (revision 754ae3fbb76dc429ef932bbd04b432196efe45ff)
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 
4854e999a3SPrafulla Wadaskar #define CONFIG_I2C_MVTWSI_BASE	KW_TWSI_BASE
4954e999a3SPrafulla Wadaskar #define MV_UART0_BASE		KW_UART0_BASE
5054e999a3SPrafulla Wadaskar #define MV_SATA_BASE		KW_SATA_BASE
5154e999a3SPrafulla Wadaskar #define MV_SATA_PORT0_OFFSET	KW_SATA_PORT0_OFFSET
5254e999a3SPrafulla Wadaskar #define MV_SATA_PORT1_OFFSET	KW_SATA_PORT1_OFFSET
5354e999a3SPrafulla Wadaskar 
5454e999a3SPrafulla Wadaskar #else
5554e999a3SPrafulla Wadaskar #error "Unsupported SoC"
5654e999a3SPrafulla Wadaskar #endif
5754e999a3SPrafulla Wadaskar 
580b20ed76SPrafulla Wadaskar /* additions for new ARM relocation support */
590b20ed76SPrafulla Wadaskar #define CONFIG_SYS_SDRAM_BASE		0x00000000
600b20ed76SPrafulla Wadaskar /* Kirkwood has 2k of Security SRAM, use it for SP */
610b20ed76SPrafulla Wadaskar #define CONFIG_SYS_INIT_SP_ADDR		0xC8012000
620b20ed76SPrafulla Wadaskar 
6354e999a3SPrafulla Wadaskar /*
6454e999a3SPrafulla Wadaskar  * CLKs configurations
6554e999a3SPrafulla Wadaskar  */
6654e999a3SPrafulla Wadaskar #define CONFIG_SYS_HZ		1000
6754e999a3SPrafulla Wadaskar 
6854e999a3SPrafulla Wadaskar /*
6954e999a3SPrafulla Wadaskar  * NS16550 Configuration
7054e999a3SPrafulla Wadaskar  */
7154e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550
7254e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_SERIAL
7354e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
7454e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_CLK		CONFIG_SYS_TCLK
7554e999a3SPrafulla Wadaskar #define CONFIG_SYS_NS16550_COM1		MV_UART0_BASE
7654e999a3SPrafulla Wadaskar 
7754e999a3SPrafulla Wadaskar /*
7854e999a3SPrafulla Wadaskar  * Serial Port configuration
7954e999a3SPrafulla Wadaskar  * The following definitions let you select what serial you want to use
8054e999a3SPrafulla Wadaskar  * for your console driver.
8154e999a3SPrafulla Wadaskar  */
8254e999a3SPrafulla Wadaskar 
8354e999a3SPrafulla Wadaskar #define CONFIG_CONS_INDEX	1	/*Console on UART0 */
8454e999a3SPrafulla Wadaskar #define CONFIG_BAUDRATE			115200
8554e999a3SPrafulla Wadaskar #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, \
8654e999a3SPrafulla Wadaskar 					  115200,230400, 460800, 921600 }
8754e999a3SPrafulla Wadaskar /* auto boot */
8854e999a3SPrafulla Wadaskar #define CONFIG_BOOTDELAY	3	/* default enable autoboot */
8954e999a3SPrafulla Wadaskar 
9054e999a3SPrafulla Wadaskar /*
9154e999a3SPrafulla Wadaskar  * For booting Linux, the board info and command line data
9254e999a3SPrafulla Wadaskar  * have to be in the first 8 MB of memory, since this is
9354e999a3SPrafulla Wadaskar  * the maximum mapped by the Linux kernel during initialization.
9454e999a3SPrafulla Wadaskar  */
9554e999a3SPrafulla Wadaskar #define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs  */
9654e999a3SPrafulla Wadaskar #define CONFIG_INITRD_TAG	1	/* enable INITRD tag */
9754e999a3SPrafulla Wadaskar #define CONFIG_SETUP_MEMORY_TAGS 1	/* enable memory tag */
9854e999a3SPrafulla Wadaskar 
9954e999a3SPrafulla Wadaskar #define	CONFIG_SYS_PROMPT	"Marvell>> "	/* Command Prompt */
10054e999a3SPrafulla Wadaskar #define	CONFIG_SYS_CBSIZE	1024	/* Console I/O Buff Size */
10154e999a3SPrafulla Wadaskar #define	CONFIG_SYS_PBSIZE	(CONFIG_SYS_CBSIZE \
10254e999a3SPrafulla Wadaskar 		+sizeof(CONFIG_SYS_PROMPT) + 16)	/* Print Buff */
10354e999a3SPrafulla Wadaskar 
10454e999a3SPrafulla Wadaskar /*
10554e999a3SPrafulla Wadaskar  * NAND configuration
10654e999a3SPrafulla Wadaskar  */
10754e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_NAND
10854e999a3SPrafulla Wadaskar #define CONFIG_NAND_KIRKWOOD
10954e999a3SPrafulla Wadaskar #define CONFIG_SYS_MAX_NAND_DEVICE	1
11054e999a3SPrafulla Wadaskar #define NAND_MAX_CHIPS			1
11154e999a3SPrafulla Wadaskar #define CONFIG_SYS_NAND_BASE		0xD8000000	/* MV_DEFADR_NANDF */
11254e999a3SPrafulla Wadaskar #define NAND_ALLOW_ERASE_ALL		1
11354e999a3SPrafulla Wadaskar #define CONFIG_SYS_64BIT_VSPRINTF	/* needed for nand_util.c */
11454e999a3SPrafulla Wadaskar #endif
11554e999a3SPrafulla Wadaskar 
11654e999a3SPrafulla Wadaskar /*
11754e999a3SPrafulla Wadaskar  * SPI Flash configuration
11854e999a3SPrafulla Wadaskar  */
11954e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_SF
12054e999a3SPrafulla Wadaskar #define CONFIG_SPI_FLASH		1
12154e999a3SPrafulla Wadaskar #define CONFIG_HARD_SPI			1
12254e999a3SPrafulla Wadaskar #define CONFIG_KIRKWOOD_SPI		1
12354e999a3SPrafulla Wadaskar #define CONFIG_SPI_FLASH_MACRONIX	1
12454e999a3SPrafulla Wadaskar #define CONFIG_ENV_SPI_BUS		0
12554e999a3SPrafulla Wadaskar #define CONFIG_ENV_SPI_CS		0
12654e999a3SPrafulla Wadaskar #define CONFIG_ENV_SPI_MAX_HZ		50000000	/*50Mhz */
12754e999a3SPrafulla Wadaskar #endif
12854e999a3SPrafulla Wadaskar 
12954e999a3SPrafulla Wadaskar /*
13054e999a3SPrafulla Wadaskar  * Size of malloc() pool
13154e999a3SPrafulla Wadaskar  */
13254e999a3SPrafulla Wadaskar #define CONFIG_SYS_MALLOC_LEN	(1024 * 1024) /* 1MiB for malloc() */
13354e999a3SPrafulla Wadaskar /* size in bytes reserved for initial data */
13454e999a3SPrafulla Wadaskar #define CONFIG_SYS_GBL_DATA_SIZE	128
13554e999a3SPrafulla Wadaskar 
13654e999a3SPrafulla Wadaskar /*
13754e999a3SPrafulla Wadaskar  * Other required minimal configurations
13854e999a3SPrafulla Wadaskar  */
13954e999a3SPrafulla Wadaskar #define CONFIG_SYS_LONGHELP
14054e999a3SPrafulla Wadaskar #define CONFIG_AUTO_COMPLETE
14154e999a3SPrafulla Wadaskar #define CONFIG_CMDLINE_EDITING
14254e999a3SPrafulla Wadaskar #define CONFIG_CONSOLE_INFO_QUIET	/* some code reduction */
14354e999a3SPrafulla Wadaskar #define CONFIG_ARCH_CPU_INIT	/* call arch_cpu_init() */
14454e999a3SPrafulla Wadaskar #define CONFIG_ARCH_MISC_INIT	/* call arch_misc_init() */
145*754ae3fbSPrafulla Wadaskar #define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */
14654e999a3SPrafulla Wadaskar #define CONFIG_DISPLAY_CPUINFO	/* Display cpu info */
14754e999a3SPrafulla Wadaskar #define CONFIG_NR_DRAM_BANKS	4
14854e999a3SPrafulla Wadaskar #define CONFIG_STACKSIZE	0x00100000	/* regular stack- 1M */
14954e999a3SPrafulla Wadaskar #define CONFIG_SYS_LOAD_ADDR	0x00800000	/* default load adr- 8M */
15054e999a3SPrafulla Wadaskar #define CONFIG_SYS_MEMTEST_START 0x00400000	/* 4M */
15154e999a3SPrafulla Wadaskar #define CONFIG_SYS_MEMTEST_END	0x007fffff	/*(_8M -1) */
15254e999a3SPrafulla Wadaskar #define CONFIG_SYS_RESET_ADDRESS 0xffff0000	/* Rst Vector Adr */
15354e999a3SPrafulla Wadaskar #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
15454e999a3SPrafulla Wadaskar 
15554e999a3SPrafulla Wadaskar /*
15654e999a3SPrafulla Wadaskar  * Ethernet Driver configuration
15754e999a3SPrafulla Wadaskar  */
15854e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_NET
15954e999a3SPrafulla Wadaskar #define CONFIG_CMD_MII
16054e999a3SPrafulla Wadaskar #define CONFIG_NETCONSOLE	/* include NetConsole support   */
16154e999a3SPrafulla Wadaskar #define CONFIG_NET_MULTI	/* specify more that one ports available */
16254e999a3SPrafulla Wadaskar #define	CONFIG_MII		/* expose smi ove miiphy interface */
16354e999a3SPrafulla Wadaskar #define CONFIG_MVGBE		/* Enable Marvell Gbe Controller Driver */
16454e999a3SPrafulla Wadaskar #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN	/* detect link using phy */
16554e999a3SPrafulla Wadaskar #define CONFIG_ENV_OVERWRITE	/* ethaddr can be reprogrammed */
16654e999a3SPrafulla Wadaskar #define CONFIG_RESET_PHY_R	/* use reset_phy() to init mv8831116 PHY */
16754e999a3SPrafulla Wadaskar #endif /* CONFIG_CMD_NET */
16854e999a3SPrafulla Wadaskar 
16954e999a3SPrafulla Wadaskar /*
17054e999a3SPrafulla Wadaskar  * USB/EHCI
17154e999a3SPrafulla Wadaskar  */
17254e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_USB
17354e999a3SPrafulla Wadaskar #define CONFIG_USB_EHCI		/* Enable EHCI USB support */
17454e999a3SPrafulla Wadaskar #define CONFIG_USB_EHCI_KIRKWOOD
17554e999a3SPrafulla Wadaskar #define CONFIG_EHCI_IS_TDI
17654e999a3SPrafulla Wadaskar #define CONFIG_USB_STORAGE
17754e999a3SPrafulla Wadaskar #define CONFIG_DOS_PARTITION
17854e999a3SPrafulla Wadaskar #define CONFIG_ISO_PARTITION
17954e999a3SPrafulla Wadaskar #define CONFIG_SUPPORT_VFAT
18054e999a3SPrafulla Wadaskar #endif /* CONFIG_CMD_USB */
18154e999a3SPrafulla Wadaskar 
18254e999a3SPrafulla Wadaskar /*
18354e999a3SPrafulla Wadaskar  * IDE Support on SATA ports
18454e999a3SPrafulla Wadaskar  */
18554e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_IDE
18654e999a3SPrafulla Wadaskar #define __io
18754e999a3SPrafulla Wadaskar #define CONFIG_CMD_EXT2
18854e999a3SPrafulla Wadaskar #define CONFIG_MVSATA_IDE
18954e999a3SPrafulla Wadaskar #define CONFIG_IDE_PREINIT
19054e999a3SPrafulla Wadaskar #define CONFIG_MVSATA_IDE_USE_PORT1
19154e999a3SPrafulla Wadaskar /* Needs byte-swapping for ATA data register */
19254e999a3SPrafulla Wadaskar #define CONFIG_IDE_SWAP_IO
19354e999a3SPrafulla Wadaskar /* Data, registers and alternate blocks are at the same offset */
19454e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_DATA_OFFSET	(0x0100)
19554e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_REG_OFFSET	(0x0100)
19654e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_ALT_OFFSET	(0x0100)
19754e999a3SPrafulla Wadaskar /* Each 8-bit ATA register is aligned to a 4-bytes address */
19854e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_STRIDE		4
19954e999a3SPrafulla Wadaskar /* Controller supports 48-bits LBA addressing */
20054e999a3SPrafulla Wadaskar #define CONFIG_LBA48
20154e999a3SPrafulla Wadaskar /* CONFIG_CMD_IDE requires some #defines for ATA registers */
20254e999a3SPrafulla Wadaskar #define CONFIG_SYS_IDE_MAXBUS		2
20354e999a3SPrafulla Wadaskar #define CONFIG_SYS_IDE_MAXDEVICE	2
20454e999a3SPrafulla Wadaskar /* ATA registers base is at SATA controller base */
20554e999a3SPrafulla Wadaskar #define CONFIG_SYS_ATA_BASE_ADDR	MV_SATA_BASE
20654e999a3SPrafulla Wadaskar #endif /* CONFIG_CMD_IDE */
20754e999a3SPrafulla Wadaskar 
20854e999a3SPrafulla Wadaskar /*
20954e999a3SPrafulla Wadaskar  * I2C related stuff
21054e999a3SPrafulla Wadaskar  */
21154e999a3SPrafulla Wadaskar #ifdef CONFIG_CMD_I2C
21254e999a3SPrafulla Wadaskar #define CONFIG_I2C_MVTWSI
21354e999a3SPrafulla Wadaskar #define CONFIG_SYS_I2C_SLAVE		0x0
21454e999a3SPrafulla Wadaskar #define CONFIG_SYS_I2C_SPEED		100000
21554e999a3SPrafulla Wadaskar #endif
21654e999a3SPrafulla Wadaskar 
21754e999a3SPrafulla Wadaskar /*
21854e999a3SPrafulla Wadaskar  * File system
21954e999a3SPrafulla Wadaskar  */
22054e999a3SPrafulla Wadaskar #define CONFIG_CMD_EXT2
22154e999a3SPrafulla Wadaskar #define CONFIG_CMD_JFFS2
22254e999a3SPrafulla Wadaskar #define CONFIG_CMD_FAT
22354e999a3SPrafulla Wadaskar #define CONFIG_CMD_UBI
22454e999a3SPrafulla Wadaskar #define CONFIG_CMD_UBIFS
22554e999a3SPrafulla Wadaskar #define CONFIG_RBTREE
22654e999a3SPrafulla Wadaskar #define CONFIG_MTD_DEVICE               /* needed for mtdparts commands */
22754e999a3SPrafulla Wadaskar #define CONFIG_MTD_PARTITIONS
22854e999a3SPrafulla Wadaskar #define CONFIG_CMD_MTDPARTS
22954e999a3SPrafulla Wadaskar #define CONFIG_LZO
23054e999a3SPrafulla Wadaskar 
23154e999a3SPrafulla Wadaskar #endif /* _MV_COMMON_H */
232