320 lines
7.4 KiB
YAML
320 lines
7.4 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/net/allwinner,sun8i-a83t-emac.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Allwinner A83t EMAC
|
||
|
|
||
|
maintainers:
|
||
|
- Chen-Yu Tsai <wens@csie.org>
|
||
|
- Maxime Ripard <mripard@kernel.org>
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- const: allwinner,sun8i-a83t-emac
|
||
|
- const: allwinner,sun8i-h3-emac
|
||
|
- const: allwinner,sun8i-r40-gmac
|
||
|
- const: allwinner,sun8i-v3s-emac
|
||
|
- const: allwinner,sun50i-a64-emac
|
||
|
- items:
|
||
|
- enum:
|
||
|
- allwinner,sun20i-d1-emac
|
||
|
- allwinner,sun50i-h6-emac
|
||
|
- allwinner,sun50i-h616-emac0
|
||
|
- const: allwinner,sun50i-a64-emac
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupt-names:
|
||
|
const: macirq
|
||
|
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
|
||
|
clock-names:
|
||
|
const: stmmaceth
|
||
|
|
||
|
syscon:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description:
|
||
|
Phandle to the device containing the EMAC or GMAC clock
|
||
|
register
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- interrupts
|
||
|
- interrupt-names
|
||
|
- clocks
|
||
|
- clock-names
|
||
|
- resets
|
||
|
- reset-names
|
||
|
- phy-handle
|
||
|
- phy-mode
|
||
|
- syscon
|
||
|
|
||
|
allOf:
|
||
|
- $ref: "snps,dwmac.yaml#"
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- allwinner,sun8i-a83t-emac
|
||
|
- allwinner,sun8i-h3-emac
|
||
|
- allwinner,sun8i-v3s-emac
|
||
|
- allwinner,sun50i-a64-emac
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
allwinner,tx-delay-ps:
|
||
|
default: 0
|
||
|
minimum: 0
|
||
|
maximum: 700
|
||
|
multipleOf: 100
|
||
|
description:
|
||
|
External RGMII PHY TX clock delay chain value in ps.
|
||
|
|
||
|
allwinner,rx-delay-ps:
|
||
|
default: 0
|
||
|
minimum: 0
|
||
|
maximum: 3100
|
||
|
multipleOf: 100
|
||
|
description:
|
||
|
External RGMII PHY TX clock delay chain value in ps.
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- allwinner,sun8i-r40-gmac
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
allwinner,rx-delay-ps:
|
||
|
default: 0
|
||
|
minimum: 0
|
||
|
maximum: 700
|
||
|
multipleOf: 100
|
||
|
description:
|
||
|
External RGMII PHY TX clock delay chain value in ps.
|
||
|
|
||
|
- if:
|
||
|
properties:
|
||
|
compatible:
|
||
|
contains:
|
||
|
enum:
|
||
|
- allwinner,sun8i-h3-emac
|
||
|
- allwinner,sun8i-v3s-emac
|
||
|
|
||
|
then:
|
||
|
properties:
|
||
|
allwinner,leds-active-low:
|
||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||
|
description:
|
||
|
EPHY LEDs are active low.
|
||
|
|
||
|
mdio-mux:
|
||
|
type: object
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: allwinner,sun8i-h3-mdio-mux
|
||
|
|
||
|
mdio-parent-bus:
|
||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||
|
description:
|
||
|
Phandle to EMAC MDIO.
|
||
|
|
||
|
"#address-cells":
|
||
|
const: 1
|
||
|
|
||
|
"#size-cells":
|
||
|
const: 0
|
||
|
|
||
|
mdio@1:
|
||
|
$ref: mdio.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
description: Internal MDIO Bus
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: allwinner,sun8i-h3-mdio-internal
|
||
|
|
||
|
reg:
|
||
|
const: 1
|
||
|
|
||
|
patternProperties:
|
||
|
"^ethernet-phy@[0-9a-f]$":
|
||
|
type: object
|
||
|
description:
|
||
|
Integrated PHY node
|
||
|
|
||
|
properties:
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
|
||
|
resets:
|
||
|
maxItems: 1
|
||
|
|
||
|
required:
|
||
|
- clocks
|
||
|
- resets
|
||
|
|
||
|
|
||
|
mdio@2:
|
||
|
$ref: mdio.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
description: External MDIO Bus (H3 only)
|
||
|
|
||
|
properties:
|
||
|
reg:
|
||
|
const: 2
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- mdio-parent-bus
|
||
|
- mdio@1
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
ethernet@1c0b000 {
|
||
|
compatible = "allwinner,sun8i-h3-emac";
|
||
|
syscon = <&syscon>;
|
||
|
reg = <0x01c0b000 0x104>;
|
||
|
interrupts = <0 82 1>;
|
||
|
interrupt-names = "macirq";
|
||
|
resets = <&ccu 12>;
|
||
|
reset-names = "stmmaceth";
|
||
|
clocks = <&ccu 27>;
|
||
|
clock-names = "stmmaceth";
|
||
|
|
||
|
phy-handle = <&int_mii_phy>;
|
||
|
phy-mode = "mii";
|
||
|
allwinner,leds-active-low;
|
||
|
|
||
|
mdio1: mdio {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "snps,dwmac-mdio";
|
||
|
};
|
||
|
|
||
|
mdio-mux {
|
||
|
compatible = "allwinner,sun8i-h3-mdio-mux";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
mdio-parent-bus = <&mdio1>;
|
||
|
|
||
|
int_mii_phy: mdio@1 {
|
||
|
compatible = "allwinner,sun8i-h3-mdio-internal";
|
||
|
reg = <1>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
ethernet-phy@1 {
|
||
|
reg = <1>;
|
||
|
clocks = <&ccu 67>;
|
||
|
resets = <&ccu 39>;
|
||
|
phy-is-integrated;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mdio@2 {
|
||
|
reg = <2>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
- |
|
||
|
ethernet@1c0b000 {
|
||
|
compatible = "allwinner,sun8i-h3-emac";
|
||
|
syscon = <&syscon>;
|
||
|
reg = <0x01c0b000 0x104>;
|
||
|
interrupts = <0 82 1>;
|
||
|
interrupt-names = "macirq";
|
||
|
resets = <&ccu 12>;
|
||
|
reset-names = "stmmaceth";
|
||
|
clocks = <&ccu 27>;
|
||
|
clock-names = "stmmaceth";
|
||
|
|
||
|
phy-handle = <&ext_rgmii_phy>;
|
||
|
phy-mode = "rgmii";
|
||
|
allwinner,leds-active-low;
|
||
|
|
||
|
mdio2: mdio {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "snps,dwmac-mdio";
|
||
|
};
|
||
|
|
||
|
mdio-mux {
|
||
|
compatible = "allwinner,sun8i-h3-mdio-mux";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
mdio-parent-bus = <&mdio2>;
|
||
|
|
||
|
mdio@1 {
|
||
|
compatible = "allwinner,sun8i-h3-mdio-internal";
|
||
|
reg = <1>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
ethernet-phy@1 {
|
||
|
reg = <1>;
|
||
|
clocks = <&ccu 67>;
|
||
|
resets = <&ccu 39>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mdio@2 {
|
||
|
reg = <2>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
ext_rgmii_phy: ethernet-phy@1 {
|
||
|
reg = <1>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
- |
|
||
|
ethernet@1c0b000 {
|
||
|
compatible = "allwinner,sun8i-a83t-emac";
|
||
|
syscon = <&syscon>;
|
||
|
reg = <0x01c0b000 0x104>;
|
||
|
interrupts = <0 82 1>;
|
||
|
interrupt-names = "macirq";
|
||
|
resets = <&ccu 13>;
|
||
|
reset-names = "stmmaceth";
|
||
|
clocks = <&ccu 27>;
|
||
|
clock-names = "stmmaceth";
|
||
|
phy-handle = <&ext_rgmii_phy1>;
|
||
|
phy-mode = "rgmii";
|
||
|
|
||
|
mdio {
|
||
|
compatible = "snps,dwmac-mdio";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
ext_rgmii_phy1: ethernet-phy@1 {
|
||
|
reg = <1>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|