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/net/socionext,uniphier-ave4.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Socionext AVE ethernet controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  This describes the devicetree bindings for AVE ethernet controller
148c2ecf20Sopenharmony_ci  implemented on Socionext UniPhier SoCs.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciallOf:
178c2ecf20Sopenharmony_ci  - $ref: ethernet-controller.yaml#
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciproperties:
208c2ecf20Sopenharmony_ci  compatible:
218c2ecf20Sopenharmony_ci    enum:
228c2ecf20Sopenharmony_ci      - socionext,uniphier-pro4-ave4
238c2ecf20Sopenharmony_ci      - socionext,uniphier-pxs2-ave4
248c2ecf20Sopenharmony_ci      - socionext,uniphier-ld11-ave4
258c2ecf20Sopenharmony_ci      - socionext,uniphier-ld20-ave4
268c2ecf20Sopenharmony_ci      - socionext,uniphier-pxs3-ave4
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  reg:
298c2ecf20Sopenharmony_ci    maxItems: 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  interrupts:
328c2ecf20Sopenharmony_ci    maxItems: 1
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci  phy-mode: true
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  phy-handle: true
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  mac-address: true
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  local-mac-address: true
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  clocks:
438c2ecf20Sopenharmony_ci    minItems: 1
448c2ecf20Sopenharmony_ci    maxItems: 4
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  clock-names:
478c2ecf20Sopenharmony_ci    oneOf:
488c2ecf20Sopenharmony_ci      - items:          # for Pro4
498c2ecf20Sopenharmony_ci          - const: gio
508c2ecf20Sopenharmony_ci          - const: ether
518c2ecf20Sopenharmony_ci          - const: ether-gb
528c2ecf20Sopenharmony_ci          - const: ether-phy
538c2ecf20Sopenharmony_ci      - const: ether    # for others
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  resets:
568c2ecf20Sopenharmony_ci    minItems: 1
578c2ecf20Sopenharmony_ci    maxItems: 2
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci  reset-names:
608c2ecf20Sopenharmony_ci    oneOf:
618c2ecf20Sopenharmony_ci      - items:          # for Pro4
628c2ecf20Sopenharmony_ci          - const: gio
638c2ecf20Sopenharmony_ci          - const: ether
648c2ecf20Sopenharmony_ci      - const: ether    # for others
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci  socionext,syscon-phy-mode:
678c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#definitions/phandle-array
688c2ecf20Sopenharmony_ci    description:
698c2ecf20Sopenharmony_ci      A phandle to syscon with one argument that configures phy mode.
708c2ecf20Sopenharmony_ci      The argument is the ID of MAC instance.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci  mdio:
738c2ecf20Sopenharmony_ci    $ref: mdio.yaml#
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_cirequired:
768c2ecf20Sopenharmony_ci  - compatible
778c2ecf20Sopenharmony_ci  - reg
788c2ecf20Sopenharmony_ci  - interrupts
798c2ecf20Sopenharmony_ci  - phy-mode
808c2ecf20Sopenharmony_ci  - phy-handle
818c2ecf20Sopenharmony_ci  - clocks
828c2ecf20Sopenharmony_ci  - clock-names
838c2ecf20Sopenharmony_ci  - resets
848c2ecf20Sopenharmony_ci  - reset-names
858c2ecf20Sopenharmony_ci  - mdio
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciadditionalProperties: false
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciexamples:
908c2ecf20Sopenharmony_ci  - |
918c2ecf20Sopenharmony_ci    ether: ethernet@65000000 {
928c2ecf20Sopenharmony_ci        compatible = "socionext,uniphier-ld20-ave4";
938c2ecf20Sopenharmony_ci                reg = <0x65000000 0x8500>;
948c2ecf20Sopenharmony_ci                interrupts = <0 66 4>;
958c2ecf20Sopenharmony_ci                phy-mode = "rgmii";
968c2ecf20Sopenharmony_ci                phy-handle = <&ethphy>;
978c2ecf20Sopenharmony_ci                clock-names = "ether";
988c2ecf20Sopenharmony_ci                clocks = <&sys_clk 6>;
998c2ecf20Sopenharmony_ci                reset-names = "ether";
1008c2ecf20Sopenharmony_ci                resets = <&sys_rst 6>;
1018c2ecf20Sopenharmony_ci                socionext,syscon-phy-mode = <&soc_glue 0>;
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci                mdio {
1048c2ecf20Sopenharmony_ci                        #address-cells = <1>;
1058c2ecf20Sopenharmony_ci                        #size-cells = <0>;
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci                        ethphy: ethernet-phy@1 {
1088c2ecf20Sopenharmony_ci                                reg = <1>;
1098c2ecf20Sopenharmony_ci                        };
1108c2ecf20Sopenharmony_ci                };
1118c2ecf20Sopenharmony_ci        };
112