The AST2600 MDIO bus controller has a reset control bit and must be deasserted before manipulating the MDIO controller. By default, the hardware asserts the reset so the driver only need to deassert it. Regarding to the old DT blobs which don't have reset property in them, the reset deassertion is usually done by the bootloader so the reset property is optional to work with them. Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
54 lines
1.2 KiB
YAML
54 lines
1.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/aspeed,ast2600-mdio.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ASPEED AST2600 MDIO Controller
|
|
|
|
maintainers:
|
|
- Andrew Jeffery <andrew@aj.id.au>
|
|
|
|
description: |+
|
|
The ASPEED AST2600 MDIO controller is the third iteration of ASPEED's MDIO
|
|
bus register interface, this time also separating out the controller from the
|
|
MAC.
|
|
|
|
allOf:
|
|
- $ref: "mdio.yaml#"
|
|
|
|
properties:
|
|
compatible:
|
|
const: aspeed,ast2600-mdio
|
|
|
|
reg:
|
|
maxItems: 1
|
|
description: The register range of the MDIO controller instance
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/ast2600-clock.h>
|
|
mdio0: mdio@1e650000 {
|
|
compatible = "aspeed,ast2600-mdio";
|
|
reg = <0x1e650000 0x8>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
resets = <&syscon ASPEED_RESET_MII>;
|
|
|
|
ethphy0: ethernet-phy@0 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <0>;
|
|
};
|
|
};
|