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
97 lines
2.2 KiB
YAML
97 lines
2.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/actions,owl-emac.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Actions Semi Owl SoCs Ethernet MAC Controller
|
|
|
|
maintainers:
|
|
- Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
|
|
|
|
description: |
|
|
This Ethernet MAC is used on the Owl family of SoCs from Actions Semi.
|
|
It provides the RMII and SMII interfaces and is compliant with the
|
|
IEEE 802.3 CSMA/CD standard, supporting both half-duplex and full-duplex
|
|
operation modes at 10/100 Mb/s data transfer rates.
|
|
|
|
allOf:
|
|
- $ref: "ethernet-controller.yaml#"
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: actions,owl-emac
|
|
- items:
|
|
- enum:
|
|
- actions,s500-emac
|
|
- const: actions,owl-emac
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
additionalItems: false
|
|
items:
|
|
- const: eth
|
|
- const: rmii
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
actions,ethcfg:
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
description:
|
|
Phandle to the device containing custom config.
|
|
|
|
mdio:
|
|
$ref: mdio.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- clock-names
|
|
- resets
|
|
- phy-mode
|
|
- phy-handle
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/actions,s500-cmu.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/reset/actions,s500-reset.h>
|
|
|
|
ethernet@b0310000 {
|
|
compatible = "actions,s500-emac", "actions,owl-emac";
|
|
reg = <0xb0310000 0x10000>;
|
|
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&cmu 59 /*CLK_ETHERNET*/>, <&cmu CLK_RMII_REF>;
|
|
clock-names = "eth", "rmii";
|
|
resets = <&cmu RESET_ETHERNET>;
|
|
phy-mode = "rmii";
|
|
phy-handle = <ð_phy>;
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
eth_phy: ethernet-phy@3 {
|
|
reg = <0x3>;
|
|
interrupt-parent = <&sirq>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
};
|
|
};
|
|
};
|