18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/phy/socionext,uniphier-usb3hs-phy.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Socionext UniPhier USB3 High-Speed (HS) PHY
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cidescription: |
108c2ecf20Sopenharmony_ci  This describes the devicetree bindings for PHY interfaces built into
118c2ecf20Sopenharmony_ci  USB3 controller implemented on Socionext UniPhier SoCs.
128c2ecf20Sopenharmony_ci  Although the controller includes High-Speed PHY and Super-Speed PHY,
138c2ecf20Sopenharmony_ci  this describes about High-Speed PHY.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cimaintainers:
168c2ecf20Sopenharmony_ci  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciproperties:
198c2ecf20Sopenharmony_ci  compatible:
208c2ecf20Sopenharmony_ci    enum:
218c2ecf20Sopenharmony_ci      - socionext,uniphier-pro5-usb3-hsphy
228c2ecf20Sopenharmony_ci      - socionext,uniphier-pxs2-usb3-hsphy
238c2ecf20Sopenharmony_ci      - socionext,uniphier-ld20-usb3-hsphy
248c2ecf20Sopenharmony_ci      - socionext,uniphier-pxs3-usb3-hsphy
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  reg:
278c2ecf20Sopenharmony_ci    description: PHY register region (offset and length)
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  "#phy-cells":
308c2ecf20Sopenharmony_ci    const: 0
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  clocks:
338c2ecf20Sopenharmony_ci    minItems: 1
348c2ecf20Sopenharmony_ci    maxItems: 3
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  clock-names:
378c2ecf20Sopenharmony_ci    oneOf:
388c2ecf20Sopenharmony_ci      - const: link          # for PXs2
398c2ecf20Sopenharmony_ci      - items:               # for PXs3 with phy-ext
408c2ecf20Sopenharmony_ci          - const: link
418c2ecf20Sopenharmony_ci          - const: phy
428c2ecf20Sopenharmony_ci          - const: phy-ext
438c2ecf20Sopenharmony_ci      - items:               # for others
448c2ecf20Sopenharmony_ci          - const: link
458c2ecf20Sopenharmony_ci          - const: phy
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  resets:
488c2ecf20Sopenharmony_ci    maxItems: 2
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  reset-names:
518c2ecf20Sopenharmony_ci    items:
528c2ecf20Sopenharmony_ci      - const: link
538c2ecf20Sopenharmony_ci      - const: phy
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  vbus-supply:
568c2ecf20Sopenharmony_ci    description: A phandle to the regulator for USB VBUS
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  nvmem-cells:
598c2ecf20Sopenharmony_ci    maxItems: 3
608c2ecf20Sopenharmony_ci    description:
618c2ecf20Sopenharmony_ci      Phandles to nvmem cell that contains the trimming data.
628c2ecf20Sopenharmony_ci      Available only for HS-PHY implemented on LD20 and PXs3, and
638c2ecf20Sopenharmony_ci      if unspecified, default value is used.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci  nvmem-cell-names:
668c2ecf20Sopenharmony_ci    items:
678c2ecf20Sopenharmony_ci      - const: rterm
688c2ecf20Sopenharmony_ci      - const: sel_t
698c2ecf20Sopenharmony_ci      - const: hs_i
708c2ecf20Sopenharmony_ci    description:
718c2ecf20Sopenharmony_ci      Should be the following names, which correspond to each nvmem-cells.
728c2ecf20Sopenharmony_ci      All of the 3 parameters associated with the above names are
738c2ecf20Sopenharmony_ci      required for each port, if any one is omitted, the trimming data
748c2ecf20Sopenharmony_ci      of the port will not be set at all.
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_cirequired:
778c2ecf20Sopenharmony_ci  - compatible
788c2ecf20Sopenharmony_ci  - reg
798c2ecf20Sopenharmony_ci  - "#phy-cells"
808c2ecf20Sopenharmony_ci  - clocks
818c2ecf20Sopenharmony_ci  - clock-names
828c2ecf20Sopenharmony_ci  - resets
838c2ecf20Sopenharmony_ci  - reset-names
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciadditionalProperties: false
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciexamples:
888c2ecf20Sopenharmony_ci  - |
898c2ecf20Sopenharmony_ci    usb-glue@65b00000 {
908c2ecf20Sopenharmony_ci        compatible = "socionext,uniphier-ld20-dwc3-glue", "simple-mfd";
918c2ecf20Sopenharmony_ci        #address-cells = <1>;
928c2ecf20Sopenharmony_ci        #size-cells = <1>;
938c2ecf20Sopenharmony_ci        ranges = <0 0x65b00000 0x400>;
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci        usb_hsphy0: hs-phy@200 {
968c2ecf20Sopenharmony_ci            compatible = "socionext,uniphier-ld20-usb3-hsphy";
978c2ecf20Sopenharmony_ci            reg = <0x200 0x10>;
988c2ecf20Sopenharmony_ci            #phy-cells = <0>;
998c2ecf20Sopenharmony_ci            clock-names = "link", "phy";
1008c2ecf20Sopenharmony_ci            clocks = <&sys_clk 14>, <&sys_clk 16>;
1018c2ecf20Sopenharmony_ci            reset-names = "link", "phy";
1028c2ecf20Sopenharmony_ci            resets = <&sys_rst 14>, <&sys_rst 16>;
1038c2ecf20Sopenharmony_ci            vbus-supply = <&usb_vbus0>;
1048c2ecf20Sopenharmony_ci            nvmem-cell-names = "rterm", "sel_t", "hs_i";
1058c2ecf20Sopenharmony_ci            nvmem-cells = <&usb_rterm0>, <&usb_sel_t0>, <&usb_hs_i0>;
1068c2ecf20Sopenharmony_ci        };
1078c2ecf20Sopenharmony_ci    };
108