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(>a02_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(>a02_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