Patchwork [U-Boot,V2,02/24] SPEAr: Eliminate dependency on Xloader table

login
register
mail settings
Submitter Amit Virdi
Date March 30, 2012, 6:54 a.m.
Message ID <7d0e305a0e0d9c92e086e03b0d32ecb16b8c3fa8.1333090211.git.amit.virdi@st.com>
Download mbox | patch
Permalink /patch/149551/
State Superseded
Delegated to: Stefan Roese
Headers show

Comments

Amit Virdi - March 30, 2012, 6:54 a.m.
Xloader table was used primarily to inform u-boot about the DDR size. However,
now the ddr size is calculated at runtime which eliminates any need for the
Xloader table. So removing this unnecessary code.

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 arch/arm/include/asm/arch-spear/spr_defs.h         |    7 --
 .../arm/include/asm/arch-spear/spr_xloader_table.h |   67 --------------------
 board/spear/common/spr_misc.c                      |   41 ------------
 3 files changed, 0 insertions(+), 115 deletions(-)
 delete mode 100644 arch/arm/include/asm/arch-spear/spr_xloader_table.h

Patch

diff --git a/arch/arm/include/asm/arch-spear/spr_defs.h b/arch/arm/include/asm/arch-spear/spr_defs.h
index fa8412c..0ddce62 100644
--- a/arch/arm/include/asm/arch-spear/spr_defs.h
+++ b/arch/arm/include/asm/arch-spear/spr_defs.h
@@ -28,13 +28,6 @@  extern int spear_board_init(ulong);
 extern void setfreq(unsigned int, unsigned int);
 extern unsigned int setfreq_sz;
 
-struct chip_data {
-	int cpufreq;
-	int dramfreq;
-	int dramtype;
-	uchar version[32];
-};
-
 /* HW mac id in i2c memory definitions */
 #define MAGIC_OFF	0x0
 #define MAGIC_LEN	0x2
diff --git a/arch/arm/include/asm/arch-spear/spr_xloader_table.h b/arch/arm/include/asm/arch-spear/spr_xloader_table.h
deleted file mode 100644
index 7e3da18..0000000
--- a/arch/arm/include/asm/arch-spear/spr_xloader_table.h
+++ /dev/null
@@ -1,67 +0,0 @@ 
-/*
- * (C) Copyright 2009
- * 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
- */
-
-#ifndef _SPR_XLOADER_TABLE_H
-#define _SPR_XLOADER_TABLE_H
-
-#define XLOADER_TABLE_VERSION_1_1	2
-#define XLOADER_TABLE_VERSION_1_2	3
-
-#define XLOADER_TABLE_ADDRESS		0xD2801FF0
-
-#define DDRMOBILE	1
-#define DDR2		2
-
-#define REV_BA		1
-#define REV_AA		2
-#define REV_AB		3
-
-struct xloader_table_1_1 {
-	unsigned short ddrfreq;
-	unsigned char ddrsize;
-	unsigned char ddrtype;
-
-	unsigned char soc_rev;
-} __attribute__ ((packed));
-
-struct xloader_table_1_2 {
-	unsigned const char *version;
-
-	unsigned short ddrfreq;
-	unsigned char ddrsize;
-	unsigned char ddrtype;
-
-	unsigned char soc_rev;
-} __attribute__ ((packed));
-
-union table_contents {
-	struct xloader_table_1_1 table_1_1;
-	struct xloader_table_1_2 table_1_2;
-};
-
-struct xloader_table {
-	unsigned char table_version;
-	union table_contents table;
-} __attribute__ ((packed));
-
-#endif
diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index 3ab278f..be96c15 100644
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -28,7 +28,6 @@ 
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/spr_emi.h>
-#include <asm/arch/spr_xloader_table.h>
 #include <asm/arch/spr_defs.h>
 
 #define CPU		0
@@ -36,7 +35,6 @@ 
 #define SRAM_REL	0xD2801000
 
 DECLARE_GLOBAL_DATA_PTR;
-static struct chip_data chip_data;
 
 int dram_init(void)
 {
@@ -127,25 +125,11 @@  void spear_emi_init(void)
 
 int spear_board_init(ulong mach_type)
 {
-	struct xloader_table *xloader_tb =
-	    (struct xloader_table *)XLOADER_TABLE_ADDRESS;
-	struct xloader_table_1_2 *table_1_2;
-	struct chip_data *chip = &chip_data;
-
 	gd->bd->bi_arch_number = mach_type;
 
 	/* adress of boot parameters */
 	gd->bd->bi_boot_params = CONFIG_BOOT_PARAMS_ADDR;
 
-	/* CPU is initialized to work at 333MHz in Xloader */
-	chip->cpufreq = 333;
-
-	if (XLOADER_TABLE_VERSION_1_2 == xloader_tb->table_version) {
-		table_1_2 = &xloader_tb->table.table_1_2;
-		memcpy(chip->version, table_1_2->version,
-		       sizeof(chip->version));
-	}
-
 #ifdef CONFIG_SPEAR_EMI
 	spear_emi_init();
 #endif
@@ -195,7 +179,6 @@  static int write_mac(uchar *mac)
 int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	void (*sram_setfreq) (unsigned int, unsigned int);
-	struct chip_data *chip = &chip_data;
 	unsigned char mac[6];
 	unsigned int reg, frequency;
 	char *s, *e;
@@ -218,13 +201,9 @@  int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		if (!strcmp(argv[1], "cpufreq")) {
 			sram_setfreq(CPU, frequency);
 			printf("CPU frequency changed to %u\n", frequency);
-
-			chip->cpufreq = frequency;
 		} else {
 			sram_setfreq(DDR, frequency);
 			printf("DDR frequency changed to %u\n", frequency);
-
-			chip->dramfreq = frequency;
 		}
 
 		return 0;
@@ -240,24 +219,6 @@  int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 		return 0;
 	} else if (!strcmp(argv[1], "print")) {
-
-		if (chip->cpufreq == -1)
-			printf("CPU Freq    = Not Known\n");
-		else
-			printf("CPU Freq    = %d MHz\n", chip->cpufreq);
-
-		if (chip->dramfreq == -1)
-			printf("DDR Freq    = Not Known\n");
-		else
-			printf("DDR Freq    = %d MHz\n", chip->dramfreq);
-
-		if (chip->dramtype == DDRMOBILE)
-			printf("DDR Type    = MOBILE\n");
-		else if (chip->dramtype == DDR2)
-			printf("DDR Type    = DDR2\n");
-		else
-			printf("DDR Type    = Not Known\n");
-
 		if (!i2c_read_mac(mac)) {
 			sprintf(i2c_mac, "%pM", mac);
 			printf("Ethaddr (from i2c mem) = %s\n", i2c_mac);
@@ -265,8 +226,6 @@  int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 			printf("Ethaddr (from i2c mem) = Not set\n");
 		}
 
-		printf("Xloader Rev = %s\n", chip->version);
-
 		return 0;
 	}