diff options
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1087-introduce-fiq-hdq.patch.patch')
-rw-r--r-- | target/linux/s3c24xx/patches-2.6.24/1087-introduce-fiq-hdq.patch.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1087-introduce-fiq-hdq.patch.patch b/target/linux/s3c24xx/patches-2.6.24/1087-introduce-fiq-hdq.patch.patch deleted file mode 100644 index ada6b7c..0000000 --- a/target/linux/s3c24xx/patches-2.6.24/1087-introduce-fiq-hdq.patch.patch +++ /dev/null @@ -1,87 +0,0 @@ -From ab6e925546e3d3361ab59c2b090eccf0cb411c7b Mon Sep 17 00:00:00 2001 -From: Andy Green <andy@openmoko.com> -Date: Sun, 13 Apr 2008 07:25:48 +0100 -Subject: [PATCH] introduce-fiq-hdq.patch - -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> ---- - defconfig-2.6.24 | 1 + - drivers/power/Kconfig | 8 ++++++++ - 2 files changed, 9 insertions(+), 0 deletions(-) - -diff --git a/defconfig-2.6.24 b/defconfig-2.6.24 -index 833e15e..6d750a5 100644 ---- a/defconfig-2.6.24 -+++ b/defconfig-2.6.24 -@@ -1825,3 +1825,4 @@ CONFIG_TEXTSEARCH_FSM=m - CONFIG_PLIST=y - CONFIG_HAS_IOMEM=y - CONFIG_HAS_DMA=y -+CONFIG_GTA02_HDQ=y -diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig -index feb8b0a..5ace872 100644 ---- a/drivers/power/Kconfig -+++ b/drivers/power/Kconfig -@@ -63,3 +63,11 @@ config GTA02_HDQ - at least BATTERY_BQ27000_HDQ as well - - endif # POWER_SUPPLY -+ -+config GTA02_HDQ -+ tristate "Neo Freerunner HDQ" -+ depends on MACH_NEO1973_GTA02 && FIQ && S3C2440_C_FIQ -+ help -+ Say Y to enable support for communicating with an HDQ battery -+ on the Neo Freerunner. You probably want to select -+ at least BATTERY_BQ27000_HDQ as well --- -1.5.6.5 - |