summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.24/1087-introduce-fiq-hdq.patch.patch
diff options
context:
space:
mode:
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.patch87
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
-