public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Bin Meng <bmeng.cn@gmail.com>
To: u-boot@lists.denx.de
Subject: [PATCH v2 12/21] net: phy: fixed: Support the old DT binding
Date: Fri, 12 Mar 2021 21:35:53 +0800	[thread overview]
Message-ID: <20210312133602.31105-13-bmeng.cn@gmail.com> (raw)
In-Reply-To: <20210312133602.31105-1-bmeng.cn@gmail.com>

Update fixedphy_probe() to support the old DT binding.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
---

(no changes since v1)

 drivers/net/phy/fixed.c | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/drivers/net/phy/fixed.c b/drivers/net/phy/fixed.c
index 304e506554..ea05a45244 100644
--- a/drivers/net/phy/fixed.c
+++ b/drivers/net/phy/fixed.c
@@ -27,13 +27,27 @@ static int fixedphy_config(struct phy_device *phydev)
 {
 	ofnode node = phy_get_ofnode(phydev);
 	struct fixed_link *priv;
+	bool old_binding = false;
 	u32 val;
+	u32 old_val[5];
 
 	if (!ofnode_valid(node))
 		return -EINVAL;
 
 	/* check for mandatory properties within fixed-link node */
 	val = ofnode_read_u32_default(node, "speed", 0);
+
+	if (!val) {
+		/* try old binding */
+		old_binding = true;
+		if (ofnode_read_u32_array(node, "fixed-link", old_val,
+					  ARRAY_SIZE(old_val))) {
+			printf("ERROR: no/invalid <fixed-link> property!\n");
+			return -ENOENT;
+		}
+		val = old_val[2];
+	}
+
 	if (val != SPEED_10 && val != SPEED_100 && val != SPEED_1000 &&
 	    val != SPEED_2500 && val != SPEED_10000) {
 		printf("ERROR: no/invalid speed given in fixed-link node!\n");
@@ -48,9 +62,15 @@ static int fixedphy_config(struct phy_device *phydev)
 	phydev->priv = priv;
 
 	priv->link_speed = val;
-	priv->duplex = ofnode_read_bool(node, "full-duplex");
-	priv->pause = ofnode_read_bool(node, "pause");
-	priv->asym_pause = ofnode_read_bool(node, "asym-pause");
+	if (!old_binding) {
+		priv->duplex = ofnode_read_bool(node, "full-duplex");
+		priv->pause = ofnode_read_bool(node, "pause");
+		priv->asym_pause = ofnode_read_bool(node, "asym-pause");
+	} else {
+		priv->duplex = old_val[1];
+		priv->pause = old_val[3];
+		priv->asym_pause = old_val[4];
+	}
 
 	return 0;
 }
-- 
2.25.1

  parent reply	other threads:[~2021-03-12 13:35 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-12 13:35 [PATCH v2 00/21] ppc: qemu: Add eTSEC support Bin Meng
2021-03-12 13:35 ` [PATCH v2 01/21] dt-bindings: net: Add the old DT bindings for "fixed-link" Bin Meng
2021-03-13 12:10   ` Vladimir Oltean
2021-03-13 12:59   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 02/21] of: extra: Introduce ofnode_phy_is_fixed_link() API Bin Meng
2021-03-13 12:14   ` Vladimir Oltean
2021-03-13 12:29     ` Vladimir Oltean
2021-03-13 14:34       ` Bin Meng
2021-03-13 13:03   ` Vladimir Oltean
2021-03-13 14:32     ` Bin Meng
2021-03-12 13:35 ` [PATCH v2 03/21] test: dm: Add a case to test ofnode_phy_is_fixed_link() Bin Meng
2021-03-13 13:13   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 04/21] dm: mdio: Use ofnode_phy_is_fixed_link() API Bin Meng
2021-03-13 13:13   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 05/21] net: phy: fixed: Be compatible with live OF tree Bin Meng
2021-03-13 13:15   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 06/21] net: phy: fixed: Drop #ifdef CONFIG_DM_ETH around phy_connect_fixed Bin Meng
2021-03-13 13:15   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 07/21] net: phy: xilinx: Be compatible with live OF tree Bin Meng
2021-03-12 14:11   ` Michal Simek
2021-03-12 13:35 ` [PATCH v2 08/21] net: phy: xilinx: Drop #ifdef CONFIG_DM_ETH around phy_connect_gmii2rgmii() Bin Meng
2021-03-13 13:16   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 09/21] net: phy: Simplify the logic of phy_connect_fixed() Bin Meng
2021-03-13 13:17   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 10/21] net: phy: fixed: Make driver ops static Bin Meng
2021-03-13 13:17   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 11/21] net: phy: fixed: Add the missing ending newline Bin Meng
2021-03-13 13:18   ` Vladimir Oltean
2021-03-12 13:35 ` Bin Meng [this message]
2021-03-13 13:19   ` [PATCH v2 12/21] net: phy: fixed: Support the old DT binding Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 13/21] net: tsec: Use dm_eth_phy_connect() directly for the DM case Bin Meng
2021-03-13 13:20   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 14/21] sandbox: Add a DSA sandbox driver and unit test Bin Meng
2021-03-12 13:35 ` [PATCH v2 15/21] dt-bindings: net: Update Freescale TSEC to support "queue-group" Bin Meng
2021-03-13 12:50   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 16/21] net: tsec: Support <reg> property from the subnode "queue-group" Bin Meng
2021-03-13 13:28   ` Vladimir Oltean
2021-03-12 13:35 ` [PATCH v2 17/21] dm: core: Correctly read <ranges> of simple-bus Bin Meng
2021-03-12 15:47   ` Simon Glass
2021-03-12 13:35 ` [PATCH v2 18/21] test: dm: Add a test case for simple-bus <ranges> Bin Meng
2021-03-12 13:36 ` [PATCH v2 19/21] ppc: qemu: Create a virtual memory mapping of the platform bus Bin Meng
2021-03-13 13:48   ` Vladimir Oltean
2021-03-12 13:36 ` [PATCH v2 20/21] ppc: qemu: Enable eTSEC support Bin Meng
2021-03-13 13:49   ` Vladimir Oltean
2021-03-12 13:36 ` [PATCH v2 21/21] doc: board: qemu-ppce500: Document eTSEC usage Bin Meng
2021-03-13 13:50   ` Vladimir Oltean
2021-03-12 15:12 ` [PATCH v2 00/21] ppc: qemu: Add eTSEC support Bin Meng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210312133602.31105-13-bmeng.cn@gmail.com \
    --to=bmeng.cn@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox