[PATCH] qi-rename-tla01-gta03.patch

Andy Green andy at openmoko.com
Sat Oct 25 10:06:53 CEST 2008


TLA01 is officially GTA03 now :-)

Signed-off-by: Andy Green <andy at openmoko.com>
---

 gta02-qi.ocd               |   34 +++++
 gta03-qi.ocd               |   34 -----
 include/neo_gta03.h        |   12 +-
 include/neo_tla01.h        |   28 ----
 src/cpu/s3c2442/gta03.c    |  289 --------------------------------------------
 src/cpu/s3c2442/start_qi.c |    1 
 src/cpu/s3c6410/gta03.c    |  225 ++++++++++++++++++++++++++++++++++
 src/cpu/s3c6410/qi.lds     |    2 
 src/cpu/s3c6410/start_qi.c |    4 -
 src/cpu/s3c6410/tla01.c    |  220 ---------------------------------
 10 files changed, 266 insertions(+), 583 deletions(-)
 create mode 100755 gta02-qi.ocd
 delete mode 100755 gta03-qi.ocd
 delete mode 100644 include/neo_tla01.h
 delete mode 100644 src/cpu/s3c2442/gta03.c
 create mode 100644 src/cpu/s3c6410/gta03.c
 delete mode 100644 src/cpu/s3c6410/tla01.c

diff --git a/gta02-qi.ocd b/gta02-qi.ocd
new file mode 100755
index 0000000..9d2cf1f
--- /dev/null
+++ b/gta02-qi.ocd
@@ -0,0 +1,34 @@
+# gta02 Qi script
+# Andy Green <andy at openmoko.com>
+
+reset halt
+wait_halt
+sleep 2000
+
+# bring the steppingstone part of qi image into steppingstone
+#
+load_binary /projects/openmoko/bootloader/image/qi 0x0
+#
+# mark ourselves as JTAG load
+#
+mww 0x4 0xffffffff
+
+#
+# we have to run that so SDRAM exists in a usable way
+# fixed jumpthrough at 0x8 is executed after steppingstone
+# init (including RAM) has completed
+#
+bp 0x8 4 hw
+resume 0x0
+wait_halt
+rbp 0x8
+
+#
+# now prep the SDRAM
+#
+load_binary /projects/openmoko/bootloader/image/qi 0x33000000
+#
+# and continue...
+resume 0x8
+#
+
diff --git a/gta03-qi.ocd b/gta03-qi.ocd
deleted file mode 100755
index 7513767..0000000
--- a/gta03-qi.ocd
+++ /dev/null
@@ -1,34 +0,0 @@
-# gta03 Qi script
-# Andy Green <andy at openmoko.com>
-
-reset halt
-wait_halt
-sleep 2000
-
-# bring the steppingstone part of qi image into steppingstone
-#
-load_binary /projects/openmoko/bootloader/image/qi 0x0
-#
-# mark ourselves as JTAG load
-#
-mww 0x4 0xffffffff
-
-#
-# we have to run that so SDRAM exists in a usable way
-# fixed jumpthrough at 0x8 is executed after steppingstone
-# init (including RAM) has completed
-#
-bp 0x8 4 hw
-resume 0x0
-wait_halt
-rbp 0x8
-
-#
-# now prep the SDRAM
-#
-load_binary /projects/openmoko/bootloader/image/qi 0x33000000
-#
-# and continue...
-resume 0x8
-#
-
diff --git a/include/neo_gta03.h b/include/neo_gta03.h
index a01972e..110b795 100644
--- a/include/neo_gta03.h
+++ b/include/neo_gta03.h
@@ -1,8 +1,8 @@
 /*
- * (C) Copyright 2008 OpenMoko, Inc.
- * Author: Matt Hsu <matt_hsu at openmoko.org>
+ * (C) Copyright 2007 OpenMoko, Inc.
+ * Author: xiangfu liu <xiangfu at openmoko.org>
  *
- * Configuation settings for the Openmoko GTA03 Linux GSM phone
+ * Configuation settings for the FIC Neo GTA02 Linux GSM phone
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -20,13 +20,9 @@
  * MA 02111-1307 USA
  */
 
-#ifndef __CONFIG_GTA03_H
-#define __CONFIG_GTA03_H
 #ifndef __ASM_MODE__
 #include <qi.h>
 extern const struct board_api board_api_gta03;
 #endif
 
-#define TEXT_BASE 0x33000000
-
-#endif	/* __CONFIG_GTA03_H */
+#define TEXT_BASE_GTA03 0x53000000
diff --git a/include/neo_tla01.h b/include/neo_tla01.h
deleted file mode 100644
index 6d9ca72..0000000
--- a/include/neo_tla01.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * (C) Copyright 2007 OpenMoko, Inc.
- * Author: xiangfu liu <xiangfu at openmoko.org>
- *
- * Configuation settings for the FIC Neo GTA02 Linux GSM phone
- *
- * 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 __ASM_MODE__
-#include <qi.h>
-extern const struct board_api board_api_tla01;
-#endif
-
-#define TEXT_BASE_TLA01 0x53000000
diff --git a/src/cpu/s3c2442/gta03.c b/src/cpu/s3c2442/gta03.c
deleted file mode 100644
index 73fa268..0000000
--- a/src/cpu/s3c2442/gta03.c
+++ /dev/null
@@ -1,289 +0,0 @@
-#include <qi.h>
-#include <neo_gta03.h>
-#include <serial-s3c24xx.h>
-#include <ports-s3c24xx.h>
-#include <i2c-bitbang-s3c24xx.h>
-#include <pcf50633.h>
-#include <s3c24xx-mci.h>
-
-#define GTA03_DEBUG_UART 2
-
-#define PCF50633_I2C_ADS 0x73
-
-
-static const struct board_variant board_variants[] = {
-	[0] = {
-		.name = "EVB PCB",
-		.machine_revision = 0x010,
-	},
-};
-
-void port_init_gta03(void)
-{
-	unsigned int * MPLLCON = (unsigned int *)0x4c000004;
-	unsigned int * UPLLCON = (unsigned int *)0x4c000008;
-	unsigned int * CLKDIVN = (unsigned int *)0x4c000014;
-
-	//CAUTION:Follow the configuration order for setting the ports.
-	// 1) setting value(GPnDAT)
-	// 2) setting control register  (GPnCON)
-	// 3) configure pull-up resistor(GPnUP)
-
-	/* 32bit data bus configuration   */
-	/*
-	 * === PORT A GROUP
-	 *     Ports  : GPA22 GPA21  GPA20 GPA19 GPA18 GPA17 GPA16 GPA15 GPA14 GPA13 GPA12
-	 *     Signal : nFCE nRSTOUT nFRE   nFWE  ALE   CLE  nGCS5 nGCS4 nGCS3 nGCS2 nGCS1
-	 *     Binary :  1     1      1  , 1   1   1    1   ,  1     1     1     1
-	 *     Ports  : GPA11   GPA10  GPA9   GPA8   GPA7   GPA6   GPA5   GPA4   GPA3   GPA2   GPA1  GPA0
-	 *     Signal : ADDR26 ADDR25 ADDR24 ADDR23 ADDR22 ADDR21 ADDR20 ADDR19 ADDR18 ADDR17 ADDR16 ADDR0
-	 *     Binary :  1       1      1      1   , 1       1      1      1   ,  1       1     1      1
-	 */
-	rGPACON = 0x007F8FFF;
-	/*
-	 * ===* PORT B GROUP
-	 *      Ports  : GPB10    GPB9    GPB8    GPB7    GPB6     GPB5    GPB4   GPB3   GPB2     GPB1      GPB0
-	 *      Signal : nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nSS_KBD nDIS_OFF L3CLOCK L3DATA L3MODE nIrDATXDEN Keyboard
-	 *      Setting: INPUT  OUTPUT   INPUT  OUTPUT   INPUT   OUTPUT   OUTPUT OUTPUT OUTPUT   OUTPUT    OUTPUT
-	 *      Binary :   00  ,  01       00  ,   01      00   ,  01       01  ,   01     01   ,  01        01
-	 */
-	rGPBCON = 0x00145554;
-	rGPBDAT |= (1 <<9 );	/* USB_PULLUP */
-	rGPBUP = 0x000007FF;
-	/*
-	 * === PORT C GROUP
-	 *     Ports  : GPC15 GPC14 GPC13 GPC12 GPC11 GPC10 GPC9 GPC8  GPC7   GPC6   GPC5 GPC4 GPC3  GPC2  GPC1 GPC0
-	 *     Signal : VD7   VD6   VD5   VD4   VD3   VD2   VD1  VD0 LCDVF2 LCDVF1 LCDVF0 VM VFRAME VLINE VCLK LEND
-	 *     Binary :  10   10  , 10    10  , 10    10  , 10   10  , 10     10  ,  10   10 , 10     10 , 10   10
-	 */
-	rGPCCON = 0xAAA776E9;
-	rGPCUP = 0x0000FFFF;
-	rGPCDAT |= (1 << 9); /* WLAN_nRESET pull high */
-	/*
-	 * === PORT D GROUP
-	 *     Ports  : GPD15 GPD14 GPD13 GPD12 GPD11 GPD10 GPD9 GPD8 GPD7 GPD6 GPD5 GPD4 GPD3 GPD2 GPD1 GPD0
-	 *     Signal : VD23  VD22  VD21  VD20  VD19  VD18  VD17 VD16 VD15 VD14 VD13 VD12 VD11 VD10 VD9  VD8
-	 *     Binary : 10    10  , 10    10  , 10    10  , 10   10 , 10   10 , 10   10 , 10   10 ,10   10
-	 */
-	rGPDCON = 0xAAA0AAA5;
-	rGPDUP = 0x0000FFFF;
-	/*
-	 * === PORT E GROUP
-	 *     Ports  : GPE15  GPE14 GPE13   GPE12   GPE11   GPE10   GPE9    GPE8     GPE7  GPE6  GPE5   GPE4
-	 *     Signal : IICSDA IICSCL SPICLK SPIMOSI SPIMISO SDDATA3 SDDATA2 SDDATA1 SDDATA0 SDCMD SDCLK I2SSDO
-	 *     Binary :  10     10  ,  10      10  ,  10      10   ,  10      10   ,   10    10  , 10     10  ,
-	 *     -------------------------------------------------------------------------------------------------------
-	 *     Ports  :  GPE3   GPE2  GPE1    GPE0
-	 *     Signal : I2SSDI CDCLK I2SSCLK I2SLRCK
-	 *     Binary :  10     10  ,  10      10
-	 */
-	rGPECON = 0xAAAAAAAA;
-	rGPEUP = 0x0000FFFF;
-	/*
-	 * === PORT F GROUP
-	 *     Ports  : GPF7   GPF6   GPF5   GPF4      GPF3     GPF2  GPF1   GPF0
-	 *     Signal : nLED_8 nLED_4 nLED_2 nLED_1 nIRQ_PCMCIA EINT2 KBDINT EINT0
-	 *     Setting: Output Output Output Output    EINT3    EINT2 EINT1  EINT0
-	 *     Binary :  01      01 ,  01     01  ,     10       10  , 10     10
-	 */
-	rGPFCON = 0x0000AAAA;
-	rGPFUP = 0x000000FF;
-
-	/*
-	 * === PORT G GROUP
-	 *     Ports  : GPG15 GPG14 GPG13 GPG12 GPG11    GPG10    GPG9     GPG8     GPG7      GPG6
-	 *     Signal : nYPON  YMON nXPON XMON  EINT19 DMAMODE1 DMAMODE0 DMASTART KBDSPICLK KBDSPIMOSI
-	 *     Setting: nYPON  YMON nXPON XMON  EINT19  Output   Output   Output   SPICLK1    SPIMOSI1
-	 *     Binary :   11    11 , 11    11  , 10      01    ,   01       01   ,    11         11
-	 *     -----------------------------------------------------------------------------------------
-	 *     Ports  :    GPG5       GPG4    GPG3    GPG2    GPG1    GPG0
-	 *     Signal : KBDSPIMISO LCD_PWREN EINT11 nSS_SPI IRQ_LAN IRQ_PCMCIA
-	 *     Setting:  SPIMISO1  LCD_PWRDN EINT11   nSS0   EINT9    EINT8
-	 *     Binary :     11         11   ,  10      11  ,  10        10
-	 */
-	rGPGCON = 0x02A9FE5A;
-	rGPGUP = 0x0000FFFF;
-
-	/*
-	 * === PORT H GROUP
-	 *     Ports  :  GPH10    GPH9  GPH8 GPH7  GPH6  GPH5 GPH4 GPH3 GPH2 GPH1  GPH0
-	 *     Signal : CLKOUT1 CLKOUT0 UCLK RXD2 TXD2 RXD1 TXD1 RXD0 TXD0 nRTS0 nCTS0
-	 *     Binary :   10   ,  10     10 , 11    11  , 10   10 , 10   10 , 10    10
-	 */
-	/* pulldown on GPH08: UEXTCLK, just floats!
-	 * pulldown GPH0 -- nCTS0 / RTS_MODEM -- floats when GSM off
-	 * pulldown GPH3 -- RXD[0] / TX_MODEM -- floats when GSM off
-	 */
-	rGPHCON = 0x0019A0AA;
-	rGPHUP = 0x000007FF;
-
-	/* pulldown on GPJ00: input, just floats! */
-	/* pulldown on GPJ07: WLAN module WLAN_GPIO0, no ext pull */
-	rGPJCON = 0x02AAAAAA;
-	rGPJUP = 0x1FFFF;
-
-	/*
-	 * We have to talk to the PMU a little bit
-	 */
-
-	/* We need SD Card rail (HCLDO) at 3.0V */
-	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOOUT,
-									    21);
-
-	/* switch HCLDO on */
-	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOENA, 1);
-
-	/* push DOWN1 (CPU Core rail) to 1.7V, allowing 533MHz */
-	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_DOWN1OUT,
-									  0x2b);
-
-	/* change CPU clocking to 533MHz 1:4:8 */
-
-	/* clock divide 1:4:8 - do it first */
-	*CLKDIVN = 5;
-	/* configure UPLL */
-	*UPLLCON = ((88 << 12) + (4 << 4) + 2);
-	/* Magic delay: Page 7-19, seven nops between UPLL and MPLL */
-	asm __volatile__ (
-		"nop\n"\
-		"nop\n"\
-		"nop\n"\
-		"nop\n"\
-		"nop\n"\
-		"nop\n"\
-		"nop\n"\
-	);
-	/* configure MPLL */
-	*MPLLCON = ((169 << 12) + (2 << 4) + 1);
-
-
-	serial_init_115200_s3c24xx(GTA03_DEBUG_UART, 66 /*MHz PCLK */);
-}
-
-/**
- * returns PCB revision information in b0, d8, d9
- * GTA03 EVB returns 0x000
- * GTA03 returns 0x001
- */
-
-int gta03_get_pcb_revision(void)
-{
-	int n;
-	u32 u;
-
-	/* make B0 inputs */
-	rGPBCON &= ~0x00000003;
-	/* D8 and D9 inputs */
-	rGPDCON &= ~0x000f0000;
-
-	/* delay after changing pulldowns */
-	u = rGPBDAT;
-	u = rGPDDAT;
-
-	/* read the version info */
-	u = rGPBDAT;
-	n = (u >> (0 - 0))& 0x001;
-	u = rGPDDAT;
-	n |= (u >> (8 -1))  & 0x002;
-	n |= (u >> (9 - 2))  & 0x004;
-
-	/*
-	 * when not being interrogated, all of the revision GPIO
-	 * are set to output
-	 */
-	/* make B0 high ouput */
-	rGPBCON |= 0x00000001;
-	/* D8 and D9 high ouputs */
-	rGPDCON |= 0x00050000;
-
-	return n;
-
-}
-
-const struct board_variant const * get_board_variant_gta03(void)
-{
-	return &board_variants[gta03_get_pcb_revision()];
-}
-
-int is_this_board_gta03(void)
-{
-	/* FIXME: find something gta03 specific */
-	return 1;
-}
-
-static void putc_gta03(char c)
-{
-	serial_putc_s3c24xx(GTA03_DEBUG_UART, c);
-}
-
-int sd_card_init_gta03(void)
-{
-	return s3c24xx_mmc_init(1);
-}
-
-int sd_card_block_read_gta03(unsigned char * buf, unsigned long start512,
-							       int blocks512)
-{
-	return s3c24xx_mmc_bread(0, start512, blocks512, buf);
-}
-
-
-
-/*
- * our API for bootloader on this machine
- */
-const struct board_api board_api_gta03 = {
-	.name = "GTA03-2442",
-	.linux_machine_id = 1866,
-	.linux_mem_start = 0x30000000,
-	.linux_mem_size = (128 * 1024 * 1024),
-	.linux_tag_placement = 0x30000000 + 0x100,
-	.get_board_variant = get_board_variant_gta03,
-	.is_this_board = is_this_board_gta03,
-	.port_init = port_init_gta03,
-	.putc = putc_gta03,
-	/* these are the ways we could boot GTA03 in order to try */
-	.kernel_source = {
-		[0] = {
-			.name = "SD Card EXT2 Kernel",
-			.block_init = sd_card_init_gta03,
-			.block_read = sd_card_block_read_gta03,
-			.partition_index = 1,
-			.filesystem = FS_EXT2,
-			.filepath = "boot/uImage.bin",
-			.commandline = "mtdparts=physmap-flash:-(nor);" \
-					"neo1973-nand:" \
-					 "0x00040000(qi)," \
-					 "0x00040000(cmdline)," \
-					 "0x00800000(backupkernel)," \
-					 "0x000a0000(extra)," \
-					 "0x00040000(identity)," \
-					 "0x0f6a0000(backuprootfs) " \
-				       "rootfstype=ext2 " \
-				       "root=/dev/mmcblk0p1 " \
-				       "console=ttySAC2,115200 " \
-				       "loglevel=4 " \
-				       "init=/sbin/init "\
-				       "ro"
-		},
-		[1] = {
-			.name = "NAND Kernel",
-			.block_read = nand_read_ll,
-			.offset_blocks512_if_no_partition = 0x80000 / 512,
-			.filesystem = FS_RAW,
-			.commandline = 	"mtdparts=neo1973-nand:" \
-					 "0x00040000(qi)," \
-					 "0x00040000(cmdline)," \
-					 "0x00800000(backupkernel)," \
-					 "0x000a0000(extra)," \
-					 "0x00040000(identity)," \
-					 "0x0f6a0000(backuprootfs) " \
-				       "rootfstype=jffs2 " \
-				       "root=/dev/mtdblock6 " \
-				       "console=ttySAC2,115200 " \
-				       "loglevel=4 " \
-				       "init=/sbin/init "\
-				       "ro"
-		},
-	},
-};
diff --git a/src/cpu/s3c2442/start_qi.c b/src/cpu/s3c2442/start_qi.c
index 6c19394..38a95ba 100644
--- a/src/cpu/s3c2442/start_qi.c
+++ b/src/cpu/s3c2442/start_qi.c
@@ -37,7 +37,6 @@ extern void bootloader_second_phase(void);
 
 const struct board_api *boards[] = {
 			&board_api_gta02,
-			&board_api_gta03,
 			NULL /* always last */
 };
 
diff --git a/src/cpu/s3c6410/gta03.c b/src/cpu/s3c6410/gta03.c
new file mode 100644
index 0000000..a6766d8
--- /dev/null
+++ b/src/cpu/s3c6410/gta03.c
@@ -0,0 +1,225 @@
+#include <qi.h>
+#include <neo_gta03.h>
+#include <serial-s3c64xx.h>
+//#include <ports-s3c24xx.h>
+//#include <i2c-bitbang-s3c24xx.h>
+#include <pcf50633.h>
+
+#define GTA03_DEBUG_UART 0
+
+#define PCF50633_I2C_ADS 0x73
+
+
+static const struct board_variant board_variants[] = {
+	[0] = {
+		.name = "SMDK",
+		.machine_revision = 0,
+	},
+	[1] = {
+		.name = "GTA03 EVT1",
+		.machine_revision = 1
+	}
+};
+
+void port_init_gta03(void)
+{
+#if 0
+	unsigned int * MPLLCON = (unsigned int *)0x4c000004;
+	unsigned int * UPLLCON = (unsigned int *)0x4c000008;
+	unsigned int * CLKDIVN = (unsigned int *)0x4c000014;
+
+	//CAUTION:Follow the configuration order for setting the ports.
+	// 1) setting value(GPnDAT)
+	// 2) setting control register  (GPnCON)
+	// 3) configure pull-up resistor(GPnUP)
+
+	/* 32bit data bus configuration   */
+	/*
+	 * === PORT A GROUP
+	 *     Ports  : GPA22 GPA21  GPA20 GPA19 GPA18 GPA17 GPA16 GPA15 GPA14 GPA13 GPA12
+	 *     Signal : nFCE nRSTOUT nFRE   nFWE  ALE   CLE  nGCS5 nGCS4 nGCS3 nGCS2 nGCS1
+	 *     Binary :  1     1      1  , 1   1   1    1   ,  1     1     1     1
+	 *     Ports  : GPA11   GPA10  GPA9   GPA8   GPA7   GPA6   GPA5   GPA4   GPA3   GPA2   GPA1  GPA0
+	 *     Signal : ADDR26 ADDR25 ADDR24 ADDR23 ADDR22 ADDR21 ADDR20 ADDR19 ADDR18 ADDR17 ADDR16 ADDR0
+	 *     Binary :  1       1      1      1   , 1       1      1      1   ,  1       1     1      1
+	 */
+	rGPACON = 0x007F8FFF;
+	/*
+	 * ===* PORT B GROUP
+	 *      Ports  : GPB10    GPB9    GPB8    GPB7    GPB6     GPB5    GPB4   GPB3   GPB2     GPB1      GPB0
+	 *      Signal : nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nSS_KBD nDIS_OFF L3CLOCK L3DATA L3MODE nIrDATXDEN Keyboard
+	 *      Setting: INPUT  OUTPUT   INPUT  OUTPUT   INPUT   OUTPUT   OUTPUT OUTPUT OUTPUT   OUTPUT    OUTPUT
+	 *      Binary :   00  ,  01       00  ,   01      00   ,  01       01  ,   01     01   ,  01        01
+	 */
+	rGPBCON = 0x00145554;
+	rGPBDAT |= (1 <<9 );	/* USB_PULLUP */
+	rGPBUP = 0x000007FF;
+	/*
+	 * === PORT C GROUP
+	 *     Ports  : GPC15 GPC14 GPC13 GPC12 GPC11 GPC10 GPC9 GPC8  GPC7   GPC6   GPC5 GPC4 GPC3  GPC2  GPC1 GPC0
+	 *     Signal : VD7   VD6   VD5   VD4   VD3   VD2   VD1  VD0 LCDVF2 LCDVF1 LCDVF0 VM VFRAME VLINE VCLK LEND
+	 *     Binary :  10   10  , 10    10  , 10    10  , 10   10  , 10     10  ,  10   10 , 10     10 , 10   10
+	 */
+	rGPCCON = 0xAAA776E9;
+	rGPCUP = 0x0000FFFF;
+	rGPCDAT |= (1 << 9); /* WLAN_nRESET pull high */
+	/*
+	 * === PORT D GROUP
+	 *     Ports  : GPD15 GPD14 GPD13 GPD12 GPD11 GPD10 GPD9 GPD8 GPD7 GPD6 GPD5 GPD4 GPD3 GPD2 GPD1 GPD0
+	 *     Signal : VD23  VD22  VD21  VD20  VD19  VD18  VD17 VD16 VD15 VD14 VD13 VD12 VD11 VD10 VD9  VD8
+	 *     Binary : 10    10  , 10    10  , 10    10  , 10   10 , 10   10 , 10   10 , 10   10 ,10   10
+	 */
+	rGPDCON = 0xAAA0AAA5;
+	rGPDUP = 0x0000FFFF;
+	/*
+	 * === PORT E GROUP
+	 *     Ports  : GPE15  GPE14 GPE13   GPE12   GPE11   GPE10   GPE9    GPE8     GPE7  GPE6  GPE5   GPE4
+	 *     Signal : IICSDA IICSCL SPICLK SPIMOSI SPIMISO SDDATA3 SDDATA2 SDDATA1 SDDATA0 SDCMD SDCLK I2SSDO
+	 *     Binary :  10     10  ,  10      10  ,  10      10   ,  10      10   ,   10    10  , 10     10  ,
+	 *     -------------------------------------------------------------------------------------------------------
+	 *     Ports  :  GPE3   GPE2  GPE1    GPE0
+	 *     Signal : I2SSDI CDCLK I2SSCLK I2SLRCK
+	 *     Binary :  10     10  ,  10      10
+	 */
+	rGPECON = 0xAAAAAAAA;
+	rGPEUP = 0x0000FFFF;
+	/*
+	 * === PORT F GROUP
+	 *     Ports  : GPF7   GPF6   GPF5   GPF4      GPF3     GPF2  GPF1   GPF0
+	 *     Signal : nLED_8 nLED_4 nLED_2 nLED_1 nIRQ_PCMCIA EINT2 KBDINT EINT0
+	 *     Setting: Output Output Output Output    EINT3    EINT2 EINT1  EINT0
+	 *     Binary :  01      01 ,  01     01  ,     10       10  , 10     10
+	 */
+	rGPFCON = 0x0000AAAA;
+	rGPFUP = 0x000000FF;
+
+	/*
+	 * === PORT G GROUP
+	 *     Ports  : GPG15 GPG14 GPG13 GPG12 GPG11    GPG10    GPG9     GPG8     GPG7      GPG6
+	 *     Signal : nYPON  YMON nXPON XMON  EINT19 DMAMODE1 DMAMODE0 DMASTART KBDSPICLK KBDSPIMOSI
+	 *     Setting: nYPON  YMON nXPON XMON  EINT19  Output   Output   Output   SPICLK1    SPIMOSI1
+	 *     Binary :   11    11 , 11    11  , 10      01    ,   01       01   ,    11         11
+	 *     -----------------------------------------------------------------------------------------
+	 *     Ports  :    GPG5       GPG4    GPG3    GPG2    GPG1    GPG0
+	 *     Signal : KBDSPIMISO LCD_PWREN EINT11 nSS_SPI IRQ_LAN IRQ_PCMCIA
+	 *     Setting:  SPIMISO1  LCD_PWRDN EINT11   nSS0   EINT9    EINT8
+	 *     Binary :     11         11   ,  10      11  ,  10        10
+	 */
+	rGPGCON = 0x02A9FE5A;
+	rGPGUP = 0x0000FFFF;
+
+	/*
+	 * === PORT H GROUP
+	 *     Ports  :  GPH10    GPH9  GPH8 GPH7  GPH6  GPH5 GPH4 GPH3 GPH2 GPH1  GPH0
+	 *     Signal : CLKOUT1 CLKOUT0 UCLK RXD2 TXD2 RXD1 TXD1 RXD0 TXD0 nRTS0 nCTS0
+	 *     Binary :   10   ,  10     10 , 11    11  , 10   10 , 10   10 , 10    10
+	 */
+	/* pulldown on GPH08: UEXTCLK, just floats!
+	 * pulldown GPH0 -- nCTS0 / RTS_MODEM -- floats when GSM off
+	 * pulldown GPH3 -- RXD[0] / TX_MODEM -- floats when GSM off
+	 */
+	rGPHCON = 0x0019A0AA;
+	rGPHUP = 0x000007FF;
+
+	/* pulldown on GPJ00: input, just floats! */
+	/* pulldown on GPJ07: WLAN module WLAN_GPIO0, no ext pull */
+	rGPJCON = 0x02AAAAAA;
+	rGPJUP = 0x1FFFF;
+
+	/*
+	 * We have to talk to the PMU a little bit
+	 */
+
+	/* We need SD Card rail (HCLDO) at 3.0V */
+	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOOUT,
+									    21);
+
+	/* switch HCLDO on */
+	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOENA, 1);
+
+	/* push DOWN1 (CPU Core rail) to 1.7V, allowing 533MHz */
+	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_DOWN1OUT,
+									  0x2b);
+#endif
+
+}
+
+/**
+ * returns PCB revision information in b0, d8, d9
+ * GTA03 EVB returns 0x000
+ * GTA03 returns 0x001
+ */
+
+int gta03_get_pcb_revision(void)
+{
+	return 0; /* always SMDK right now */
+}
+
+const struct board_variant const * get_board_variant_gta03(void)
+{
+	return &board_variants[gta03_get_pcb_revision()];
+}
+
+int is_this_board_gta03(void)
+{
+	/* FIXME: find something gta03 specific */
+	return 1;
+}
+
+static void putc_gta03(char c)
+{
+	serial_putc_s3c64xx(GTA03_DEBUG_UART, c);
+}
+
+int sd_card_init_gta03(void)
+{
+	extern int s3c6410_mmc_init(int verbose);
+
+	return s3c6410_mmc_init(1);
+}
+
+int sd_card_block_read_gta03(unsigned char * buf, unsigned long start512,
+							       int blocks512)
+{
+unsigned long s3c6410_mmc_bread(int dev_num, unsigned long blknr, unsigned long blkcnt,
+								     void *dst);
+
+	return s3c6410_mmc_bread(0, start512, blocks512, buf);
+}
+
+/*
+ * our API for bootloader on this machine
+ */
+const struct board_api board_api_gta03 = {
+	.name = "GTA03",
+	.linux_machine_id = 1626 /*1866*/,
+	.linux_mem_start = 0x50000000,
+	.linux_mem_size = (128 * 1024 * 1024),
+	.linux_tag_placement = 0x50000000 + 0x100,
+	.get_board_variant = get_board_variant_gta03,
+	.is_this_board = is_this_board_gta03,
+	.port_init = port_init_gta03,
+	.putc = putc_gta03,
+	.kernel_source = {
+		[0] = {
+			.name = "SD Card rootfs",
+			.block_read = sd_card_block_read_gta03,
+			.filesystem = FS_EXT2,
+			.partition_index = 2,
+			.filepath = "boot/uImage.bin",
+			.initramfs_filepath = "boot/initramfs.gz",
+			.commandline = "console=ttySAC0,115200 " \
+				       "loglevel=8 init=/bin/sh root=/dev/ram ramdisk_size=6000000"
+		},
+		[1] = {
+			.name = "SD Card backup rootfs",
+			.block_read = sd_card_block_read_gta03,
+			.filesystem = FS_EXT2,
+			.partition_index = 3,
+			.filepath = "boot/uImage.bin",
+			.initramfs_filepath = "boot/initramfs.gz",
+			.commandline = "console=ttySAC0,115200 " \
+				       "loglevel=8 init=/bin/sh "
+		},	},
+};
+
diff --git a/src/cpu/s3c6410/qi.lds b/src/cpu/s3c6410/qi.lds
index dbc9aa8..d148c86 100644
--- a/src/cpu/s3c6410/qi.lds
+++ b/src/cpu/s3c6410/qi.lds
@@ -45,7 +45,7 @@ SECTIONS
 	  src/cpu/s3c6410/start.o		(.text .rodata* .data)
 	  src/cpu/s3c6410/start_qi.o		(.text .rodata* .data)
 	  src/cpu/s3c6410/serial-s3c64xx.o	(.text .rodata* .data)
-	  src/cpu/s3c6410/tla01.o		(.text .rodata* .data)
+	  src/cpu/s3c6410/gta03.o		(.text .rodata* .data)
 	  src/cpu/s3c6410/hs_mmc.o		(.text .rodata* .data)
 	  src/utils.o				(.text .rodata* .data)
 	  src/ctype.o				(.text .rodata* .data)
diff --git a/src/cpu/s3c6410/start_qi.c b/src/cpu/s3c6410/start_qi.c
index 664b378..a12a512 100644
--- a/src/cpu/s3c6410/start_qi.c
+++ b/src/cpu/s3c6410/start_qi.c
@@ -25,7 +25,7 @@
 
 
 #include <qi.h>
-#include <neo_tla01.h>
+#include <neo_gta03.h>
 
 #define stringify2(s) stringify1(s)
 #define stringify1(s) #s
@@ -33,7 +33,7 @@
 extern void bootloader_second_phase(void);
 
 const struct board_api *boards[] = {
-			&board_api_tla01,
+			&board_api_gta03,
 			NULL /* always last */
 };
 
diff --git a/src/cpu/s3c6410/tla01.c b/src/cpu/s3c6410/tla01.c
deleted file mode 100644
index e53e6bd..0000000
--- a/src/cpu/s3c6410/tla01.c
+++ /dev/null
@@ -1,220 +0,0 @@
-#include <qi.h>
-#include <neo_tla01.h>
-#include <serial-s3c64xx.h>
-//#include <ports-s3c24xx.h>
-//#include <i2c-bitbang-s3c24xx.h>
-#include <pcf50633.h>
-
-#define GTA03_DEBUG_UART 0
-
-#define PCF50633_I2C_ADS 0x73
-
-
-static const struct board_variant board_variants[] = {
-	[0] = {
-		.name = "SMDK",
-		.machine_revision = 0x010,
-	},
-};
-
-void port_init_tla01(void)
-{
-#if 0
-	unsigned int * MPLLCON = (unsigned int *)0x4c000004;
-	unsigned int * UPLLCON = (unsigned int *)0x4c000008;
-	unsigned int * CLKDIVN = (unsigned int *)0x4c000014;
-
-	//CAUTION:Follow the configuration order for setting the ports.
-	// 1) setting value(GPnDAT)
-	// 2) setting control register  (GPnCON)
-	// 3) configure pull-up resistor(GPnUP)
-
-	/* 32bit data bus configuration   */
-	/*
-	 * === PORT A GROUP
-	 *     Ports  : GPA22 GPA21  GPA20 GPA19 GPA18 GPA17 GPA16 GPA15 GPA14 GPA13 GPA12
-	 *     Signal : nFCE nRSTOUT nFRE   nFWE  ALE   CLE  nGCS5 nGCS4 nGCS3 nGCS2 nGCS1
-	 *     Binary :  1     1      1  , 1   1   1    1   ,  1     1     1     1
-	 *     Ports  : GPA11   GPA10  GPA9   GPA8   GPA7   GPA6   GPA5   GPA4   GPA3   GPA2   GPA1  GPA0
-	 *     Signal : ADDR26 ADDR25 ADDR24 ADDR23 ADDR22 ADDR21 ADDR20 ADDR19 ADDR18 ADDR17 ADDR16 ADDR0
-	 *     Binary :  1       1      1      1   , 1       1      1      1   ,  1       1     1      1
-	 */
-	rGPACON = 0x007F8FFF;
-	/*
-	 * ===* PORT B GROUP
-	 *      Ports  : GPB10    GPB9    GPB8    GPB7    GPB6     GPB5    GPB4   GPB3   GPB2     GPB1      GPB0
-	 *      Signal : nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nSS_KBD nDIS_OFF L3CLOCK L3DATA L3MODE nIrDATXDEN Keyboard
-	 *      Setting: INPUT  OUTPUT   INPUT  OUTPUT   INPUT   OUTPUT   OUTPUT OUTPUT OUTPUT   OUTPUT    OUTPUT
-	 *      Binary :   00  ,  01       00  ,   01      00   ,  01       01  ,   01     01   ,  01        01
-	 */
-	rGPBCON = 0x00145554;
-	rGPBDAT |= (1 <<9 );	/* USB_PULLUP */
-	rGPBUP = 0x000007FF;
-	/*
-	 * === PORT C GROUP
-	 *     Ports  : GPC15 GPC14 GPC13 GPC12 GPC11 GPC10 GPC9 GPC8  GPC7   GPC6   GPC5 GPC4 GPC3  GPC2  GPC1 GPC0
-	 *     Signal : VD7   VD6   VD5   VD4   VD3   VD2   VD1  VD0 LCDVF2 LCDVF1 LCDVF0 VM VFRAME VLINE VCLK LEND
-	 *     Binary :  10   10  , 10    10  , 10    10  , 10   10  , 10     10  ,  10   10 , 10     10 , 10   10
-	 */
-	rGPCCON = 0xAAA776E9;
-	rGPCUP = 0x0000FFFF;
-	rGPCDAT |= (1 << 9); /* WLAN_nRESET pull high */
-	/*
-	 * === PORT D GROUP
-	 *     Ports  : GPD15 GPD14 GPD13 GPD12 GPD11 GPD10 GPD9 GPD8 GPD7 GPD6 GPD5 GPD4 GPD3 GPD2 GPD1 GPD0
-	 *     Signal : VD23  VD22  VD21  VD20  VD19  VD18  VD17 VD16 VD15 VD14 VD13 VD12 VD11 VD10 VD9  VD8
-	 *     Binary : 10    10  , 10    10  , 10    10  , 10   10 , 10   10 , 10   10 , 10   10 ,10   10
-	 */
-	rGPDCON = 0xAAA0AAA5;
-	rGPDUP = 0x0000FFFF;
-	/*
-	 * === PORT E GROUP
-	 *     Ports  : GPE15  GPE14 GPE13   GPE12   GPE11   GPE10   GPE9    GPE8     GPE7  GPE6  GPE5   GPE4
-	 *     Signal : IICSDA IICSCL SPICLK SPIMOSI SPIMISO SDDATA3 SDDATA2 SDDATA1 SDDATA0 SDCMD SDCLK I2SSDO
-	 *     Binary :  10     10  ,  10      10  ,  10      10   ,  10      10   ,   10    10  , 10     10  ,
-	 *     -------------------------------------------------------------------------------------------------------
-	 *     Ports  :  GPE3   GPE2  GPE1    GPE0
-	 *     Signal : I2SSDI CDCLK I2SSCLK I2SLRCK
-	 *     Binary :  10     10  ,  10      10
-	 */
-	rGPECON = 0xAAAAAAAA;
-	rGPEUP = 0x0000FFFF;
-	/*
-	 * === PORT F GROUP
-	 *     Ports  : GPF7   GPF6   GPF5   GPF4      GPF3     GPF2  GPF1   GPF0
-	 *     Signal : nLED_8 nLED_4 nLED_2 nLED_1 nIRQ_PCMCIA EINT2 KBDINT EINT0
-	 *     Setting: Output Output Output Output    EINT3    EINT2 EINT1  EINT0
-	 *     Binary :  01      01 ,  01     01  ,     10       10  , 10     10
-	 */
-	rGPFCON = 0x0000AAAA;
-	rGPFUP = 0x000000FF;
-
-	/*
-	 * === PORT G GROUP
-	 *     Ports  : GPG15 GPG14 GPG13 GPG12 GPG11    GPG10    GPG9     GPG8     GPG7      GPG6
-	 *     Signal : nYPON  YMON nXPON XMON  EINT19 DMAMODE1 DMAMODE0 DMASTART KBDSPICLK KBDSPIMOSI
-	 *     Setting: nYPON  YMON nXPON XMON  EINT19  Output   Output   Output   SPICLK1    SPIMOSI1
-	 *     Binary :   11    11 , 11    11  , 10      01    ,   01       01   ,    11         11
-	 *     -----------------------------------------------------------------------------------------
-	 *     Ports  :    GPG5       GPG4    GPG3    GPG2    GPG1    GPG0
-	 *     Signal : KBDSPIMISO LCD_PWREN EINT11 nSS_SPI IRQ_LAN IRQ_PCMCIA
-	 *     Setting:  SPIMISO1  LCD_PWRDN EINT11   nSS0   EINT9    EINT8
-	 *     Binary :     11         11   ,  10      11  ,  10        10
-	 */
-	rGPGCON = 0x02A9FE5A;
-	rGPGUP = 0x0000FFFF;
-
-	/*
-	 * === PORT H GROUP
-	 *     Ports  :  GPH10    GPH9  GPH8 GPH7  GPH6  GPH5 GPH4 GPH3 GPH2 GPH1  GPH0
-	 *     Signal : CLKOUT1 CLKOUT0 UCLK RXD2 TXD2 RXD1 TXD1 RXD0 TXD0 nRTS0 nCTS0
-	 *     Binary :   10   ,  10     10 , 11    11  , 10   10 , 10   10 , 10    10
-	 */
-	/* pulldown on GPH08: UEXTCLK, just floats!
-	 * pulldown GPH0 -- nCTS0 / RTS_MODEM -- floats when GSM off
-	 * pulldown GPH3 -- RXD[0] / TX_MODEM -- floats when GSM off
-	 */
-	rGPHCON = 0x0019A0AA;
-	rGPHUP = 0x000007FF;
-
-	/* pulldown on GPJ00: input, just floats! */
-	/* pulldown on GPJ07: WLAN module WLAN_GPIO0, no ext pull */
-	rGPJCON = 0x02AAAAAA;
-	rGPJUP = 0x1FFFF;
-
-	/*
-	 * We have to talk to the PMU a little bit
-	 */
-
-	/* We need SD Card rail (HCLDO) at 3.0V */
-	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOOUT,
-									    21);
-
-	/* switch HCLDO on */
-	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOENA, 1);
-
-	/* push DOWN1 (CPU Core rail) to 1.7V, allowing 533MHz */
-	i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_DOWN1OUT,
-									  0x2b);
-#endif
-
-}
-
-/**
- * returns PCB revision information in b0, d8, d9
- * GTA03 EVB returns 0x000
- * GTA03 returns 0x001
- */
-
-int tla01_get_pcb_revision(void)
-{
-	return 0;
-}
-
-const struct board_variant const * get_board_variant_tla01(void)
-{
-	return &board_variants[tla01_get_pcb_revision()];
-}
-
-int is_this_board_tla01(void)
-{
-	/* FIXME: find something tla01 specific */
-	return 1;
-}
-
-static void putc_tla01(char c)
-{
-	serial_putc_s3c64xx(GTA03_DEBUG_UART, c);
-}
-
-int sd_card_init_tla01(void)
-{
-	extern int s3c6410_mmc_init(int verbose);
-
-	return s3c6410_mmc_init(1);
-}
-
-int sd_card_block_read_tla01(unsigned char * buf, unsigned long start512,
-							       int blocks512)
-{
-unsigned long s3c6410_mmc_bread(int dev_num, unsigned long blknr, unsigned long blkcnt,
-								     void *dst);
-
-	return s3c6410_mmc_bread(0, start512, blocks512, buf);
-}
-
-/*
- * our API for bootloader on this machine
- */
-const struct board_api board_api_tla01 = {
-	.name = "TLA01",
-	.linux_machine_id = 1626 /*1866*/,
-	.linux_mem_start = 0x50000000,
-	.linux_mem_size = (128 * 1024 * 1024),
-	.linux_tag_placement = 0x50000000 + 0x100,
-	.get_board_variant = get_board_variant_tla01,
-	.is_this_board = is_this_board_tla01,
-	.port_init = port_init_tla01,
-	.putc = putc_tla01,
-	.kernel_source = {
-		[0] = {
-			.name = "SD Card rootfs",
-			.block_read = sd_card_block_read_tla01,
-			.filesystem = FS_EXT2,
-			.partition_index = 2,
-			.filepath = "boot/uImage.bin",
-			.initramfs_filepath = "boot/initramfs.gz",
-			.commandline = "console=ttySAC0,115200 " \
-				       "loglevel=8 init=/bin/sh root=/dev/ram ramdisk_size=6000000"
-		},
-		[1] = {
-			.name = "SD Card backup rootfs",
-			.block_read = sd_card_block_read_tla01,
-			.filesystem = FS_EXT2,
-			.partition_index = 3,
-			.filepath = "boot/uImage.bin",
-			.initramfs_filepath = "boot/initramfs.gz",
-			.commandline = "console=ttySAC0,115200 " \
-				       "loglevel=8 init=/bin/sh "
-		},	},
-};




More information about the openmoko-kernel mailing list