xref: /linux/Documentation/devicetree/bindings/net/microchip,pic64hpsc-mdio.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1*268bb35dSCharles Perry# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*268bb35dSCharles Perry%YAML 1.2
3*268bb35dSCharles Perry---
4*268bb35dSCharles Perry$id: http://devicetree.org/schemas/net/microchip,pic64hpsc-mdio.yaml#
5*268bb35dSCharles Perry$schema: http://devicetree.org/meta-schemas/core.yaml#
6*268bb35dSCharles Perry
7*268bb35dSCharles Perrytitle: Microchip PIC64-HPSC/HX MDIO controller
8*268bb35dSCharles Perry
9*268bb35dSCharles Perrymaintainers:
10*268bb35dSCharles Perry  - Charles Perry <charles.perry@microchip.com>
11*268bb35dSCharles Perry
12*268bb35dSCharles Perrydescription:
13*268bb35dSCharles Perry  This is the MDIO bus controller present in Microchip PIC64-HPSC/HX SoCs. It
14*268bb35dSCharles Perry  supports C22 and C45 register access and is named "MDIO Initiator" in the
15*268bb35dSCharles Perry  documentation.
16*268bb35dSCharles Perry
17*268bb35dSCharles PerryallOf:
18*268bb35dSCharles Perry  - $ref: mdio.yaml#
19*268bb35dSCharles Perry
20*268bb35dSCharles Perryproperties:
21*268bb35dSCharles Perry  compatible:
22*268bb35dSCharles Perry    oneOf:
23*268bb35dSCharles Perry      - const: microchip,pic64hpsc-mdio
24*268bb35dSCharles Perry      - items:
25*268bb35dSCharles Perry          - const: microchip,pic64hx-mdio
26*268bb35dSCharles Perry          - const: microchip,pic64hpsc-mdio
27*268bb35dSCharles Perry
28*268bb35dSCharles Perry  reg:
29*268bb35dSCharles Perry    maxItems: 1
30*268bb35dSCharles Perry
31*268bb35dSCharles Perry  clocks:
32*268bb35dSCharles Perry    maxItems: 1
33*268bb35dSCharles Perry
34*268bb35dSCharles Perry  clock-frequency:
35*268bb35dSCharles Perry    default: 2500000
36*268bb35dSCharles Perry
37*268bb35dSCharles Perry  interrupts:
38*268bb35dSCharles Perry    maxItems: 1
39*268bb35dSCharles Perry
40*268bb35dSCharles Perryrequired:
41*268bb35dSCharles Perry  - compatible
42*268bb35dSCharles Perry  - reg
43*268bb35dSCharles Perry  - clocks
44*268bb35dSCharles Perry  - interrupts
45*268bb35dSCharles Perry
46*268bb35dSCharles PerryunevaluatedProperties: false
47*268bb35dSCharles Perry
48*268bb35dSCharles Perryexamples:
49*268bb35dSCharles Perry  - |
50*268bb35dSCharles Perry    #include <dt-bindings/interrupt-controller/irq.h>
51*268bb35dSCharles Perry    bus {
52*268bb35dSCharles Perry        #address-cells = <2>;
53*268bb35dSCharles Perry        #size-cells = <2>;
54*268bb35dSCharles Perry
55*268bb35dSCharles Perry        mdio@4000c21e000 {
56*268bb35dSCharles Perry            compatible = "microchip,pic64hpsc-mdio";
57*268bb35dSCharles Perry            reg = <0x400 0x0c21e000 0x0 0x1000>;
58*268bb35dSCharles Perry            #address-cells = <1>;
59*268bb35dSCharles Perry            #size-cells = <0>;
60*268bb35dSCharles Perry            clocks = <&svc_clk>;
61*268bb35dSCharles Perry            interrupt-parent = <&saplic0>;
62*268bb35dSCharles Perry            interrupts = <168 IRQ_TYPE_LEVEL_HIGH>;
63*268bb35dSCharles Perry
64*268bb35dSCharles Perry            ethernet-phy@0 {
65*268bb35dSCharles Perry                reg = <0>;
66*268bb35dSCharles Perry            };
67*268bb35dSCharles Perry        };
68*268bb35dSCharles Perry    };
69