xref: /linux/Documentation/devicetree/bindings/phy/intel,combo-phy.yaml (revision 0eac9e977283d1573aa8c1f614afbe807aae62d1)
11d51a2caSDilip Kota# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
21d51a2caSDilip Kota%YAML 1.2
31d51a2caSDilip Kota---
41d51a2caSDilip Kota$id: http://devicetree.org/schemas/phy/intel,combo-phy.yaml#
51d51a2caSDilip Kota$schema: http://devicetree.org/meta-schemas/core.yaml#
61d51a2caSDilip Kota
71d51a2caSDilip Kotatitle: Intel ComboPhy Subsystem
81d51a2caSDilip Kota
91d51a2caSDilip Kotamaintainers:
101d51a2caSDilip Kota  - Dilip Kota <eswara.kota@linux.intel.com>
111d51a2caSDilip Kota
121d51a2caSDilip Kotadescription: |
131d51a2caSDilip Kota  Intel Combophy subsystem supports PHYs for PCIe, EMAC and SATA
141d51a2caSDilip Kota  controllers. A single Combophy provides two PHY instances.
151d51a2caSDilip Kota
161d51a2caSDilip Kotaproperties:
171d51a2caSDilip Kota  $nodename:
18*0eac9e97SKrzysztof Kozlowski    pattern: "combophy(@.*|-([0-9]|[1-9][0-9]+))?$"
191d51a2caSDilip Kota
201d51a2caSDilip Kota  compatible:
211d51a2caSDilip Kota    items:
221d51a2caSDilip Kota      - const: intel,combophy-lgm
231d51a2caSDilip Kota      - const: intel,combo-phy
241d51a2caSDilip Kota
251d51a2caSDilip Kota  clocks:
261d51a2caSDilip Kota    maxItems: 1
271d51a2caSDilip Kota
281d51a2caSDilip Kota  reg:
291d51a2caSDilip Kota    items:
301d51a2caSDilip Kota      - description: ComboPhy core registers
311d51a2caSDilip Kota      - description: PCIe app core control registers
321d51a2caSDilip Kota
331d51a2caSDilip Kota  reg-names:
341d51a2caSDilip Kota    items:
351d51a2caSDilip Kota      - const: core
361d51a2caSDilip Kota      - const: app
371d51a2caSDilip Kota
381d51a2caSDilip Kota  resets:
391d51a2caSDilip Kota    maxItems: 4
401d51a2caSDilip Kota
411d51a2caSDilip Kota  reset-names:
421d51a2caSDilip Kota    items:
431d51a2caSDilip Kota      - const: phy
441d51a2caSDilip Kota      - const: core
451d51a2caSDilip Kota      - const: iphy0
461d51a2caSDilip Kota      - const: iphy1
471d51a2caSDilip Kota
481d51a2caSDilip Kota  intel,syscfg:
491d51a2caSDilip Kota    $ref: /schemas/types.yaml#/definitions/phandle-array
5039bd2b6aSRob Herring    items:
5139bd2b6aSRob Herring      - items:
5239bd2b6aSRob Herring          - description: phandle to Chip configuration registers
5339bd2b6aSRob Herring          - description: ComboPhy instance id
541d51a2caSDilip Kota    description: Chip configuration registers handle and ComboPhy instance id
551d51a2caSDilip Kota
561d51a2caSDilip Kota  intel,hsio:
571d51a2caSDilip Kota    $ref: /schemas/types.yaml#/definitions/phandle-array
5839bd2b6aSRob Herring    items:
5939bd2b6aSRob Herring      - items:
6039bd2b6aSRob Herring          - description: phandle to HSIO registers
6139bd2b6aSRob Herring          - description: ComboPhy instance id
621d51a2caSDilip Kota    description: HSIO registers handle and ComboPhy instance id on NOC
631d51a2caSDilip Kota
641d51a2caSDilip Kota  intel,aggregation:
651d51a2caSDilip Kota    type: boolean
661d51a2caSDilip Kota    description: |
671d51a2caSDilip Kota      Specify the flag to configure ComboPHY in dual lane mode.
681d51a2caSDilip Kota
691d51a2caSDilip Kota  intel,phy-mode:
701d51a2caSDilip Kota    $ref: /schemas/types.yaml#/definitions/uint32
711d51a2caSDilip Kota    description: |
721d51a2caSDilip Kota      Mode of the two phys in ComboPhy.
731d51a2caSDilip Kota      See dt-bindings/phy/phy.h for values.
741d51a2caSDilip Kota
751d51a2caSDilip Kota  "#phy-cells":
761d51a2caSDilip Kota    const: 1
771d51a2caSDilip Kota
781d51a2caSDilip Kotarequired:
791d51a2caSDilip Kota  - compatible
801d51a2caSDilip Kota  - clocks
811d51a2caSDilip Kota  - reg
821d51a2caSDilip Kota  - reg-names
831d51a2caSDilip Kota  - intel,syscfg
841d51a2caSDilip Kota  - intel,hsio
851d51a2caSDilip Kota  - intel,phy-mode
861d51a2caSDilip Kota  - "#phy-cells"
871d51a2caSDilip Kota
881d51a2caSDilip KotaadditionalProperties: false
891d51a2caSDilip Kota
901d51a2caSDilip Kotaexamples:
911d51a2caSDilip Kota  - |
921d51a2caSDilip Kota    #include <dt-bindings/phy/phy.h>
931d51a2caSDilip Kota    combophy@d0a00000 {
941d51a2caSDilip Kota        compatible = "intel,combophy-lgm", "intel,combo-phy";
951d51a2caSDilip Kota        clocks = <&cgu0 1>;
961d51a2caSDilip Kota        #phy-cells = <1>;
971d51a2caSDilip Kota        reg = <0xd0a00000 0x40000>,
981d51a2caSDilip Kota              <0xd0a40000 0x1000>;
991d51a2caSDilip Kota        reg-names = "core", "app";
1001d51a2caSDilip Kota        resets = <&rcu0 0x50 6>,
1011d51a2caSDilip Kota                 <&rcu0 0x50 17>,
1021d51a2caSDilip Kota                 <&rcu0 0x50 23>,
1031d51a2caSDilip Kota                 <&rcu0 0x50 24>;
1041d51a2caSDilip Kota        reset-names = "phy", "core", "iphy0", "iphy1";
1051d51a2caSDilip Kota        intel,syscfg = <&sysconf 0>;
1061d51a2caSDilip Kota        intel,hsio = <&hsiol 0>;
1071d51a2caSDilip Kota        intel,phy-mode = <PHY_TYPE_PCIE>;
1081d51a2caSDilip Kota        intel,aggregation;
1091d51a2caSDilip Kota    };
110