123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- Generic USB Device Properties
- Usually, we only use device tree for hard wired USB device.
- The reference binding doc is from:
- http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps
- Four types of device-tree nodes are defined: "host-controller nodes"
- representing USB host controllers, "device nodes" representing USB devices,
- "interface nodes" representing USB interfaces and "combined nodes"
- representing simple USB devices.
- A combined node shall be used instead of a device node and an interface node
- for devices of class 0 or 9 (hub) with a single configuration and a single
- interface.
- A "hub node" is a combined node or an interface node that represents a USB
- hub.
- Required properties for device nodes:
- - compatible: "usbVID,PID", where VID is the vendor id and PID the product id.
- The textual representation of VID and PID shall be in lower case hexadecimal
- with leading zeroes suppressed. The other compatible strings from the above
- standard binding could also be used, but a device adhering to this binding
- may leave out all except for "usbVID,PID".
- - reg: the number of the USB hub port or the USB host-controller port to which
- this device is attached. The range is 1-255.
- Required properties for device nodes with interface nodes:
- - #address-cells: shall be 2
- - #size-cells: shall be 0
- Required properties for interface nodes:
- - compatible: "usbifVID,PID.configCN.IN", where VID is the vendor id, PID is
- the product id, CN is the configuration value and IN is the interface
- number. The textual representation of VID, PID, CN and IN shall be in lower
- case hexadecimal with leading zeroes suppressed. The other compatible
- strings from the above standard binding could also be used, but a device
- adhering to this binding may leave out all except for
- "usbifVID,PID.configCN.IN".
- - reg: the interface number and configuration value
- The configuration component is not included in the textual representation of
- an interface-node unit address for configuration 1.
- Required properties for combined nodes:
- - compatible: "usbVID,PID", where VID is the vendor id and PID the product id.
- The textual representation of VID and PID shall be in lower case hexadecimal
- with leading zeroes suppressed. The other compatible strings from the above
- standard binding could also be used, but a device adhering to this binding
- may leave out all except for "usbVID,PID".
- - reg: the number of the USB hub port or the USB host-controller port to which
- this device is attached. The range is 1-255.
- Required properties for hub nodes with device nodes:
- - #address-cells: shall be 1
- - #size-cells: shall be 0
- Required properties for host-controller nodes with device nodes:
- - #address-cells: shall be 1
- - #size-cells: shall be 0
- Example:
- &usb1 { /* host controller */
- #address-cells = <1>;
- #size-cells = <0>;
- hub@1 { /* hub connected to port 1 */
- compatible = "usb5e3,608";
- reg = <1>;
- };
- device@2 { /* device connected to port 2 */
- compatible = "usb123,4567";
- reg = <2>;
- };
- device@3 { /* device connected to port 3 */
- compatible = "usb123,abcd";
- reg = <3>;
- #address-cells = <2>;
- #size-cells = <0>;
- interface@0 { /* interface 0 of configuration 1 */
- compatible = "usbif123,abcd.config1.0";
- reg = <0 1>;
- };
- interface@0,2 { /* interface 0 of configuration 2 */
- compatible = "usbif123,abcd.config2.0";
- reg = <0 2>;
- };
- };
- };
|