Questions regarding the wakeup interrupt

Harald Welte laforge at openmoko.org
Thu Mar 27 19:57:18 CET 2008


On Thu, Mar 27, 2008 at 06:19:14PM +0100, andrzej zaborowski wrote:
> Hi,
> 
> ok, so you're asking about how this was "specified" to work.  Last I
> looked into it there wasn't any kind of specification or plan so I
> waited before responding, to see if in the meantime someone had
> written one, but it doesn't seem like it. At the time I played with
> it, the nearest to it came to a specification was this part written by
> Harald: http://wiki.openmoko.org/wiki/GTA01_gsm_modem#Wakeup_of_CPU_from_GSM_Modem
> Yes, that's for GTA01. The differences with GTA02 is that we now have
> the interrupt pin and the firmware changed.

https://bugzilla.internal.openmoko.org/show_bug.cgi?id=103 (sorry, this
is the internal bugzilla we used to use for hardware/firmware issues),
https://bugzilla.internal.openmoko.org/show_bug.cgi?id=103#c6 reads
like:

 ------- Comment  #6 From Harald Welte  2007-03-08 18:44:45

 To be more precise, the specification is like follows:

 0) Default state of IO1 is logical LOW

 Anytime the calypso has pending data on the MODEM-UART channel, it
 should

 1) check if CTS_MODEM permits sending of data

 1.1) if CTS_MODEM permits sending of UART data, GOTO '4.2'

 2) [implicit: CTS_MODEM does not permit sending of UART data]

 2.1) set IO1 line to logical HIGH level

 2.2) buffer modem data [until buffer is full, after which data gets
      discarded]

 3) wait until CTS_MODEM permits sending of UART data

 4) as soon as CTS_MODEM permits sending of UART data,

 4.1) set IO1 back to logical LOW level

 4.2) start sending of UART data

 5) once all data is transmitted, return to idle state.  When next
    data item is to be transmitted, start again from '1'

------

This is probably the source of what is in the public wiki at
http://wiki.openmoko.org/wiki/GTA01_gsm_modem#Logic_for_problem_solution

I hope this is enough detail.  the "IO1" is the internal IO name of the
GPIO pin that interconnects with the S3C24xx.  

Basically the idea is that whenever the S3C24xx hardware flow control
says: "not ready to receive data" (which it has [or will have?] to
indicate when it suspends the serial port), then the GSM Modem (called
'calypso' in the spec above) will assert IO1 to HIGH, which should wake
up the S3C24xx, whose hardware flow control then tells the GSM modem
"ready to receive data".  At that point, the GSM modem de-asserts the
IO1 line.

If that is not detailed enough, please reply to this mail (cc me
personally) and state questions as specific as possible.

Cheers,
-- 
- Harald Welte <laforge at openmoko.org>          	        http://openmoko.org/
============================================================================
Software for the world's first truly open Free Software mobile phone



More information about the gsmd-devel mailing list