r5491 - trunk/gta02-core/docs/ecn

werner at docs.openmoko.org werner at docs.openmoko.org
Thu Aug 20 07:14:38 CEST 2009


Author: werner
Date: 2009-08-20 07:14:37 +0200 (Thu, 20 Aug 2009)
New Revision: 5491

Modified:
   trunk/gta02-core/docs/ecn/STATUS
   trunk/gta02-core/docs/ecn/ecn0015.txt
   trunk/gta02-core/docs/ecn/ecn0031.txt
Log:
- ECN0031 (codec interrupt): added details of the conversion
- ECN0031: moved to "Discuss"
- ECN0015 (Calypso backdoor removal): we remove(d) R4405, not R4408
- ECN0015: "to do", removal of remaining bits, has been done as well
- ECN0015: clarified that R4405/7 aren't dead yet, just 0R.



Modified: trunk/gta02-core/docs/ecn/STATUS
===================================================================
--- trunk/gta02-core/docs/ecn/STATUS	2009-08-19 22:13:47 UTC (rev 5490)
+++ trunk/gta02-core/docs/ecn/STATUS	2009-08-20 05:14:37 UTC (rev 5491)
@@ -30,7 +30,7 @@
 0028	Cancel	Remove USB "charge path" power switch U4905
 0029	Discuss	Move 0R resistors next to PMU after caps
 0030	Edit	Replace Calypso with Telit GE865
-0031	Edit	Use codec to detect jack insertion and HOLD button
+0031	Discuss	Use codec to detect jack insertion and HOLD button
 
 
 Open ECNs

Modified: trunk/gta02-core/docs/ecn/ecn0015.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0015.txt	2009-08-19 22:13:47 UTC (rev 5490)
+++ trunk/gta02-core/docs/ecn/ecn0015.txt	2009-08-20 05:14:37 UTC (rev 5491)
@@ -5,13 +5,13 @@
 
 Changes:
 - removed U4401
-- removed R4407 and R4408, these resistors probably keept the input signal from
-  shorting through the amplifier, so there is no need for them anymore.
+- changed R4407 and R4405 from 33 Ohm to 0 Ohm. These resistors probably kept
+  the input signal from shorting through the amplifier, so there is no need
+  for them anymore. (Remove them completely ?)
 - removed TP4405/4406
 - removed R4403, pulldown resistor for U4401 enable lines 
+- remove R4411 and TP4402/4401 as well
 
-To do:
-- depending on Calypso replacement we might want to keep/remove R4411 and TP4402/4401 as well
 
-
 Author: Rene Harder <rehar at saweb.de>
+Review: Werner Almesberger <werner at openmoko.org>, SVN 5490

Modified: trunk/gta02-core/docs/ecn/ecn0031.txt
===================================================================
--- trunk/gta02-core/docs/ecn/ecn0031.txt	2009-08-19 22:13:47 UTC (rev 5490)
+++ trunk/gta02-core/docs/ecn/ecn0031.txt	2009-08-20 05:14:37 UTC (rev 5491)
@@ -4,14 +4,43 @@
 The Wolfson WM8753L has the ability to detect jack insertion and pressing
 the HOLD button (MIC bias short-circuit).
 
-Rough outline:
-- HOLD seems to be internal, ok
-- route JACK_INSERT to the codec (GPIO4), not the CPU
+Outline (based on Joerg's "mega-ECN"):
+
+- HOLD is detected inside the codec:
+  - remove R4410, R1531
+  - remove nHOLD net
+  - free EINT7
+- route JACK_INSERT to the codec, not the CPU:
+  - remove R4406
+  - disconnect R1532 from the JACK_INSERT net
+  - connect JACK_INSERT to a new 10 kOhm series resistor (To protect codec
+    against negative transients from the output capacitors. The name R4402
+    is available.)
+  - connect the other end of R4402 to the codec's GPIO4
 - route codec IRQ (GP1) to CPU
+  - name net CODEC_IRQ
+  - connect codec GP1 to R1532
+  - EINT4 is now CODEC_IRQ, not JACK_INSERT
 
-Q: how do we distinguish multiple interrupt sources ? Mask and see if
-the interrupt persists ? Or would we have to upgrade to a 3-wire interface
-so that we could read data back ? (Seems too intrusive.)
+Q: how do we distinguish multiple interrupt sources ?
+A: Mask and see if the interrupt persists.
 
+again:
+	HPSWIEN = 0;				/* mask jack insert */
+	/* assume active-low */
+	if (gpio_get_value(CODEC_INT)) {
+		/* interrupt went away - it's JACK_INSERT */
+		HPSWIPOL = !HPSWIPOL;
+	} else {
+		/* interrupt is still pending - it's HOLD */
+		MICSHTEN = 0;
+		MICSHTPOL = !MICSHTPOL;
+		MICSHTEN = 1;
+	}
+	HPSWIEN = 1;
+	/* more than one source or new interrupt */
+	if (!gpio_get_value(CODEC_INT))
+		goto again;
 
+
 Author: Werner Almesberger <werner at openmoko.org>




More information about the commitlog mailing list