r4283 - branches/src/target/kernel/2.6.24.x/patches

werner at sita.openmoko.org werner at sita.openmoko.org
Tue Apr 1 05:11:48 CEST 2008


Author: werner
Date: 2008-04-01 05:11:43 +0200 (Tue, 01 Apr 2008)
New Revision: 4283

Modified:
   branches/src/target/kernel/2.6.24.x/patches/bq27000-battery-driver.patch
   branches/src/target/kernel/2.6.24.x/patches/fiq-hdq.patch
   branches/src/target/kernel/2.6.24.x/patches/gta02-core.patch
   branches/src/target/kernel/2.6.24.x/patches/gta02-power_control.patch
Log:
Introduce GTA02v6, for now as equivalent of GTA02v5.

gta02-core.patch:
- include/asm-arm/arch-s3c2410/gta02.h (GTA02v6_SYSTEM_REV): added revision
  0x360
- arch/arm/mach-s3c2440/mach-gta02.c (mangle_pmu_pdata_by_system_rev,
  gta02_glamo_mmc_set_power): added GTA02v6_SYSTEM_REV (equivalent to
  GTA02v5_SYSTEM_REV)
  
gta02-power_control.patch:
- arch/arm/plat-s3c24xx/neo1973_pm_gsm.c (gsm_write, gta01_gsm_probe): added
  GTA02v6_SYSTEM_REV (equivalent to GTA02v5_SYSTEM_REV)
- arch/arm/plat-s3c24xx/neo1973_pm_gps.c (gta01_pm_gps_probe): added
  GTA02v6_SYSTEM_REV (equivalent to GTA02v5_SYSTEM_REV)
  
bq27000-battery-driver.patch:
- arch/arm/mach-s3c2440/mach-gta02.c (gta02_machine_init): added
  GTA02v6_SYSTEM_REV (equivalent to GTA02v5_SYSTEM_REV)
  
fiq-hdq.patch:
- arch/arm/mach-s3c2440/mach-gta02.c (gta02_machine_init): added
  GTA02v6_SYSTEM_REV (equivalent to GTA02v5_SYSTEM_REV)



Modified: branches/src/target/kernel/2.6.24.x/patches/bq27000-battery-driver.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/bq27000-battery-driver.patch	2008-04-01 01:53:34 UTC (rev 4282)
+++ branches/src/target/kernel/2.6.24.x/patches/bq27000-battery-driver.patch	2008-04-01 03:11:43 UTC (rev 4283)
@@ -11,7 +11,7 @@
  
  /* define FIQ IPC struct */
  /*
-@@ -578,6 +580,24 @@
+@@ -580,6 +582,24 @@
  };
  #endif
  
@@ -36,9 +36,9 @@
  /* NOR Flash */
  
  #define GTA02_FLASH_BASE	0x18000000 /* GCS3 */
-@@ -1245,6 +1265,7 @@
- 	switch (system_rev) {
+@@ -1250,6 +1270,7 @@
  	case GTA02v5_SYSTEM_REV:
+ 	case GTA02v6_SYSTEM_REV:
  		platform_device_register(&gta02_hdq_device);
 +		platform_device_register(&bq27000_battery_device);
  		break;

Modified: branches/src/target/kernel/2.6.24.x/patches/fiq-hdq.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/fiq-hdq.patch	2008-04-01 01:53:34 UTC (rev 4282)
+++ branches/src/target/kernel/2.6.24.x/patches/fiq-hdq.patch	2008-04-01 03:11:43 UTC (rev 4283)
@@ -103,7 +103,7 @@
 +		hdq_state = HDQB_WAIT_RX;
 +		s3c2410_gpio_cfgpin(fiq_ipc.hdq_gpio_pin, S3C2410_GPIO_INPUT);
 +		break;
-+
+ 
 +	case HDQB_WAIT_TX: /* issue low for > 40us */
 +		if (--hdq_ctr)
 +			break;
@@ -120,7 +120,7 @@
 +		/* idle in input mode, it's pulled up by 10K */
 +		s3c2410_gpio_cfgpin(fiq_ipc.hdq_gpio_pin, S3C2410_GPIO_INPUT);
 +		break;
-+
+ 
 +	case HDQB_WAIT_RX: /* wait for battery to talk to us */
 +		if (s3c2410_gpio_getpin(fiq_ipc.hdq_gpio_pin) == 0) {
 +			/* it talks to us! */
@@ -168,7 +168,7 @@
 +		fiq_ipc.hdq_transaction_ctr++;
 +		hdq_state = HDQB_IDLE; /* abort */
 +		break;
- 
++
 +	case HDQB_DATA_RX_HIGH:
 +		if (!s3c2410_gpio_getpin(fiq_ipc.hdq_gpio_pin)) {
 +			/* it talks to us! */
@@ -187,7 +187,7 @@
 +		hdq_state = HDQB_IDLE; /* abort */
 +		break;
 +	}
- 
++
 +	if (hdq_state != HDQB_IDLE) /* ie, not idle */
 +		if (divisor > FIQ_DIVISOR_HDQ)
 +			divisor = FIQ_DIVISOR_HDQ; /* keep us going */
@@ -195,7 +195,7 @@
  
  	/* disable further timer interrupts if nobody has any work
  	 * or adjust rate according to who still has work
-@@ -386,6 +561,23 @@
+@@ -388,6 +563,23 @@
  	.resource	= sc32440_fiq_resources,
  };
  
@@ -219,13 +219,14 @@
  /* NOR Flash */
  
  #define GTA02_FLASH_BASE	0x18000000 /* GCS3 */
-@@ -1049,6 +1241,15 @@
+@@ -1053,6 +1245,16 @@
  
  	platform_add_devices(gta02_devices, ARRAY_SIZE(gta02_devices));
  
 +#ifdef CONFIG_GTA02_HDQ
 +	switch (system_rev) {
 +	case GTA02v5_SYSTEM_REV:
++	case GTA02v6_SYSTEM_REV:
 +		platform_device_register(&gta02_hdq_device);
 +		break;
 +	default:
@@ -560,7 +561,7 @@
 ===================================================================
 --- linux-2.6.24.orig/include/asm-arm/arch-s3c2410/gta02.h
 +++ linux-2.6.24/include/asm-arm/arch-s3c2410/gta02.h
-@@ -36,6 +36,7 @@
+@@ -37,6 +37,7 @@
  
  #define GTA02v3_GPIO_nG1_CS	S3C2410_GPD12	/* v3 + v4 only */
  #define GTA02v3_GPIO_nG2_CS	S3C2410_GPD13	/* v3 + v4 only */

Modified: branches/src/target/kernel/2.6.24.x/patches/gta02-core.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/gta02-core.patch	2008-04-01 01:53:34 UTC (rev 4282)
+++ branches/src/target/kernel/2.6.24.x/patches/gta02-core.patch	2008-04-01 03:11:43 UTC (rev 4283)
@@ -2,7 +2,7 @@
 ===================================================================
 --- /dev/null
 +++ linux-2.6.24/arch/arm/mach-s3c2440/mach-gta02.c
-@@ -0,0 +1,824 @@
+@@ -0,0 +1,826 @@
 +/*
 + * linux/arch/arm/mach-s3c2440/mach-gta02.c
 + *
@@ -261,6 +261,7 @@
 +	case GTA02v3_SYSTEM_REV:
 +	case GTA02v4_SYSTEM_REV:
 +	case GTA02v5_SYSTEM_REV:
++	case GTA02v6_SYSTEM_REV:
 +		/* we need to keep the 1.8V going since this is the SDRAM
 +		 * self-refresh voltage */
 +		gta02_pcf_pdata.rails[PCF50633_REGULATOR_DOWN2].flags =
@@ -612,6 +613,7 @@
 +	case GTA02v3_SYSTEM_REV:
 +	case GTA02v4_SYSTEM_REV:
 +	case GTA02v5_SYSTEM_REV:
++	case GTA02v6_SYSTEM_REV:
 +		/* depend on pcf50633 driver init */
 +		if (!pcf50633_global)
 +			while (!pcf50633_global)
@@ -831,7 +833,7 @@
 ===================================================================
 --- /dev/null
 +++ linux-2.6.24/include/asm-arm/arch-s3c2410/gta02.h
-@@ -0,0 +1,98 @@
+@@ -0,0 +1,99 @@
 +#ifndef _GTA02_H
 +#define _GTA02_H
 +
@@ -844,6 +846,7 @@
 +#define GTA02v3_SYSTEM_REV	0x00000330
 +#define GTA02v4_SYSTEM_REV	0x00000340
 +#define GTA02v5_SYSTEM_REV	0x00000350
++#define GTA02v6_SYSTEM_REV	0x00000360
 +
 +#define GTA02_GPIO_n3DL_GSM	S3C2410_GPA13	/* v1 + v2 + v3 only */
 +

Modified: branches/src/target/kernel/2.6.24.x/patches/gta02-power_control.patch
===================================================================
--- branches/src/target/kernel/2.6.24.x/patches/gta02-power_control.patch	2008-04-01 01:53:34 UTC (rev 4282)
+++ branches/src/target/kernel/2.6.24.x/patches/gta02-power_control.patch	2008-04-01 03:11:43 UTC (rev 4283)
@@ -12,7 +12,7 @@
  
  #define DRVMSG "FIC Neo1973 Bluetooth Power Management"
  
-@@ -27,14 +29,30 @@ static ssize_t bt_read(struct device *de
+@@ -27,14 +29,30 @@
  		       char *buf)
  {
  	if (!strcmp(attr->attr.name, "power_on")) {
@@ -50,7 +50,7 @@
  	}
  
  	return strlcpy(buf, "0\n", 3);
-@@ -48,20 +66,37 @@ static ssize_t bt_write(struct device *d
+@@ -48,20 +66,37 @@
  	unsigned long on = simple_strtoul(buf, NULL, 10);
  
  	if (!strcmp(attr->attr.name, "power_on")) {
@@ -99,7 +99,7 @@
  	}
  
  	return count;
-@@ -107,9 +142,16 @@ static int __init gta01_bt_probe(struct 
+@@ -107,9 +142,16 @@
  {
  	dev_info(&pdev->dev, DRVMSG ": starting\n");
  
@@ -139,7 +139,7 @@
  struct gta01pm_priv {
  	int gpio_ngsm_en;
  	struct console *con;
-@@ -54,8 +61,16 @@ static ssize_t gsm_read(struct device *d
+@@ -54,8 +61,16 @@
  		if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_RST))
  			goto out_1;
  	} else if (!strcmp(attr->attr.name, "download")) {
@@ -158,7 +158,7 @@
  	}
  
  	return strlcpy(buf, "0\n", 3);
-@@ -70,32 +85,65 @@ static ssize_t gsm_write(struct device *
+@@ -70,32 +85,67 @@
  
  	if (!strcmp(attr->attr.name, "power_on")) {
  		if (on) {
@@ -181,6 +181,7 @@
 +			case GTA02v3_SYSTEM_REV:
 +			case GTA02v4_SYSTEM_REV:
 +			case GTA02v5_SYSTEM_REV:
++			case GTA02v6_SYSTEM_REV:
 +				pcf50633_gpio_set(pcf50633_global,
 +						  PCF50633_GPIO2, 1);
 +				break;
@@ -197,6 +198,7 @@
 +			case GTA02v3_SYSTEM_REV:
 +			case GTA02v4_SYSTEM_REV:
 +			case GTA02v5_SYSTEM_REV:
++			case GTA02v6_SYSTEM_REV:
 +				pcf50633_gpio_set(pcf50633_global,
 +						  PCF50633_GPIO2, 0);
 +				break;
@@ -231,7 +233,7 @@
  	}
  
  	return count;
-@@ -111,6 +159,9 @@ static int gta01_gsm_suspend(struct plat
+@@ -111,6 +161,9 @@
  	/* GPIO state is saved/restored by S3C2410 core GPIO driver, so we
  	 * don't need to do anything here */
  
@@ -241,7 +243,7 @@
  	return 0;
  }
  
-@@ -124,6 +175,8 @@ static int gta01_gsm_resume(struct platf
+@@ -124,6 +177,8 @@
  	if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_ON) && gta01_gsm.con)
  		console_stop(gta01_gsm.con);
  
@@ -250,7 +252,7 @@
  	return 0;
  }
  #else
-@@ -134,7 +187,7 @@ static int gta01_gsm_resume(struct platf
+@@ -134,7 +189,7 @@
  static struct attribute *gta01_gsm_sysfs_entries[] = {
  	&dev_attr_power_on.attr,
  	&dev_attr_reset.attr,
@@ -259,7 +261,7 @@
  	NULL
  };
  
-@@ -158,8 +211,17 @@ static int __init gta01_gsm_probe(struct
+@@ -158,8 +213,18 @@
  		gta01_gsm.gpio_ngsm_en = GTA01Bv2_GPIO_nGSM_EN;
  		s3c2410_gpio_setpin(GTA01v3_GPIO_nGSM_EN, 0);
  		break;
@@ -269,6 +271,7 @@
 +	case GTA02v3_SYSTEM_REV:
 +	case GTA02v4_SYSTEM_REV:
 +	case GTA02v5_SYSTEM_REV:
++	case GTA02v6_SYSTEM_REV:
 +		gta01_gsm.gpio_ngsm_en = 0;
 +		break;
 +#endif
@@ -278,7 +281,7 @@
  			 "some PM features not available!!!\n",
  			 system_rev);
  		break;
-@@ -175,9 +237,13 @@ static int __init gta01_gsm_probe(struct
+@@ -175,9 +240,13 @@
  		break;
  	}
  
@@ -320,7 +323,7 @@
  
  /* This is the 2.8V supply for the RTC crystal, the mail clock crystal and
   * the input to VDD_RF */
-@@ -248,15 +256,42 @@ static int gps_power_1v5_get(void)
+@@ -248,15 +256,42 @@
  /* This is the POWERON pin */
  static void gps_pwron_set(int on)
  {
@@ -368,7 +371,7 @@
  }
  
  /* This is the nRESET pin */
-@@ -441,17 +476,40 @@ static DEVICE_ATTR(power_sequence, 0644,
+@@ -441,17 +476,40 @@
  static int gta01_pm_gps_suspend(struct platform_device *pdev,
  				pm_message_t state)
  {
@@ -413,7 +416,7 @@
  	return 0;
  }
  #else
-@@ -476,59 +534,109 @@ static struct attribute_group gta01_gps_
+@@ -476,59 +534,110 @@
  	.attrs	= gta01_gps_sysfs_entries,
  };
  
@@ -524,6 +527,7 @@
 +		case GTA02v3_SYSTEM_REV:
 +		case GTA02v4_SYSTEM_REV:
 +		case GTA02v5_SYSTEM_REV:
++		case GTA02v6_SYSTEM_REV:
 +			pcf50633_voltage_set(pcf50633_global,
 +				PCF50633_REGULATOR_LDO5, 3000);
 +			pcf50633_onoff_set(pcf50633_global,





More information about the commitlog mailing list