mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-19 20:13:49 -04:00
The schemas for MDIO bus nodes range from missing to duplicating everything in mdio.yaml. The MDIO bus node schemas only need to reference mdio.yaml, define any binding specific properties, and define 'unevaluatedProperties: false'. This ensures that MDIO nodes only contain defined properties. With this, any duplicated properties can be removed. Cc: "David S. Miller" <davem@davemloft.net> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Maxime Ripard <mripard@kernel.org> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Vivien Didelot <vivien.didelot@gmail.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Vladimir Oltean <olteanv@gmail.com> Cc: Joakim Zhang <qiangqing.zhang@nxp.com> Cc: Heiner Kallweit <hkallweit1@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Cc: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> Cc: Cristian Ciocaltea <cristian.ciocaltea@gmail.com> Cc: "Fernández Rojas" <noltari@gmail.com> Cc: John Crispin <john@phrozen.org> Cc: "G. Jaya Kumaran" <vineetha.g.jaya.kumaran@intel.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Joel Stanley <joel@jms.id.au> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Oleksij Rempel <o.rempel@pengutronix.de> Cc: Alexandre Torgue <alexandre.torgue@foss.st.com> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com> Cc: Jose Abreu <joabreu@synopsys.com> Cc: netdev@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20220105151009.3093506-1-robh@kernel.org
319 lines
7.3 KiB
YAML
319 lines
7.3 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 Device Tree Bindings
|
|
|
|
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
|
|
- 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>;
|
|
};
|
|
};
|
|
};
|
|
|
|
...
|