xref: /rk3399_rockchip-uboot/include/configs/mxs.h (revision d851477aa1d9766d7815a5ee20471550dfbbcbff)
15434caf5SMarek Vasut /*
25434caf5SMarek Vasut  * Copyright (C) 2013 Marek Vasut <marex@denx.de>
35434caf5SMarek Vasut  *
45434caf5SMarek Vasut  * This program is free software; you can redistribute it and/or
55434caf5SMarek Vasut  * modify it under the terms of the GNU General Public License as
65434caf5SMarek Vasut  * published by the Free Software Foundation; either version 2 of
75434caf5SMarek Vasut  * the License, or (at your option) any later version.
85434caf5SMarek Vasut  *
95434caf5SMarek Vasut  * This program is distributed in the hope that it will be useful,
105434caf5SMarek Vasut  * but WITHOUT ANY WARRANTY; without even the implied warranty of
115434caf5SMarek Vasut  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
125434caf5SMarek Vasut  * GNU General Public License for more details.
135434caf5SMarek Vasut  *
145434caf5SMarek Vasut  * You should have received a copy of the GNU General Public License
155434caf5SMarek Vasut  * along with this program; if not, write to the Free Software
165434caf5SMarek Vasut  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
175434caf5SMarek Vasut  * MA 02111-1307 USA
185434caf5SMarek Vasut  */
195434caf5SMarek Vasut #ifndef __CONFIGS_MXS_H__
205434caf5SMarek Vasut #define __CONFIGS_MXS_H__
215434caf5SMarek Vasut 
225434caf5SMarek Vasut /*
235434caf5SMarek Vasut  * Includes
245434caf5SMarek Vasut  */
255434caf5SMarek Vasut 
265434caf5SMarek Vasut #if defined(CONFIG_MX23) && defined(CONFIG_MX28)
275434caf5SMarek Vasut #error Select either CONFIG_MX23 or CONFIG_MX28 , never both!
285434caf5SMarek Vasut #elif !defined(CONFIG_MX23) && !defined(CONFIG_MX28)
295434caf5SMarek Vasut #error Select one of CONFIG_MX23 or CONFIG_MX28 !
305434caf5SMarek Vasut #endif
315434caf5SMarek Vasut 
325434caf5SMarek Vasut #include <asm/arch/regs-base.h>
335434caf5SMarek Vasut 
345434caf5SMarek Vasut #if defined(CONFIG_MX23)
355434caf5SMarek Vasut #include <asm/arch/iomux-mx23.h>
365434caf5SMarek Vasut #elif defined(CONFIG_MX28)
375434caf5SMarek Vasut #include <asm/arch/iomux-mx28.h>
385434caf5SMarek Vasut #endif
395434caf5SMarek Vasut 
405434caf5SMarek Vasut /*
415434caf5SMarek Vasut  * CPU specifics
425434caf5SMarek Vasut  */
435434caf5SMarek Vasut 
445434caf5SMarek Vasut /* Startup hooks */
455434caf5SMarek Vasut 
465434caf5SMarek Vasut /* SPL */
475434caf5SMarek Vasut #define CONFIG_SPL_NO_CPU_SUPPORT_CODE
485434caf5SMarek Vasut #define CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/mxs"
495434caf5SMarek Vasut 
505434caf5SMarek Vasut /* Memory sizes */
515434caf5SMarek Vasut #define CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
525434caf5SMarek Vasut #define CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start adr */
535434caf5SMarek Vasut #define CONFIG_SYS_MEMTEST_END		0x40400000	/* 4 MB RAM test */
545434caf5SMarek Vasut 
555434caf5SMarek Vasut /* OCRAM at 0x0 ; 32kB on MX23 ; 128kB on MX28 */
565434caf5SMarek Vasut #define CONFIG_SYS_INIT_RAM_ADDR	0x00000000
575434caf5SMarek Vasut #if defined(CONFIG_MX23)
585434caf5SMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE	(32 * 1024)
595434caf5SMarek Vasut #elif defined(CONFIG_MX28)
605434caf5SMarek Vasut #define CONFIG_SYS_INIT_RAM_SIZE	(128 * 1024)
615434caf5SMarek Vasut #endif
625434caf5SMarek Vasut 
635434caf5SMarek Vasut /* Point initial SP in SRAM so SPL can use it too. */
645434caf5SMarek Vasut #define CONFIG_SYS_INIT_SP_OFFSET \
655434caf5SMarek Vasut 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
665434caf5SMarek Vasut #define CONFIG_SYS_INIT_SP_ADDR \
675434caf5SMarek Vasut 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
685434caf5SMarek Vasut 
695434caf5SMarek Vasut /*
705434caf5SMarek Vasut  * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
715434caf5SMarek Vasut  * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
725434caf5SMarek Vasut  * binary. In case there was more of this mess, 0x100 bytes are skipped.
739c2c8a31SMarek Vasut  *
749c2c8a31SMarek Vasut  * In case of a HAB boot, we cannot for some weird reason use the first 4KiB
759c2c8a31SMarek Vasut  * of DRAM when loading. Moreover, we use the first 4 KiB for IVT and CST
769c2c8a31SMarek Vasut  * blocks, thus U-Boot starts at offset +8 KiB of DRAM start.
779c2c8a31SMarek Vasut  *
789c2c8a31SMarek Vasut  * As for the SPL, we must avoid the first 4 KiB as well, but we load the
799c2c8a31SMarek Vasut  * IVT and CST to 0x8000, so we don't need to waste the subsequent 4 KiB.
805434caf5SMarek Vasut  */
819c2c8a31SMarek Vasut #define CONFIG_SYS_TEXT_BASE		0x40002000
829c2c8a31SMarek Vasut #define CONFIG_SPL_TEXT_BASE		0x00001000
835434caf5SMarek Vasut 
845434caf5SMarek Vasut /* U-Boot general configuration */
855434caf5SMarek Vasut #define CONFIG_SYS_LONGHELP
865434caf5SMarek Vasut #define CONFIG_SYS_CBSIZE	1024		/* Console I/O buffer size */
875434caf5SMarek Vasut #define CONFIG_SYS_MAXARGS	32		/* Max number of command args */
885434caf5SMarek Vasut #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
895434caf5SMarek Vasut 						/* Boot argument buffer size */
905434caf5SMarek Vasut #define CONFIG_AUTO_COMPLETE			/* Command auto complete */
915434caf5SMarek Vasut #define CONFIG_CMDLINE_EDITING			/* Command history etc */
925434caf5SMarek Vasut 
935434caf5SMarek Vasut /* Booting Linux */
945434caf5SMarek Vasut #define CONFIG_CMDLINE_TAG
955434caf5SMarek Vasut #define CONFIG_SETUP_MEMORY_TAGS
965434caf5SMarek Vasut 
975434caf5SMarek Vasut /*
985434caf5SMarek Vasut  * Drivers
995434caf5SMarek Vasut  */
1005434caf5SMarek Vasut 
1015434caf5SMarek Vasut /* APBH DMA */
1025434caf5SMarek Vasut 
1035434caf5SMarek Vasut /* GPIO */
1045434caf5SMarek Vasut #define CONFIG_MXS_GPIO
1055434caf5SMarek Vasut 
1060cfb8afeSAndreas Wass /*
1070cfb8afeSAndreas Wass  * DUART Serial Driver.
1080cfb8afeSAndreas Wass  * Conflicts with AUART driver which can be set by board.
1090cfb8afeSAndreas Wass  */
1105434caf5SMarek Vasut #define CONFIG_PL011_SERIAL
1115434caf5SMarek Vasut #define CONFIG_PL011_CLOCK		24000000
1125434caf5SMarek Vasut #define CONFIG_PL01x_PORTS		{ (void *)MXS_UARTDBG_BASE }
1135434caf5SMarek Vasut #define CONFIG_CONS_INDEX		0
114*62a3b7ddSRobert P. J. Day /* Default baudrate can be overridden by board! */
1155434caf5SMarek Vasut 
1165434caf5SMarek Vasut /* FEC Ethernet on SoC */
1175434caf5SMarek Vasut #ifdef CONFIG_FEC_MXC
1185434caf5SMarek Vasut #define CONFIG_MII
1195434caf5SMarek Vasut #ifndef CONFIG_ETHPRIME
1205434caf5SMarek Vasut #define CONFIG_ETHPRIME			"FEC0"
1215434caf5SMarek Vasut #endif
1225434caf5SMarek Vasut #ifndef CONFIG_FEC_XCV_TYPE
1235434caf5SMarek Vasut #define CONFIG_FEC_XCV_TYPE		RMII
1245434caf5SMarek Vasut #endif
1255434caf5SMarek Vasut #endif
1265434caf5SMarek Vasut 
1275434caf5SMarek Vasut /* LCD */
1285434caf5SMarek Vasut #ifdef CONFIG_VIDEO
1295434caf5SMarek Vasut #define CONFIG_VIDEO_MXS
1305434caf5SMarek Vasut #endif
1315434caf5SMarek Vasut 
1325434caf5SMarek Vasut /* MMC */
1335434caf5SMarek Vasut #ifdef CONFIG_CMD_MMC
1345434caf5SMarek Vasut #define CONFIG_BOUNCE_BUFFER
1355434caf5SMarek Vasut #endif
1365434caf5SMarek Vasut 
1375434caf5SMarek Vasut /* NAND */
1385434caf5SMarek Vasut #ifdef CONFIG_CMD_NAND
1395434caf5SMarek Vasut #define CONFIG_SYS_MAX_NAND_DEVICE	1
1405434caf5SMarek Vasut #define CONFIG_SYS_NAND_BASE		0x60000000
1415434caf5SMarek Vasut #define CONFIG_SYS_NAND_5_ADDR_CYCLE
1425434caf5SMarek Vasut #endif
1435434caf5SMarek Vasut 
1442bbcccf5SMarek Vasut /* OCOTP */
1452bbcccf5SMarek Vasut #ifdef CONFIG_CMD_FUSE
1462bbcccf5SMarek Vasut #define CONFIG_MXS_OCOTP
1472bbcccf5SMarek Vasut #endif
1482bbcccf5SMarek Vasut 
1495434caf5SMarek Vasut /* SPI */
1505434caf5SMarek Vasut #ifdef CONFIG_CMD_SPI
1515434caf5SMarek Vasut #define CONFIG_HARD_SPI
1525434caf5SMarek Vasut #define CONFIG_SPI_HALF_DUPLEX
1535434caf5SMarek Vasut #endif
1545434caf5SMarek Vasut 
1555434caf5SMarek Vasut /* USB */
1565434caf5SMarek Vasut #ifdef CONFIG_CMD_USB
1575434caf5SMarek Vasut #define CONFIG_USB_EHCI_MXS
1585434caf5SMarek Vasut #define CONFIG_EHCI_IS_TDI
1595434caf5SMarek Vasut #endif
1605434caf5SMarek Vasut 
1615434caf5SMarek Vasut #endif	/* __CONFIGS_MXS_H__ */
162