>
> On Wednesday, February 25, 2015 at 12:51:13 AM UTC+11, Al Thomas wrote:
>
>
>
> Host RTS must be asserted at the end of the reset pulse and for 30ms after 
> to get the device to assert its RTS (our CTS).  Since I check for CTS 
> before sending this causes the program to time out.
>
> The timing is good to know. Does it still work if you wait 10ms after the 
> end of the reset pulse and then assert RTS for 20ms? If it does then it 
> suggests the controller needs a few millisecond to re-initialise, the 
> manual says 4.2ms of sleep occurs during initialisation, and then it needs 
> a sufficiently long pulse on its CTS as zero (host RTS asserted) for it to 
> recognise UART is the transport. 
>

If CTS isn't low at the end of the reset pulse the device apparently 
doesn't react.  Besides, any boot process that relied on a signal change at 
some precise point after the reset pulse would be inherently unreliable in 
a multi-tasking environment.

I'm wondering if the GPIO script is necessary. The BCM20710 manual states 
> on p.29 "The CTS and RTS signals of the UART interface are used for BT wake 
> (CTS) and Host wake (RTS) functions in addition to their normal
> function on the UART interface. Note that this applies for both H4 and H5 
> protocols." So asserting RTS on the host will wake the controller (its CTS 
> goes low). This would mean the BT_WAKE GPIO would be unnecessary.
>

Yes, playing with BT_WAKE is probably insignificant.  But toggling BT_REST 
is critical unless the device is already in UART mode.
 

> Also the Broadcom tool sends an HCI reset command first. Could this be the 
> same kind of reset as the GPIO control line?
>

I don't think so.  The firmware download is preceded and suceeded by 
HCI_reset.  So HCI_reset doesn't clear the device RAM.  But BT_REST powers 
off the device and I assume this will clear its RAM.
 

> I think the host UART driver ( serial8250 ) should be dealing with the 
> handshaking. It is hopefully just a question of getting it configured 
> correctly at start up.
>

This could make things simpler.  If you can configure the serial port for a 
null-modem environment then it might be possible to use the standard 
program. 

Cheers,
Steven

  

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to