Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: [RFC] USB DVB design | state machine overview
here just a short outline how the firmware is supposed to work:
-----------------------------------------------------------------------------
in order to start a transaction the onchip 8051 does something like this
- initializes the transaction count register = 188
- start the GPIF state machine, state 1
-----------------------------------------------------------------------------
GPIF state 1
- wait until pin RDY0 (signal TSSYNC) goes high + INTRDY
(sync byte 0x47 is received and we have space in the FIFO)
- go to state 2
-----------------------------------------------------------------------------
GPIF state 2
- wait for RDY1 (signal TSCLK) going low
- go to state 3
-----------------------------------------------------------------------------
GPIF state 3
- wait for RDY1 (signal TSCLK) going high
- sample current data byte, write it into FIFO
- if transaction count > 0 go to state 2, elso go idle
and throw done_irq
-----------------------------------------------------------------------------
on done_irq the 8051 can take a look on the PID bytes in the packets:
- look up in the PID table if we're interested in this PID
- if so: pass this packet to the host PC, else skip this packet
- swap FIFO pages
- start transaction again
-----------------------------------------------------------------------------
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index