blob: bb9eb7f4f0173ffa22d4321896a84e8c6b1abe5c [file] [log] [blame]
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>;
};