| Introduction |
| ============ |
| |
| Gadget serial driver is divided into two parts. |
| 1. f_serial.c : Interacts with USB Gadget Layer |
| 2. u_serial.c : Interacts with TTY Layer |
| |
| Gadget sdio driver adds capability to interact with SDIO Layer in |
| case modem device is inter-connected with sdio interface. |
| |
| S/W Description |
| =============== |
| Gadget SDIO driver is a simple bridge driver between usb serial |
| gadget and sdio abstraction layer. It registers with sdio |
| abstraction layer with read/write call backs and provides |
| USB connect/disconnect call backs usb gadget serial driver. |
| |
| |
| S/W Control Flow: |
| ================= |
| Driver maintains two sdio channels, one for data and one for control. |
| Data pipe is dedicated sdio channel where as control is a muxed channel. |
| Incase of sdio control pipe, driver registers for control information |
| chagnes from modem side. Whenever new information is available, it |
| would queue a interrupt endpoint w/ new info. Laptop can also send the |
| DTR and RTS information as part of SET Encapsulated command. |
| |
| Data pipe of sdio channel also has notification mechanism to indicate |
| the READ/WRITE availability. When READ is available on SDIO pipe, |
| driver would read the data and hands it over to USB In ept and when |
| it receives the data from USB driver would queue the same to SDIO |
| channel(if write buffers are available). |