~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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
  8 
  9 maintainers:
 10   - Dongjin Kim <tobetter@gmail.com>
 11 
 12 properties:
 13   compatible:
 14     enum:
 15       - smsc,usb3503
 16       - smsc,usb3503a
 17       - smsc,usb3803
 18 
 19   reg:
 20     maxItems: 1
 21 
 22   connect-gpios:
 23     maxItems: 1
 24     description: >
 25       GPIO for connect
 26 
 27   intn-gpios:
 28     maxItems: 1
 29     description: >
 30       GPIO for interrupt
 31 
 32   reset-gpios:
 33     maxItems: 1
 34     description: >
 35       GPIO for reset
 36 
 37   bypass-gpios:
 38     maxItems: 1
 39     description: >
 40       GPIO for bypass.
 41       Control signal to select between HUB MODE and BYPASS MODE.
 42 
 43   disabled-ports:
 44     $ref: /schemas/types.yaml#/definitions/uint32-array
 45     minItems: 1
 46     maxItems: 3
 47     items:
 48       minimum: 1
 49       maximum: 3
 50     description: >
 51       Specifies the ports unused using their port number. Do not describe this
 52       property if all ports have to be enabled.
 53 
 54   initial-mode:
 55     $ref: /schemas/types.yaml#/definitions/uint32
 56     description: >
 57       Specifies initial mode. 1 for Hub mode, 2 for standby mode and 3 for bypass mode.
 58       In bypass mode the downstream port 3 is connected to the upstream port with low
 59       switch resistance R_on.
 60 
 61   clocks:
 62     maxItems: 1
 63     description: >
 64       Clock used for driving REFCLK signal. If not provided the driver assumes
 65       that clock signal is always available, its rate is specified by REF_SEL
 66       pins and a value from the primary reference clock frequencies table is
 67       used.
 68 
 69   clock-names:
 70     const: refclk
 71 
 72   refclk-frequency:
 73     $ref: /schemas/types.yaml#/definitions/uint32
 74     description: >
 75       Frequency of the REFCLK signal as defined by REF_SEL pins. If not
 76       provided, driver will not set rate of the REFCLK signal and assume that a
 77       value from the primary reference clock frequencies table is used.
 78 
 79 required:
 80   - compatible
 81 
 82 allOf:
 83   - if:
 84       not:
 85         properties:
 86           compatible:
 87             enum:
 88               - smsc,usb3803
 89     then:
 90       properties:
 91         bypass-gpios: false
 92 
 93   - if:
 94       required:
 95         - bypass-gpios
 96     then:
 97       properties:
 98         initial-mode:
 99           enum: [1, 2, 3]
100     else:
101       properties:
102         initial-mode:
103           enum: [1, 2]
104 
105 additionalProperties: false
106 
107 examples:
108   - |
109       i2c {
110           #address-cells = <1>;
111           #size-cells = <0>;
112 
113           usb-hub@8 {
114               compatible = "smsc,usb3503";
115               reg = <0x08>;
116               connect-gpios = <&gpx3 0 1>;
117               disabled-ports = <2 3>;
118               intn-gpios = <&gpx3 4 1>;
119               reset-gpios = <&gpx3 5 1>;
120               initial-mode = <1>;
121               clocks = <&clks 80>;
122               clock-names = "refclk";
123           };
124       };
125 
126   - |
127       i2c {
128           #address-cells = <1>;
129           #size-cells = <0>;
130 
131           usb-hub@8 {
132               compatible = "smsc,usb3803";
133               reg = <0x08>;
134               connect-gpios = <&gpx3 0 1>;
135               disabled-ports = <2 3>;
136               intn-gpios = <&gpx3 4 1>;
137               reset-gpios = <&gpx3 5 1>;
138               bypass-gpios = <&gpx3 6 1>;
139               initial-mode = <3>;
140               clocks = <&clks 80>;
141               clock-names = "refclk";
142           };
143       };
144 
145   - |
146       #include <dt-bindings/gpio/gpio.h>
147 
148       usb-hub {
149           /* I2C is not connected */
150           compatible = "smsc,usb3503";
151           initial-mode = <1>; /* initialize in HUB mode */
152           disabled-ports = <1>;
153           intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
154           reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
155           connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
156           refclk-frequency = <19200000>;
157       };
158 
159 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php