1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/smsc,usb3503.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: SMSC USB3503 High-Speed Hub Controller Device Tree Bindings
8
9 maintainers:
10 - Dongjin Kim <tobetter@gmail.com>
11
12 properties:
13 compatible:
14 enum:
15 - smsc,usb3503
16 - smsc,usb3503a
17
18 reg:
19 maxItems: 1
20
21 connect-gpios:
22 maxItems: 1
23 description: >
24 GPIO for connect
25
26 intn-gpios:
27 maxItems: 1
28 description: >
29 GPIO for interrupt
30
31 reset-gpios:
32 maxItems: 1
33 description: >
34 GPIO for reset
35
36 disabled-ports:
37 $ref: /schemas/types.yaml#/definitions/uint32-array
38 minItems: 1
39 maxItems: 3
40 items:
41 minimum: 1
42 maximum: 3
43 description: >
44 Specifies the ports unused using their port number. Do not describe this
45 property if all ports have to be enabled.
46
47 initial-mode:
48 $ref: /schemas/types.yaml#/definitions/uint32
49 enum: [1, 2]
50 description: >
51 Specifies initial mode. 1 for Hub mode, 2 for standby mode.
52
53 clocks:
54 maxItems: 1
55 description: >
56 Clock used for driving REFCLK signal. If not provided the driver assumes
57 that clock signal is always available, its rate is specified by REF_SEL
58 pins and a value from the primary reference clock frequencies table is
59 used.
60
61 clock-names:
62 const: refclk
63
64 refclk-frequency:
65 $ref: /schemas/types.yaml#/definitions/uint32
66 description: >
67 Frequency of the REFCLK signal as defined by REF_SEL pins. If not
68 provided, driver will not set rate of the REFCLK signal and assume that a
69 value from the primary reference clock frequencies table is used.
70
71 required:
72 - compatible
73
74 additionalProperties: false
75
76 examples:
77 - |
78 i2c {
79 #address-cells = <1>;
80 #size-cells = <0>;
81
82 usb-hub@8 {
83 compatible = "smsc,usb3503";
84 reg = <0x08>;
85 connect-gpios = <&gpx3 0 1>;
86 disabled-ports = <2 3>;
87 intn-gpios = <&gpx3 4 1>;
88 reset-gpios = <&gpx3 5 1>;
89 initial-mode = <1>;
90 clocks = <&clks 80>;
91 clock-names = "refclk";
92 };
93 };
94
95 - |
96 #include <dt-bindings/gpio/gpio.h>
97
98 usb-hub {
99 /* I2C is not connected */
100 compatible = "smsc,usb3503";
101 initial-mode = <1>; /* initialize in HUB mode */
102 disabled-ports = <1>;
103 intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
104 reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
105 connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
106 refclk-frequency = <19200000>;
107 };
108
109 ...
Cache object: 30c92d9c4dc1f8b64f701001147a8748
|