Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/smsc,usb3503.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: SMSC USB3503 High-Speed Hub Controller Device Tree Bindings
0008 
0009 maintainers:
0010   - Dongjin Kim <tobetter@gmail.com>
0011 
0012 properties:
0013   compatible:
0014     enum:
0015       - smsc,usb3503
0016       - smsc,usb3503a
0017 
0018   reg:
0019     maxItems: 1
0020 
0021   connect-gpios:
0022     maxItems: 1
0023     description: >
0024       GPIO for connect
0025 
0026   intn-gpios:
0027     maxItems: 1
0028     description: >
0029       GPIO for interrupt
0030 
0031   reset-gpios:
0032     maxItems: 1
0033     description: >
0034       GPIO for reset
0035 
0036   disabled-ports:
0037     $ref: /schemas/types.yaml#/definitions/uint32-array
0038     minItems: 1
0039     maxItems: 3
0040     items:
0041       minimum: 1
0042       maximum: 3
0043     description: >
0044       Specifies the ports unused using their port number. Do not describe this
0045       property if all ports have to be enabled.
0046 
0047   initial-mode:
0048     $ref: /schemas/types.yaml#/definitions/uint32
0049     enum: [1, 2]
0050     description: >
0051       Specifies initial mode. 1 for Hub mode, 2 for standby mode.
0052 
0053   clocks:
0054     maxItems: 1
0055     description: >
0056       Clock used for driving REFCLK signal. If not provided the driver assumes
0057       that clock signal is always available, its rate is specified by REF_SEL
0058       pins and a value from the primary reference clock frequencies table is
0059       used.
0060 
0061   clock-names:
0062     const: refclk
0063 
0064   refclk-frequency:
0065     $ref: /schemas/types.yaml#/definitions/uint32
0066     description: >
0067       Frequency of the REFCLK signal as defined by REF_SEL pins. If not
0068       provided, driver will not set rate of the REFCLK signal and assume that a
0069       value from the primary reference clock frequencies table is used.
0070 
0071 required:
0072   - compatible
0073 
0074 additionalProperties: false
0075 
0076 examples:
0077   - |
0078       i2c {
0079           #address-cells = <1>;
0080           #size-cells = <0>;
0081 
0082           usb-hub@8 {
0083               compatible = "smsc,usb3503";
0084               reg = <0x08>;
0085               connect-gpios = <&gpx3 0 1>;
0086               disabled-ports = <2 3>;
0087               intn-gpios = <&gpx3 4 1>;
0088               reset-gpios = <&gpx3 5 1>;
0089               initial-mode = <1>;
0090               clocks = <&clks 80>;
0091               clock-names = "refclk";
0092           };
0093       };
0094 
0095   - |
0096       #include <dt-bindings/gpio/gpio.h>
0097 
0098       usb-hub {
0099           /* I2C is not connected */
0100           compatible = "smsc,usb3503";
0101           initial-mode = <1>; /* initialize in HUB mode */
0102           disabled-ports = <1>;
0103           intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
0104           reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
0105           connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
0106           refclk-frequency = <19200000>;
0107       };
0108 
0109 ...