| ANDROID USB: |
| |
| This describes the device tree node for the Android USB gadget device. |
| This works in conjunction with a USB Device Controller (UDC) to provide |
| a dynamically configurable composition of functions to be exposed when |
| connected to a USB host. |
| |
| Required properties: |
| - compatible: should be "qcom,android-usb" |
| |
| Optional properties : |
| - reg : offset and length of memory region that is used by device to |
| update USB PID and serial numbers used by bootloader in DLOAD mode. |
| - qcom,pm-qos-latency : This property must be a list of three integer values |
| (perf, normal, sleep) where each value respresents DMA latency in microsecs. |
| First value represents DMA latency to vote with pm_qos when back to back USB |
| transfers are happening and it requires USB thoughput to be maximum. |
| Second value represents value to vote when not many USB transfers are |
| happening and it is OK to have higher DMA latency to save power. |
| Third value represents DMA latency to vote when USB BUS is IDLE and absolutely |
| no transfers are happening. It should allow transition to lowest power state. |
| - qcom,streaming-func : add list of usb function name. If mention usb function |
| is being enable as part of USB composition, streaming mode is enable with |
| usb device controller to get better throughput. NOTE: Inverted CRC and |
| turnaround timeout is observed on enabling streaming. Hence it is required |
| to see these errors and number of erros on enabling this at USB level to make |
| final decision to enable this feature or not. |
| - qcom,android-usb-cdrom : if this property is present then device creates |
| a new LUN as CD-ROM. |
| - qcom,android-usb-uicc-nluns : Number of mass storage LUNs (8 bits) required |
| for the UICC card. |
| - qcom,usb-core-id: Index to refer USB hardware core to bind android gadget driver |
| with UDC if multiple USB peripheral controllers are present. If unspecified, |
| core is set to zero by default. |
| Example Android USB device node : |
| android_usb@fc42b0c8 { |
| compatible = "qcom,android-usb"; |
| reg = <0xfc42b0c8 0xc8>; |
| qcom,pm-qos-latency = <2 1001 12701>; |
| qcom,streaming-func = "rndis","mtp"; |
| qcom,android-usb-uicc-nluns = /bits/ 8 <1>; |
| qcom,usb-core-id = <1>; |
| }; |