SPEAr : Support added for SPEAr310 board
SPEAr310 SoC support contains basic spear310 support along with the usage of following drivers - serial driver(UART) - i2c driver - smi driver - nand driver(FSMC) - usbd driver - emi driver(cfi support) Signed-off-by: Vipin <vipin.kumar@st.com>
This commit is contained in:
		
							parent
							
								
									4bfacad4e7
								
							
						
					
					
						commit
						080cfee714
					
				
							
								
								
									
										1
									
								
								MAKEALL
								
								
								
								
							
							
						
						
									
										1
									
								
								MAKEALL
								
								
								
								
							|  | @ -575,6 +575,7 @@ LIST_ARM9="			\ | |||
| 	smdk2400		\ | ||||
| 	smdk2410		\ | ||||
| 	spear300		\ | ||||
| 	spear310		\ | ||||
| 	spear600		\ | ||||
| 	trab			\ | ||||
| 	VCMA9			\ | ||||
|  |  | |||
							
								
								
									
										3
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										3
									
								
								Makefile
								
								
								
								
							|  | @ -3036,7 +3036,8 @@ smdk2400_config	:	unconfig | |||
| smdk2410_config	:	unconfig | ||||
| 	@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0 | ||||
| 
 | ||||
| spear300_config :	unconfig | ||||
| spear300_config \ | ||||
| spear310_config :	unconfig | ||||
| 	@$(MKCONFIG) -n $@ -t $(@:_config=) spear3xx arm arm926ejs $(@:_config=) spear spear | ||||
| 
 | ||||
| spear600_config :	unconfig | ||||
|  |  | |||
|  | @ -0,0 +1,51 @@ | |||
| #
 | ||||
| # (C) Copyright 2000-2004
 | ||||
| # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 | ||||
| #
 | ||||
| # See file CREDITS for list of people who contributed to this
 | ||||
| # project.
 | ||||
| #
 | ||||
| # This program is free software; you can redistribute it and/or
 | ||||
| # modify it under the terms of the GNU General Public License as
 | ||||
| # published by the Free Software Foundation; either version 2 of
 | ||||
| # the License, or (at your option) any later version.
 | ||||
| #
 | ||||
| # This program is distributed in the hope that it will be useful,
 | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| # GNU General Public License for more details.
 | ||||
| #
 | ||||
| # You should have received a copy of the GNU General Public License
 | ||||
| # along with this program; if not, write to the Free Software
 | ||||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 | ||||
| # MA 02111-1307 USA
 | ||||
| #
 | ||||
| 
 | ||||
| include $(TOPDIR)/config.mk | ||||
| 
 | ||||
| LIB	= $(obj)lib$(BOARD).a | ||||
| 
 | ||||
| COBJS	:= spear310.o | ||||
| SOBJS	:= | ||||
| 
 | ||||
| SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) | ||||
| OBJS	:= $(addprefix $(obj),$(COBJS)) | ||||
| SOBJS	:= $(addprefix $(obj),$(SOBJS)) | ||||
| 
 | ||||
| $(LIB):	$(obj).depend $(OBJS) $(SOBJS) | ||||
| 	$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) | ||||
| 
 | ||||
| clean: | ||||
| 	rm -f $(SOBJS) $(OBJS) | ||||
| 
 | ||||
| distclean:	clean | ||||
| 	rm -f $(LIB) core *.bak $(obj).depend | ||||
| 
 | ||||
| #########################################################################
 | ||||
| 
 | ||||
| # defines $(obj).depend target
 | ||||
| include $(SRCTREE)/rules.mk | ||||
| 
 | ||||
| sinclude $(obj).depend | ||||
| 
 | ||||
| #########################################################################
 | ||||
|  | @ -0,0 +1,44 @@ | |||
| #
 | ||||
| # (C) Copyright 2009
 | ||||
| # Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
 | ||||
| #
 | ||||
| # See file CREDITS for list of people who contributed to this
 | ||||
| # project.
 | ||||
| #
 | ||||
| # This program is free software; you can redistribute it and/or
 | ||||
| # modify it under the terms of the GNU General Public License as
 | ||||
| # published by the Free Software Foundation; either version 2 of
 | ||||
| # the License, or (at your option) any later version.
 | ||||
| #
 | ||||
| # This program is distributed in the hope that it will be useful,
 | ||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||||
| # GNU General Public License for more details.
 | ||||
| #
 | ||||
| # You should have received a copy of the GNU General Public License
 | ||||
| # along with this program; if not, write to the Free Software
 | ||||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 | ||||
| # MA 02111-1307 USA
 | ||||
| #
 | ||||
| 
 | ||||
| #########################################################################
 | ||||
| 
 | ||||
| TEXT_BASE = 0x00700000 | ||||
| 
 | ||||
| ALL += $(obj)u-boot.img | ||||
| 
 | ||||
| # Environment variables in NAND
 | ||||
| ifeq ($(ENV),NAND) | ||||
| PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND | ||||
| else | ||||
| PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH | ||||
| endif | ||||
| 
 | ||||
| # Support parallel flash
 | ||||
| ifeq ($(FLASH),PNOR) | ||||
| PLATFORM_RELFLAGS += -DCONFIG_FLASH_PNOR | ||||
| endif | ||||
| 
 | ||||
| ifeq ($(CONSOLE),USB) | ||||
| PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY | ||||
| endif | ||||
|  | @ -0,0 +1,59 @@ | |||
| /*
 | ||||
|  * (C) Copyright 2009 | ||||
|  * Ryan Chen, ST Micoelectronics, ryan.chen@st.com. | ||||
|  * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com. | ||||
|  * | ||||
|  * See file CREDITS for list of people who contributed to this | ||||
|  * project. | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU General Public License as | ||||
|  * published by the Free Software Foundation; either version 2 of | ||||
|  * the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||||
|  * MA 02111-1307 USA | ||||
|  */ | ||||
| 
 | ||||
| #include <common.h> | ||||
| #include <nand.h> | ||||
| #include <asm/io.h> | ||||
| #include <asm/arch/hardware.h> | ||||
| #include <asm/arch/spr_defs.h> | ||||
| #include <asm/arch/spr_misc.h> | ||||
| #include <asm/arch/spr_nand.h> | ||||
| 
 | ||||
| int board_init(void) | ||||
| { | ||||
| 	return spear_board_init(MACH_TYPE_SPEAR300); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * board_nand_init - Board specific NAND initialization | ||||
|  * @nand:	mtd private chip structure | ||||
|  * | ||||
|  * Called by nand_init_chip to initialize the board specific functions | ||||
|  */ | ||||
| 
 | ||||
| int board_nand_init(struct nand_chip *nand) | ||||
| { | ||||
| 	struct misc_regs *const misc_regs_p = | ||||
| 	    (struct misc_regs *)CONFIG_SPEAR_MISCBASE; | ||||
| 
 | ||||
| 	if (((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) == | ||||
| 	     MISC_SOCCFG30) || | ||||
| 	    ((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) == | ||||
| 	     MISC_SOCCFG31)) { | ||||
| 
 | ||||
| 		return spear_nand_init(nand); | ||||
| 	} | ||||
| 
 | ||||
| 	return -1; | ||||
| } | ||||
|  | @ -28,15 +28,75 @@ | |||
|  * High Level Configuration Options | ||||
|  * (easy to change) | ||||
|  */ | ||||
| #define CONFIG_SPEAR300				1 | ||||
| #if defined(CONFIG_MK_spear300) | ||||
| #define CONFIG_SPEAR3XX				1 | ||||
| #define CONFIG_SPEAR300				1 | ||||
| #elif defined(CONFIG_MK_spear310) | ||||
| #define CONFIG_SPEAR3XX				1 | ||||
| #define CONFIG_SPEAR310				1 | ||||
| #endif | ||||
| 
 | ||||
| #include <configs/spear-common.h> | ||||
| 
 | ||||
| /* Serial Configuration (PL011) */ | ||||
| #define CONFIG_SYS_SERIAL0			0xD0000000 | ||||
| 
 | ||||
| #if defined(CONFIG_SPEAR300) | ||||
| #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0} | ||||
| 
 | ||||
| #elif defined(CONFIG_SPEAR310) | ||||
| 
 | ||||
| #if (CONFIG_CONS_INDEX) | ||||
| #undef  CONFIG_PL011_CLOCK | ||||
| #define CONFIG_PL011_CLOCK			(83 * 1000 * 1000) | ||||
| #endif | ||||
| 
 | ||||
| #define CONFIG_SYS_SERIAL1			0xB2000000 | ||||
| #define CONFIG_SYS_SERIAL2			0xB2080000 | ||||
| #define CONFIG_SYS_SERIAL3			0xB2100000 | ||||
| #define CONFIG_SYS_SERIAL4			0xB2180000 | ||||
| #define CONFIG_SYS_SERIAL5			0xB2200000 | ||||
| #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0, \ | ||||
| 						(void *)CONFIG_SYS_SERIAL1, \ | ||||
| 						(void *)CONFIG_SYS_SERIAL2, \ | ||||
| 						(void *)CONFIG_SYS_SERIAL3, \ | ||||
| 						(void *)CONFIG_SYS_SERIAL4, \ | ||||
| 						(void *)CONFIG_SYS_SERIAL5 } | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CONFIG_SPEAR_EMI) | ||||
| 
 | ||||
| #define CONFIG_SYS_FLASH_CFI | ||||
| #define CONFIG_FLASH_CFI_DRIVER | ||||
| 
 | ||||
| #if defined(CONFIG_SPEAR310) | ||||
| #define CONFIG_SYS_FLASH_BASE			0x50000000 | ||||
| #define CONFIG_SYS_CS1_FLASH_BASE		0x60000000 | ||||
| #define CONFIG_SYS_CS2_FLASH_BASE		0x70000000 | ||||
| #define CONFIG_SYS_CS3_FLASH_BASE		0x80000000 | ||||
| #define CONFIG_SYS_CS4_FLASH_BASE		0x90000000 | ||||
| #define CONFIG_SYS_CS5_FLASH_BASE		0xA0000000 | ||||
| #define CONFIG_SYS_FLASH_BANKS_LIST		{ CONFIG_SYS_FLASH_BASE,   \ | ||||
| 						CONFIG_SYS_CS1_FLASH_BASE, \ | ||||
| 						CONFIG_SYS_CS2_FLASH_BASE, \ | ||||
| 						CONFIG_SYS_CS3_FLASH_BASE, \ | ||||
| 						CONFIG_SYS_CS4_FLASH_BASE, \ | ||||
| 						CONFIG_SYS_CS5_FLASH_BASE } | ||||
| #define CONFIG_SYS_MAX_FLASH_BANKS		6 | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| #define CONFIG_SYS_MAX_FLASH_SECT		(127 + 8) | ||||
| #define CONFIG_SYS_FLASH_QUIET_TEST		1 | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CONFIG_SPEAR300) | ||||
| #define CONFIG_SYS_NAND_BASE			(0x80000000) | ||||
| 
 | ||||
| #elif defined(CONFIG_SPEAR310) | ||||
| #define CONFIG_SYS_NAND_BASE			(0x40000000) | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| #endif  /* __CONFIG_H */ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue