diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-20 17:52:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-20 17:52:36 -0700 |
commit | 050335db2a777ffaa859d77beb05fffe9e8c5ae9 (patch) | |
tree | 6f1fb3e3477de613b4adac8c46bd6e86301ed8ae /arch/arm/mach-pxa/corgi_pm.c | |
parent | a4cfae13cef6a700a04b13ba1d819c0641b1b26f (diff) | |
parent | 905f14672e6d0552bfde954d5f7adb5f2c7a7960 (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (42 commits)
[ARM] Fix tosa build error
[ARM] 3610/1: Make reboot work on Versatile
[ARM] 3609/1: S3C24XX: defconfig update for s3c2410_defconfig
[ARM] 3591/1: Anubis: IDE device definitions
[ARM] Include asm/hardware.h not asm/arch/hardware.h
[ARM] 3594/1: Poodle: Add touchscreen support + other updates
[ARM] 3564/1: sharpsl_pm: Abstract some machine specific parameters
[ARM] 3561/1: Poodle: Correct the MMC/SD power control
[ARM] 3593/1: Add reboot and shutdown handlers for Zaurus handhelds
[ARM] 3599/1: AT91RM9200 remove global variables
[ARM] 3607/1: AT91RM9200 misc fixes
[ARM] 3605/1: AT91RM9200 Power Management
[ARM] 3604/1: AT91RM9200 New boards
[ARM] 3603/1: AT91RM9200 remove old files
[ARM] 3592/1: AT91RM9200 Serial driver update
[ARM] 3590/1: AT91RM9200 Platform devices support
[ARM] 3589/1: AT91RM9200 DK/EK board update
[ARM] 3588/1: AT91RM9200 CSB337/637 board update
[ARM] 3587/1: AT91RM9200 hardware headers
[ARM] 3586/1: AT91RM9200 header update
...
Diffstat (limited to 'arch/arm/mach-pxa/corgi_pm.c')
-rw-r--r-- | arch/arm/mach-pxa/corgi_pm.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/arch/arm/mach-pxa/corgi_pm.c b/arch/arm/mach-pxa/corgi_pm.c index 7a1ab73e9e1..4c3de4008a4 100644 --- a/arch/arm/mach-pxa/corgi_pm.c +++ b/arch/arm/mach-pxa/corgi_pm.c @@ -27,6 +27,13 @@ #include <asm/arch/pxa-regs.h> #include "sharpsl.h" +#define SHARPSL_CHARGE_ON_VOLT 0x99 /* 2.9V */ +#define SHARPSL_CHARGE_ON_TEMP 0xe0 /* 2.9V */ +#define SHARPSL_CHARGE_ON_ACIN_HIGH 0x9b /* 6V */ +#define SHARPSL_CHARGE_ON_ACIN_LOW 0x34 /* 2V */ +#define SHARPSL_FATAL_ACIN_VOLT 182 /* 3.45V */ +#define SHARPSL_FATAL_NOACIN_VOLT 170 /* 3.40V */ + static void corgi_charger_init(void) { pxa_gpio_mode(CORGI_GPIO_ADC_TEMP_ON | GPIO_OUT); @@ -195,9 +202,16 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = { .read_devdata = corgipm_read_devdata, .charger_wakeup = corgi_charger_wakeup, .should_wakeup = corgi_should_wakeup, - .bat_levels = 40, - .bat_levels_noac = spitz_battery_levels_noac, - .bat_levels_acin = spitz_battery_levels_acin, + .backlight_limit = corgibl_limit_intensity, + .charge_on_volt = SHARPSL_CHARGE_ON_VOLT, + .charge_on_temp = SHARPSL_CHARGE_ON_TEMP, + .charge_acin_high = SHARPSL_CHARGE_ON_ACIN_HIGH, + .charge_acin_low = SHARPSL_CHARGE_ON_ACIN_LOW, + .fatal_acin_volt = SHARPSL_FATAL_ACIN_VOLT, + .fatal_noacin_volt= SHARPSL_FATAL_NOACIN_VOLT, + .bat_levels = 40, + .bat_levels_noac = spitz_battery_levels_noac, + .bat_levels_acin = spitz_battery_levels_acin, .status_high_acin = 188, .status_low_acin = 178, .status_high_noac = 185, @@ -214,6 +228,9 @@ static int __devinit corgipm_init(void) if (!corgipm_device) return -ENOMEM; + if (!machine_is_corgi()) + corgi_pm_machinfo.batfull_irq = 1; + corgipm_device->dev.platform_data = &corgi_pm_machinfo; ret = platform_device_add(corgipm_device); |