Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: usb: samsung,exynos-dwc3: convert to dtschema

Convert the Samsung Exynos SoC USB 3.0 DWC3 Controller bindings to DT
schema format.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220302190938.6195-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Krzysztof Kozlowski and committed by
Greg Kroah-Hartman
949ea75b ca9400ef

+129 -49
-49
Documentation/devicetree/bindings/usb/exynos-usb.txt
··· 64 64 phys = <&usb2phy 1>; 65 65 phy-names = "host"; 66 66 }; 67 - 68 - DWC3 69 - Required properties: 70 - - compatible: should be one of the following - 71 - "samsung,exynos5250-dwusb3": for USB 3.0 DWC3 controller on 72 - Exynos5250/5420. 73 - "samsung,exynos5433-dwusb3": for USB 3.0 DWC3 controller on 74 - Exynos5433. 75 - "samsung,exynos7-dwusb3": for USB 3.0 DWC3 controller on Exynos7. 76 - - #address-cells, #size-cells : should be '1' if the device has sub-nodes 77 - with 'reg' property. 78 - - ranges: allows valid 1:1 translation between child's address space and 79 - parent's address space 80 - - clocks: Clock IDs array as required by the controller. 81 - - clock-names: Names of clocks corresponding to IDs in the clock property. 82 - Following clock names shall be provided for different 83 - compatibles: 84 - - samsung,exynos5250-dwusb3: "usbdrd30", 85 - - samsung,exynos5433-dwusb3: "aclk", "susp_clk", "pipe_pclk", 86 - "phyclk", 87 - - samsung,exynos7-dwusb3: "usbdrd30", "usbdrd30_susp_clk", 88 - "usbdrd30_axius_clk" 89 - - vdd10-supply: 1.0V powr supply 90 - - vdd33-supply: 3.0V/3.3V power supply 91 - 92 - Sub-nodes: 93 - The dwc3 core should be added as subnode to Exynos dwc3 glue. 94 - - dwc3 : 95 - The binding details of dwc3 can be found in: 96 - Documentation/devicetree/bindings/usb/snps,dwc3.yaml 97 - 98 - Example: 99 - usb@12000000 { 100 - compatible = "samsung,exynos5250-dwusb3"; 101 - clocks = <&clock 286>; 102 - clock-names = "usbdrd30"; 103 - #address-cells = <1>; 104 - #size-cells = <1>; 105 - ranges; 106 - vdd10-supply = <&ldo11_reg>; 107 - vdd33-supply = <&ldo9_reg>; 108 - 109 - dwc3 { 110 - compatible = "synopsys,dwc3"; 111 - reg = <0x12000000 0x10000>; 112 - interrupts = <0 72 0>; 113 - usb-phy = <&usb2_phy &usb3_phy>; 114 - }; 115 - };
+129
Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/usb/samsung,exynos-dwc3.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Samsung Exynos SoC USB 3.0 DWC3 Controller 8 + 9 + maintainers: 10 + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 11 + 12 + properties: 13 + compatible: 14 + enum: 15 + - samsung,exynos5250-dwusb3 16 + - samsung,exynos5433-dwusb3 17 + - samsung,exynos7-dwusb3 18 + 19 + '#address-cells': 20 + const: 1 21 + 22 + clocks: 23 + minItems: 1 24 + maxItems: 4 25 + 26 + clock-names: 27 + minItems: 1 28 + maxItems: 4 29 + 30 + ranges: true 31 + 32 + '#size-cells': 33 + const: 1 34 + 35 + vdd10-supply: 36 + description: 1.0V power supply 37 + 38 + vdd33-supply: 39 + description: 3.0V/3.3V power supply 40 + 41 + patternProperties: 42 + "^usb@[0-9a-f]+$": 43 + $ref: snps,dwc3.yaml# 44 + description: Required child node 45 + 46 + required: 47 + - compatible 48 + - '#address-cells' 49 + - clocks 50 + - clock-names 51 + - ranges 52 + - '#size-cells' 53 + - vdd10-supply 54 + - vdd33-supply 55 + 56 + allOf: 57 + - if: 58 + properties: 59 + compatible: 60 + contains: 61 + const: samsung,exynos5250-dwusb3 62 + then: 63 + properties: 64 + clocks: 65 + minItems: 1 66 + maxItems: 1 67 + clock-names: 68 + items: 69 + - const: usbdrd30 70 + 71 + - if: 72 + properties: 73 + compatible: 74 + contains: 75 + const: samsung,exynos54333-dwusb3 76 + then: 77 + properties: 78 + clocks: 79 + minItems: 4 80 + maxItems: 4 81 + clock-names: 82 + items: 83 + - const: aclk 84 + - const: susp_clk 85 + - const: pipe_pclk 86 + - const: phyclk 87 + 88 + - if: 89 + properties: 90 + compatible: 91 + contains: 92 + const: samsung,exynos7-dwusb3 93 + then: 94 + properties: 95 + clocks: 96 + minItems: 3 97 + maxItems: 3 98 + clock-names: 99 + items: 100 + - const: usbdrd30 101 + - const: usbdrd30_susp_clk 102 + - const: usbdrd30_axius_clk 103 + 104 + additionalProperties: false 105 + 106 + examples: 107 + - | 108 + #include <dt-bindings/clock/exynos5420.h> 109 + #include <dt-bindings/interrupt-controller/arm-gic.h> 110 + 111 + usb { 112 + compatible = "samsung,exynos5250-dwusb3"; 113 + #address-cells = <1>; 114 + #size-cells = <1>; 115 + ranges; 116 + clocks = <&clock CLK_USBD300>; 117 + clock-names = "usbdrd30"; 118 + vdd33-supply = <&ldo9_reg>; 119 + vdd10-supply = <&ldo11_reg>; 120 + 121 + usb@12000000 { 122 + compatible = "snps,dwc3"; 123 + reg = <0x12000000 0x10000>; 124 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 125 + phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>; 126 + phy-names = "usb2-phy", "usb3-phy"; 127 + snps,dis_u3_susphy_quirk; 128 + }; 129 + };