diff --git a/bindings/usb/qcom,usb-gadget.txt b/bindings/usb/qcom,usb-gadget.txt new file mode 100644 index 000000000000..19cca02e9176 --- /dev/null +++ b/bindings/usb/qcom,usb-gadget.txt @@ -0,0 +1,41 @@ +Qualcomm Technologies, Inc's USB Gadget + +Required properties: +- compatible: Should be "qcom,usb-gadget". +- qcom,vid: VendorId to be used by composite device. + +Required subnode properties: +- qcom,pid: ProductId to be used by composite device. +- qcom,composition: List of configurations where each is separated by '|'. + And each configuration has comma separated list of functions + specified as: .,.... +- qcom,bmAttributes: Config characteritics of composite device. + e.g. remote wakeup capability, self or bus powered. + +Optional properties: +- qcom,default-pid: ProductId to be used by composite device. +- qcom,class: Class of composite device. +- qcom,subclass: SubClass of composite device. +- qcom,protocol: Protocol of composite device. + +Example: + usb_gadget { + compatible = "qcom,usb-gadget"; + qcom,vid = <0x05c6>; + + composition1 { + qcom,pid = <0x9103>; + qcom,composition = "diag.diag,ipc.ipc,gsi.rmnet,gsi.rmnet.v2x,ecm.ecm,gsi.dpl"; + }; + + composition2 { + qcom,pid = <0x9105>; + qcom,composition = "diag.diag,gsi.dpl"; + }; + + composition3 { + qcom,pid = <0x9063>; + qcom,composition = "gsi.rndis|gsi.ecm|gsi.mbim"; + qcom,bmAttributes = <0xa0>; + }; + }; diff --git a/qcom/sdxlemur-usb.dtsi b/qcom/sdxlemur-usb.dtsi index 7eba656d4638..a4dac2bfbf67 100644 --- a/qcom/sdxlemur-usb.dtsi +++ b/qcom/sdxlemur-usb.dtsi @@ -259,3 +259,50 @@ }; }; + +/ { + qcom_gadget { + compatible = "qcom,usb-gadget"; + qcom,vid = <0x05c6>; + + composition1 { + qcom,pid = <0x9057>; + qcom,composition = "gsi.rndis|gsi.ecm"; + }; + + composition2 { + qcom,pid = <0x905b>; + qcom,composition = "gsi.mbim"; + qcom,bmAttributes = <0xa0>; + }; + + composition3 { + qcom,pid = <0x9063>; + qcom,composition = "gsi.rndis|gsi.ecm|gsi.mbim"; + qcom,bmAttributes = <0xa0>; + }; + + composition4 { + qcom,pid = <0x9067>; + qcom,composition = "mass_storage.0,gsi.rmnet|mass_storage.1,gsi.mbim"; + qcom,bmAttributes = <0xa0>; + }; + + composition5 { + qcom,pid = <0x90b1>; + qcom,composition = "gsi.ecm"; + qcom,bmAttributes = <0xa0>; + }; + + composition6 { + qcom,pid = <0x90e2>; + qcom,composition = "gsi.mbim,gsi.gps"; + qcom,bmAttributes = <0xa0>; + }; + + composition7 { + qcom,pid = <0xf000>; + qcom,composition = "mass_storage.0"; + }; + }; +};