aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-11-19config-add-alsa.patchwarmcat
2008-11-19fix-s3c2410_timer_setup-resume-BUG.patchwarmcat
2008-11-19debug-suspend-dump-gpio-states-add-GPA.patchAndy Green
Add support for GPA[] GPIO bus since we have some NCs but they seem to output-only IO cells so no matter Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19introduce-bq27000-battery-driver.patchAndy Green
This is a driver for the bq27000 found in the Highcell A5 battery, and the platform device stuff for it for GTA02. It is a Power Supply Class battery device. The driver doesn't contain an HDQ engine but accepts pointers from the platform data to the HDQ action routines; our platform data plugs it into the FIQ HDQ engine stuff. The Power Supply class exposes the battery down /sys so you can find out battery status by doing the equivalent of this bash command for i in capacity charge_full current_now present status technology temp time_to_empty_now time_to_full_now type voltage_now ; do echo -n "$i " ; cat /sys/devices/platform/bq27000-battery.0/power_supply/bat/$i ; done Here is the kind of result you get from a battery discharging capacity 0 charge_full 1215585 current_now 183375 present 1 status Discharging technology Li-ion temp 276 time_to_empty_now 0 time_to_full_now 3932100 type Battery voltage_now 2761000 Note that temp is in 1/10 degrees C, other values are in uV, uA, uW. The time_to_* reported are bogus, but that is what the battery actually reports. We can make more mappings to entries in power_supply class but this is enough to get started with. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19introduce-fiq-hdq.patchAndy Green
This adds a platform driver and device which performs HDQ battery protocol using a single GPIO pin which is set through platform data. HDQ has some hard latency requirements which can't be met if interrupts are enabled, so normally using a GPIO for this will require blocking out all other interrupts and processes for several milliseconds per register being read or written. This HDQ protocol engine is a FSM implemented inside the the FIQ ISR and regulated by timer interrupts happening at 20us intervals. The path through the FSM on any "clock" is very short and should be over with in ~ 1us. Because FIQ has guaranteed latencies of <1us, it means we can service the HDQ protocol without blocking interrupts or any other process other than the caller that is waiting for the result. It's pretty cool performance from 1 GPIO ;-) Due to it being hard to do locking from the FIQ ISR the code simply sleeps 10ms or whatever the scheduler gives it and checks if the transfer took place yet. This platform driver doesn't have any knowledge about the device it is talking to, it just knows it is a HDQ device. It exports three functions for read, write and confirming HDQ is initialized. It also exports two /sys nodes that are usable by humans, one dumps the whole 127 register HDQ register space # cat /sys/devices/platform/gta02-hdq.0/hdq/dump 00 44 55 00 00 00 ba 04 a2 0d 50 00 00 00 00 00 00 00 9a 1a 00 00 ff ff ff ff 29 00 00 00 80 2b 00 00 00 00 00 00 ff ff 00 00 00 00 00 32 af 06 a0 d8 37 4e 00 00 00 00 00 00 00 34 2e 03 b4 e7 00 00 06 00 41 00 4c 02 00 00 00 00 00 00 00 00 83 02 00 00 94 09 59 b9 a5 0d 7f 21 00 00 7a ff df ff 62 ff a7 04 2e 05 00 00 00 01 00 07 00 00 2a 78 36 67 7b b5 1b a9 af 19 38 89 63 57 42 7c # and the other allows to set one register # echo 2 170 > /sys/devices/platform/gta02-hdq.0/hdq/write writes 0xAA into register 2. Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19clean-snip-gpio-reinit.patchwarmcat
These are initialized already Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19bugfix-deglitch-gpio-output-enable.patchwarmcat
2008-11-19contrib-fix-chgstate-array-bloat.patchMike Montour
--- linux-2.6.22/drivers/i2c/chips/pcf50606.c.orig 2008-01-17 22:30:16.000000000 -0800 +++ linux-2.6.22/drivers/i2c/chips/pcf50606.c 2008-01-17 22:31:43.000000000 -0800 @@ -71,12 +71,19 @@ I2C_CLIENT_INSMOD_1(pcf50606); -#define PCF50606_F_CHG_FAST 0x00000001 /* Charger Fast allowed */ -#define PCF50606_F_CHG_PRESENT 0x00000002 /* Charger present */ -#define PCF50606_F_CHG_FOK 0x00000004 /* Fast OK for battery */ -#define PCF50606_F_CHG_ERR 0x00000008 /* Charger Error */ -#define PCF50606_F_CHG_PROT 0x00000010 /* Charger Protection */ -#define PCF50606_F_CHG_READY 0x00000020 /* Charging completed */ +#define PCF50606_B_CHG_FAST 0 /* Charger Fast allowed */ +#define PCF50606_B_CHG_PRESENT 1 /* Charger present */ +#define PCF50606_B_CHG_FOK 2 /* Fast OK for battery */ +#define PCF50606_B_CHG_ERR 3 /* Charger Error */ +#define PCF50606_B_CHG_PROT 4 /* Charger Protection */ +#define PCF50606_B_CHG_READY 5 /* Charging completed */ + +#define PCF50606_F_CHG_FAST (1<<PCF50606_B_CHG_FAST) /* Charger Fast allowed */ +#define PCF50606_F_CHG_PRESENT (1<<PCF50606_B_CHG_PRESENT) /* Charger present */ +#define PCF50606_F_CHG_FOK (1<<PCF50606_B_CHG_FOK) /* Fast OK for battery */ +#define PCF50606_F_CHG_ERR (1<<PCF50606_B_CHG_ERR) /* Charger Error */ +#define PCF50606_F_CHG_PROT (1<<PCF50606_B_CHG_PROT) /* Charger Protection */ +#define PCF50606_F_CHG_READY (1<<PCF50606_B_CHG_READY) /* Charging completed */ #define PCF50606_F_CHG_MASK 0x000000fc #define PCF50606_F_PWR_PRESSED 0x00000100 @@ -1026,12 +1033,12 @@ static DEVICE_ATTR(chgmode, S_IRUGO | S_IWUSR, show_chgmode, set_chgmode); static const char *chgstate_names[] = { - [PCF50606_F_CHG_FAST] = "fast_enabled", - [PCF50606_F_CHG_PRESENT] = "present", - [PCF50606_F_CHG_FOK] = "fast_ok", - [PCF50606_F_CHG_ERR] = "error", - [PCF50606_F_CHG_PROT] = "protection", - [PCF50606_F_CHG_READY] = "ready", + [PCF50606_B_CHG_FAST] = "fast_enabled", + [PCF50606_B_CHG_PRESENT] = "present", + [PCF50606_B_CHG_FOK] = "fast_ok", + [PCF50606_B_CHG_ERR] = "error", + [PCF50606_B_CHG_PROT] = "protection", + [PCF50606_B_CHG_READY] = "ready", }; static ssize_t show_chgstate(struct device *dev, struct device_attribute *attr,
2008-11-19local-config-ext2.patchwarmcat
2008-11-19local-config-pmu.patchwarmcat
2008-11-19local-config-defconfig-motion-sensor-gpio.patchwarmcat
2008-11-19local-config-wlan-config-changes.patchwarmcat
2008-11-19local-config-add-bluetooth-monolithic.patchwarmcat
Add Bluetooth in monolithic kernel
2008-11-19local-config-add-vfat-nls-to-kern.patchwarmcat
SD Card / VFAT in monolithic kernel Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19local-update-defconfig-for-2.6-dev.patchwarmcat
Make a defconfig for 2.6.24 out of the current 2.6.22.5 one From: warmcat <andy@warmcat.com>
2008-11-19local-build-new-dfu-vid.patchwarmcat
Update to new DFU VID for A5 Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19local-build-scripts.patchwarmcat
Add a couple of handy scripts to crossmake and send over dfu From: warmcat <andy@warmcat.com>
2008-11-19local-add-defconfig.patchwarmcat
Adds svn defconfig From: warmcat <andy@warmcat.com>
2008-11-19fix-wm8753-DBG.patchAndy Green
Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19glamo-cmdqueue-bandaid.patchmokopatches
[ Stop kernel from hanging every once in a while during Glamo initialization. ] debug-glamo-fb-cmdqueue-wait-timeout.patch From: warmcat <andy@warmcat.com>
2008-11-19gta02-sound-bandaid.patchmokopatches
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=1172 This patch seems to alleviate the symptoms but doesn't cure them. Keep it to keep development going, until we have a proper solution.
2008-11-19suspend-prelim1.patchmokopatches
2008-11-19gta01-dehang-printk.patchmokopatches
This is a temporary work-around Mike Westerhof for this bug: http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=788 See also http://lists.openmoko.org/pipermail/openmoko-kernel/2008-February/000804.html (It's the 2nd option.) We may settle on a different solution in the future, depending on feedback from upstream.
2008-11-19fix-pcf50633-LOWBAT-kill-init.patchmokopatches
2008-11-19fix-pcf50606-LOWBAT-kill-init.patchmokopatches
2008-11-19fix-hwecc-2410.patchmokopatches
S3C24xx ECC mis-calculates the bit to flip: http://lists.infradead.org/pipermail/linux-mtd/2007-October/019586.html If the error couldn't be corrected, we returned "no problem" :-( http://lists.infradead.org/pipermail/linux-mtd/2007-October/019615.html Signed-off-by: Werner Almesberger <werner@openmoko.org>
2008-11-19atheros_2_0_sdio_stack.patchmokopatches
2008-11-19atheros_2_0_hcd.patchmokopatches
2008-11-19atheros_2_0_function.patchmokopatches
2008-11-19pnp_fixes.patchmokopatches
2008-11-19s3c2410-usb-switch.patchmokopatches
2008-11-19bq27000-battery-driver.patchmokopatches
2008-11-19fiq-hdq.patchmokopatches
2008-11-19introduce-fiq-migrate-vibrator-gta02-only.patchmokopatches
On GTA02 we use FIQ to manage the vibrator IO now. That is necessary because we stole timer3 from doing hw pwm for vibrator. This keeps the same UI in /sys but does "bitbang pwm" on the same vibrator GPIO From: Andy Green <andy@openmoko.com> Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19introduce-fiq-use-timer3-as-source.patchmokopatches
This makes the FIQ stuff specific to one of the timers on the s3c244x and adds the platform stuff for fiq in the gta02 init Currently one sysfs node is exposed, a count of FIQ events cat /sys/devices/platform/sc32440_fiq.0/fiq/count From: Andy Green <andy@openmoko.com> Signed-off-by: Andy Green <andy@openmoko.com>
2008-11-19introduce-fiq-basis.patchmokopatches
Adds a C-based FIQ ISR which is very convenient (and unusual -- normally you have to do FIQ ISR in assembler only). Based on my article: http://warmcat.com/_wp/2007/09/17/at91rm9200-fiq-faq-and-simple-example-code-patch/ Implemented as a platform device and driver. Suspend / resume is tested and works. Signed-off-by: Andy Green <andy@warmcat.com>
2008-11-19fail-unless-uimage.patchmokopatches
Fail the build noisily if "mkimage" can't be found, e.g., if we forgot to add the u-boot directory to PATH.
2008-11-19s3c2410-qt2410-buttons.patchmokopatches
2008-11-19s3c2440-nand-disable-hwecc.patchmokopatches
Disable the hardware ECC checking on S3C2440 based platforms (HXD8, SMDK2440, GTA02) for the time being, since our u-boot doesn't yet support it for 2k page size NAND
2008-11-19input-nots-mousedev.patchmokopatches
This patch disables the reporting of touchscreen-like devices via /dev/input/mice. In the Neo1973 (much like other handheld devices), we need this to distinguish between the touchscreen (which uses tslib) and optional additional usb/bluetooth mice that might be attached. Signed-off-by: Harald Welte <laforge@openmoko.org>
2008-11-19pm-debug_less_verbose.patchmokopatches
2008-11-19config-nr-tty-devices.patchmokopatches
2008-11-19openmoko-logo.patchmokopatches
2008-11-19gta02-bt-fixes.patchmokopatches
Modify GTA02 power manager for bluetooth. 1. Default power value isn't correct. Now we set pcf50633 LDO4 to 3.2 voltage. 2. Separate GTA01 and GTA02 source code. 3. Add pcf50633 API for enable register.
2008-11-19pcf506xx.patchmokopatches
Moved shared PMU code from pcf50606.h and pcf50633.h (which prevented inclusion of both at the same time) to pcf506xx.h - include/linux/pcf50606.h (struct pmu_voltage_rail, enum pmu_event, pmu_cb): moved to pcf506xx.h - include/linux/pcf50633.h (struct pmu_voltage_rail, enum pmu_event, pmu_cb): moved to pcf506xx.h Signed off-by: Werner Almesberger <werner@openmoko.org>
2008-11-19gta02-acc.patchmokopatches
2008-11-19gta02-leds.patchmokopatches
2008-11-19lis302dl.patchmokopatches
This is a Linux driver for the STmicro LIS302DL 3-axis accelerometer. Signed-off-by: Harald Welte <laforge@openmoko.org>
2008-11-19gta02-sound.patchmokopatches
2008-11-19gta02-power_control.patchmokopatches