Add missing reset deassertion for Aspeed MDIO bus controller. The reset
is asserted by the hardware when power-on so the driver only needs to
deassert it. To be able to work with the old DT blobs, the reset is
optional since it may be deasserted by the bootloader or the previous
kernel.
V3:
- remove reset property from the required list of the device tree
bindings
- remove "Cc: [email protected]" from the commit messages
- add more description in the commit message of the dt-binding
V2:
- add reset property in the device tree bindings
- add reset assertion in the error path and driver remove
Dylan Hung (3):
dt-bindings: net: add reset property for aspeed, ast2600-mdio binding
net: mdio: add reset control for Aspeed MDIO
ARM: dts: aspeed: add reset properties into MDIO nodes
.../bindings/net/aspeed,ast2600-mdio.yaml | 5 +++++
arch/arm/boot/dts/aspeed-g6.dtsi | 4 ++++
drivers/net/mdio/mdio-aspeed.c | 15 ++++++++++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
--
2.25.1
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 <[email protected]>
---
.../devicetree/bindings/net/aspeed,ast2600-mdio.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/aspeed,ast2600-mdio.yaml b/Documentation/devicetree/bindings/net/aspeed,ast2600-mdio.yaml
index 1c88820cbcdf..7f43b4fe86a3 100644
--- a/Documentation/devicetree/bindings/net/aspeed,ast2600-mdio.yaml
+++ b/Documentation/devicetree/bindings/net/aspeed,ast2600-mdio.yaml
@@ -20,10 +20,14 @@ allOf:
properties:
compatible:
const: aspeed,ast2600-mdio
+
reg:
maxItems: 1
description: The register range of the MDIO controller instance
+ resets:
+ maxItems: 1
+
required:
- compatible
- reg
@@ -39,6 +43,7 @@ examples:
reg = <0x1e650000 0x8>;
#address-cells = <1>;
#size-cells = <0>;
+ resets = <&syscon 35>;
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
--
2.25.1
On Fri, 25 Mar 2022 12:14:48 +0800 Dylan Hung wrote:
> Add missing reset deassertion for Aspeed MDIO bus controller. The reset
> is asserted by the hardware when power-on so the driver only needs to
> deassert it. To be able to work with the old DT blobs, the reset is
> optional since it may be deasserted by the bootloader or the previous
> kernel.
# Form letter - net-next is closed
We have already sent the networking pull request for 5.18
and therefore net-next is closed for new drivers, features,
code refactoring and optimizations. We are currently accepting
bug fixes only.
Please repost when net-next reopens after 5.18-rc1 is cut, in ~1 week.
RFC patches sent for review only are obviously welcome at any time.