mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
This MDIO hardware is based on a Microsemi design supported in Linux by mdio-mscc-miim.c. However, The register interface is completely different with pic64hpsc, hence the need for separate documentation. The hardware supports C22 and C45. The documentation recommends an input clock of 156.25MHz and a prescaler of 39, which yields an MDIO clock of 1.95MHz. The hardware supports an interrupt pin to signal transaction completion which is not strictly needed as the software can also poll a "TRIGGER" bit for this. Signed-off-by: Charles Perry <charles.perry@microchip.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/20260408131821.1145334-2-charles.perry@microchip.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
69 lines
1.4 KiB
YAML
69 lines
1.4 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/microchip,pic64hpsc-mdio.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Microchip PIC64-HPSC/HX MDIO controller
|
|
|
|
maintainers:
|
|
- Charles Perry <charles.perry@microchip.com>
|
|
|
|
description:
|
|
This is the MDIO bus controller present in Microchip PIC64-HPSC/HX SoCs. It
|
|
supports C22 and C45 register access and is named "MDIO Initiator" in the
|
|
documentation.
|
|
|
|
allOf:
|
|
- $ref: mdio.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: microchip,pic64hpsc-mdio
|
|
- items:
|
|
- const: microchip,pic64hx-mdio
|
|
- const: microchip,pic64hpsc-mdio
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
clock-frequency:
|
|
default: 2500000
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
- interrupts
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
bus {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
mdio@4000c21e000 {
|
|
compatible = "microchip,pic64hpsc-mdio";
|
|
reg = <0x400 0x0c21e000 0x0 0x1000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&svc_clk>;
|
|
interrupt-parent = <&saplic0>;
|
|
interrupts = <168 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
};
|
|
};
|