mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 19:43:43 -04:00
The SMSC USB3503 USB Hub Controller is supported by Linux thanks to its device tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that driver over to a YAML schema. Cc: Dongjin Kim <tobetter@gmail.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-usb@vger.kernel.org Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Maxime Ripard <maxime@cerno.tech> Link: https://lore.kernel.org/r/20210927073514.14334-1-maxime@cerno.tech Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
109 lines
2.6 KiB
YAML
109 lines
2.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/smsc,usb3503.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: SMSC USB3503 High-Speed Hub Controller Device Tree Bindings
|
|
|
|
maintainers:
|
|
- Dongjin Kim <tobetter@gmail.com>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- smsc,usb3503
|
|
- smsc,usb3503a
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
connect-gpios:
|
|
maxItems: 1
|
|
description: >
|
|
GPIO for connect
|
|
|
|
intn-gpios:
|
|
maxItems: 1
|
|
description: >
|
|
GPIO for interrupt
|
|
|
|
reset-gpios:
|
|
maxItems: 1
|
|
description: >
|
|
GPIO for reset
|
|
|
|
disabled-ports:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 1
|
|
maxItems: 3
|
|
items:
|
|
minimum: 1
|
|
maximum: 3
|
|
description: >
|
|
Specifies the ports unused using their port number. Do not describe this
|
|
property if all ports have to be enabled.
|
|
|
|
initial-mode:
|
|
enum: [1, 2]
|
|
description: >
|
|
Specifies initial mode. 1 for Hub mode, 2 for standby mode.
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
description: >
|
|
Clock used for driving REFCLK signal. If not provided the driver assumes
|
|
that clock signal is always available, its rate is specified by REF_SEL
|
|
pins and a value from the primary reference clock frequencies table is
|
|
used.
|
|
|
|
clock-names:
|
|
const: refclk
|
|
|
|
refclk-frequency:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: >
|
|
Frequency of the REFCLK signal as defined by REF_SEL pins. If not
|
|
provided, driver will not set rate of the REFCLK signal and assume that a
|
|
value from the primary reference clock frequencies table is used.
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
usb-hub@8 {
|
|
compatible = "smsc,usb3503";
|
|
reg = <0x08>;
|
|
connect-gpios = <&gpx3 0 1>;
|
|
disabled-ports = <2 3>;
|
|
intn-gpios = <&gpx3 4 1>;
|
|
reset-gpios = <&gpx3 5 1>;
|
|
initial-mode = <1>;
|
|
clocks = <&clks 80>;
|
|
clock-names = "refclk";
|
|
};
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
usb-hub {
|
|
/* I2C is not connected */
|
|
compatible = "smsc,usb3503";
|
|
initial-mode = <1>; /* initialize in HUB mode */
|
|
disabled-ports = <1>;
|
|
intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
|
|
reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
|
|
connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
|
|
refclk-frequency = <19200000>;
|
|
};
|
|
|
|
...
|