Bryan Huntsman | 3f2bc4d | 2011-08-16 17:27:22 -0700 | [diff] [blame] | 1 | Introduction |
| 2 | ============ |
| 3 | |
| 4 | Gadget serial driver is divided into two parts. |
| 5 | 1. f_serial.c : Interacts with USB Gadget Layer |
| 6 | 2. u_serial.c : Interacts with TTY Layer |
| 7 | |
| 8 | Gadget sdio driver adds capability to interact with SDIO Layer in |
| 9 | case modem device is inter-connected with sdio interface. |
| 10 | |
| 11 | S/W Description |
| 12 | =============== |
| 13 | Gadget SDIO driver is a simple bridge driver between usb serial |
| 14 | gadget and sdio abstraction layer. It registers with sdio |
| 15 | abstraction layer with read/write call backs and provides |
| 16 | USB connect/disconnect call backs usb gadget serial driver. |
| 17 | |
| 18 | |
| 19 | S/W Control Flow: |
| 20 | ================= |
| 21 | Driver maintains two sdio channels, one for data and one for control. |
| 22 | Data pipe is dedicated sdio channel where as control is a muxed channel. |
| 23 | Incase of sdio control pipe, driver registers for control information |
| 24 | chagnes from modem side. Whenever new information is available, it |
| 25 | would queue a interrupt endpoint w/ new info. Laptop can also send the |
| 26 | DTR and RTS information as part of SET Encapsulated command. |
| 27 | |
| 28 | Data pipe of sdio channel also has notification mechanism to indicate |
| 29 | the READ/WRITE availability. When READ is available on SDIO pipe, |
| 30 | driver would read the data and hands it over to USB In ept and when |
| 31 | it receives the data from USB driver would queue the same to SDIO |
| 32 | channel(if write buffers are available). |