Documentation / devicetree / bindings / net / socionext,uniphier-ave4.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/socionext,uniphier-ave4.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Socionext AVE ethernet controller

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

description: |
  This describes the devicetree bindings for AVE ethernet controller
  implemented on Socionext UniPhier SoCs.

properties:
  compatible:
    enum:
      - socionext,uniphier-pro4-ave4
      - socionext,uniphier-pxs2-ave4
      - socionext,uniphier-ld11-ave4
      - socionext,uniphier-ld20-ave4
      - socionext,uniphier-pxs3-ave4
      - socionext,uniphier-nx1-ave4

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  phy-mode: true

  phy-handle: true

  mac-address: true

  local-mac-address: true

  clocks:
    minItems: 1
    maxItems: 4

  clock-names: true

  resets:
    minItems: 1
    maxItems: 2

  reset-names: true

  socionext,syscon-phy-mode:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      - items:
          - description: phandle to syscon that configures phy mode
          - description: ID of MAC instance
    description:
      A phandle to syscon with one argument that configures phy mode.
      The argument is the ID of MAC instance.

  mdio:
    $ref: mdio.yaml#
    unevaluatedProperties: false

allOf:
  - $ref: ethernet-controller.yaml#
  - if:
      properties:
        compatible:
          contains:
            const: socionext,uniphier-pro4-ave4
    then:
      properties:
        clocks:
          minItems: 4
          maxItems: 4
        clock-names:
          items:
            - const: gio
            - const: ether
            - const: ether-gb
            - const: ether-phy
        resets:
          minItems: 2
          maxItems: 2
        reset-names:
          items:
            - const: gio
            - const: ether
    else:
      properties:
        clocks:
          maxItems: 1
        clock-names:
          const: ether
        resets:
          maxItems: 1
        reset-names:
          const: ether

required:
  - compatible
  - reg
  - interrupts
  - phy-mode
  - phy-handle
  - clocks
  - clock-names
  - resets
  - reset-names
  - mdio

unevaluatedProperties: false

examples:
  - |
    ether: ethernet@65000000 {
        compatible = "socionext,uniphier-ld20-ave4";
                reg = <0x65000000 0x8500>;
                interrupts = <0 66 4>;
                phy-mode = "rgmii";
                phy-handle = <&ethphy>;
                clock-names = "ether";
                clocks = <&sys_clk 6>;
                reset-names = "ether";
                resets = <&sys_rst 6>;
                socionext,syscon-phy-mode = <&soc_glue 0>;
 
                mdio {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        ethphy: ethernet-phy@1 {
                                reg = <1>;
                        };
                };
        };