123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- From 6a2392c96041d0599d33799a9aedbcdbfb4030b6 Mon Sep 17 00:00:00 2001
- From: Minda Chen <[email protected]>
- Date: Thu, 18 May 2023 19:27:48 +0800
- Subject: [PATCH 091/122] dt-bindings: usb: Add StarFive JH7110 USB controller
- StarFive JH7110 platforms USB have a wrapper module around
- the Cadence USBSS-DRD controller. Add binding information doc
- for that.
- Signed-off-by: Minda Chen <[email protected]>
- Reviewed-by: Peter Chen <[email protected]>
- Reviewed-by: Hal Feng <[email protected]>
- ---
- .../bindings/usb/starfive,jh7110-usb.yaml | 115 ++++++++++++++++++
- 1 file changed, 115 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/usb/starfive,jh7110-usb.yaml
- --- /dev/null
- +++ b/Documentation/devicetree/bindings/usb/starfive,jh7110-usb.yaml
- @@ -0,0 +1,115 @@
- +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- +%YAML 1.2
- +---
- +$id: http://devicetree.org/schemas/usb/starfive,jh7110-usb.yaml#
- +$schema: http://devicetree.org/meta-schemas/core.yaml#
- +
- +title: StarFive JH7110 wrapper module for the Cadence USBSS-DRD controller
- +
- +maintainers:
- + - Minda Chen <[email protected]>
- +
- +properties:
- + compatible:
- + const: starfive,jh7110-usb
- +
- + ranges: true
- +
- + starfive,stg-syscon:
- + $ref: /schemas/types.yaml#/definitions/phandle-array
- + items:
- + - items:
- + - description: phandle to System Register Controller stg_syscon node.
- + - description: dr mode register offset of STG_SYSCONSAIF__SYSCFG register for USB.
- + description:
- + The phandle to System Register Controller syscon node and the offset
- + of STG_SYSCONSAIF__SYSCFG register for USB.
- +
- + dr_mode:
- + enum: [host, otg, peripheral]
- +
- + "#address-cells":
- + enum: [1, 2]
- +
- + "#size-cells":
- + enum: [1, 2]
- +
- + clocks:
- + items:
- + - description: link power management clock
- + - description: standby clock
- + - description: APB clock
- + - description: AXI clock
- + - description: UTMI APB clock
- +
- + clock-names:
- + items:
- + - const: lpm
- + - const: stb
- + - const: apb
- + - const: axi
- + - const: utmi_apb
- +
- + resets:
- + items:
- + - description: Power up reset
- + - description: APB clock reset
- + - description: AXI clock reset
- + - description: UTMI APB clock reset
- +
- + reset-names:
- + items:
- + - const: pwrup
- + - const: apb
- + - const: axi
- + - const: utmi_apb
- +
- +patternProperties:
- + "^usb@[0-9a-f]+$":
- + $ref: cdns,usb3.yaml#
- + description: Required child node
- +
- +required:
- + - compatible
- + - ranges
- + - starfive,stg-syscon
- + - '#address-cells'
- + - '#size-cells'
- + - dr_mode
- + - clocks
- + - resets
- +
- +additionalProperties: false
- +
- +examples:
- + - |
- + usb@10100000 {
- + compatible = "starfive,jh7110-usb";
- + ranges = <0x0 0x10100000 0x100000>;
- + #address-cells = <1>;
- + #size-cells = <1>;
- + starfive,stg-syscon = <&stg_syscon 0x4>;
- + clocks = <&syscrg 4>,
- + <&stgcrg 5>,
- + <&stgcrg 1>,
- + <&stgcrg 3>,
- + <&stgcrg 2>;
- + clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
- + resets = <&stgcrg 10>,
- + <&stgcrg 8>,
- + <&stgcrg 7>,
- + <&stgcrg 9>;
- + reset-names = "pwrup", "apb", "axi", "utmi_apb";
- + dr_mode = "host";
- +
- + usb@0 {
- + compatible = "cdns,usb3";
- + reg = <0x0 0x10000>,
- + <0x10000 0x10000>,
- + <0x20000 0x10000>;
- + reg-names = "otg", "xhci", "dev";
- + interrupts = <100>, <108>, <110>;
- + interrupt-names = "host", "peripheral", "otg";
- + maximum-speed = "super-speed";
- + };
- + };
|