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 ...