summaryrefslogtreecommitdiff
path: root/target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch')
-rw-r--r--target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch116
1 files changed, 116 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch b/target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch
new file mode 100644
index 0000000000..6957348b55
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch
@@ -0,0 +1,116 @@
+From: Ivo van Doorn <ivdoorn@gmail.com>
+Date: Mon, 14 May 2007 21:06:01 +0000 (+0200)
+Subject: [PATCH] eeprom_93cx6: Add comment for 1us delay after pulse
+X-Git-Tag: v2.6.23-rc1~1201^2~73
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=4b914dc0493edff19ff698a18198a173a14ba9d2
+
+[PATCH] eeprom_93cx6: Add comment for 1us delay after pulse
+
+This will add a comment for the 1us delay which is taken
+after the pulse has been switched. The 1us delay is based
+on the specifications so that should be made clear.
+
+Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+---
+
+diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
+index bfcb434..0d6d742 100644
+--- a/drivers/misc/eeprom_93cx6.c
++++ b/drivers/misc/eeprom_93cx6.c
+@@ -39,6 +39,12 @@ static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom)
+ {
+ eeprom->reg_data_clock = 1;
+ eeprom->register_write(eeprom);
++
++ /*
++ * Add a short delay for the pulse to work.
++ * According to the specifications the minimal time
++ * should be 450ns so a 1us delay is sufficient.
++ */
+ udelay(1);
+ }
+
+@@ -46,6 +52,12 @@ static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom)
+ {
+ eeprom->reg_data_clock = 0;
+ eeprom->register_write(eeprom);
++
++ /*
++ * Add a short delay for the pulse to work.
++ * According to the specifications the minimal time
++ * should be 450ns so a 1us delay is sufficient.
++ */
+ udelay(1);
+ }
+
+From: John W. Linville <linville@tuxdriver.com>
+Date: Tue, 12 Jun 2007 01:37:46 +0000 (-0400)
+Subject: [PATCH] eeprom_93cx6: shorten pulse timing to match spec
+X-Git-Tag: v2.6.23-rc1~1201^2~71
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=7e9400f178d291b2208c4ed9aac0f425c1364000
+
+[PATCH] eeprom_93cx6: shorten pulse timing to match spec
+
+93cx6 datasheet available here:
+
+ http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf
+
+Figure 1-1 and Table 1-2 on pages 4-5 indicate that both Clock High
+Time and Clock Low Time have largest minimum times of 450ns.
+
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+---
+
+diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
+index 0d6d742..ac515b0 100644
+--- a/drivers/misc/eeprom_93cx6.c
++++ b/drivers/misc/eeprom_93cx6.c
+@@ -42,10 +42,10 @@ static inline void eeprom_93cx6_pulse_high(struct eeprom_93cx6 *eeprom)
+
+ /*
+ * Add a short delay for the pulse to work.
+- * According to the specifications the minimal time
+- * should be 450ns so a 1us delay is sufficient.
++ * According to the specifications the "maximum minimum"
++ * time should be 450ns.
+ */
+- udelay(1);
++ ndelay(450);
+ }
+
+ static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom)
+From: Francois Romieu <romieu@fr.zoreil.com>
+Date: Tue, 3 Jul 2007 22:31:44 +0000 (+0200)
+Subject: eeprom_93cx6: shorten pulse timing to match spec (bis)
+X-Git-Tag: v2.6.23-rc1~1151^2~11
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=8abd531e3f77188de2fc41e677d075cc66e61631
+
+eeprom_93cx6: shorten pulse timing to match spec (bis)
+
+Based on an original idea by John W. Linville.
+
+It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c
+
+Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
+Signed-off-by: Jeff Garzik <jeff@garzik.org>
+---
+
+diff --git a/drivers/misc/eeprom_93cx6.c b/drivers/misc/eeprom_93cx6.c
+index ac515b0..ea55654 100644
+--- a/drivers/misc/eeprom_93cx6.c
++++ b/drivers/misc/eeprom_93cx6.c
+@@ -55,10 +55,10 @@ static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom)
+
+ /*
+ * Add a short delay for the pulse to work.
+- * According to the specifications the minimal time
+- * should be 450ns so a 1us delay is sufficient.
++ * According to the specifications the "maximum minimum"
++ * time should be 450ns.
+ */
+- udelay(1);
++ ndelay(450);
+ }
+
+ static void eeprom_93cx6_startup(struct eeprom_93cx6 *eeprom)