From: Vladimir Oltean <olteanv@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 2/9] net: tsec: Fix offset of MDIO registers for DM_ETH
Date: Sun, 14 Jul 2019 03:16:54 +0300 [thread overview]
Message-ID: <20190714001701.2781-3-olteanv@gmail.com> (raw)
In-Reply-To: <20190714001701.2781-1-olteanv@gmail.com>
By convention, the eTSEC MDIO controller nodes are defined in DT at
0x2d24000 and 0x2d50000, but actually U-Boot does not touch the
interrupt portion of the register map (MDIO_IEVENTM, MDIO_IMASKM,
MDIO_EMAPM).
That leaves only the MDIO bus registers (MDIO_MIIMCFG, MDIO_MIIMCOM,
MDIO_MIIMADD, MDIO_MIIMADD, MDIO_MIIMCON, MDIO_MIIMSTAT) which start at
the 0x520 offset.
So shift the DT-defined register map by the offset of MDIO_MIIMCFG when
mapping the MDIO bus registers.
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
Changes from v1:
None.
drivers/net/tsec.c | 13 +++++++------
include/tsec.h | 4 +++-
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 53eb5470f4c8..576398676af7 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -801,6 +801,7 @@ int tsec_probe(struct udevice *dev)
u32 tbiaddr = CONFIG_SYS_TBIPA_VALUE;
ofnode parent;
const char *phy_mode;
+ fdt_addr_t reg;
int ret;
pdata->iobase = (phys_addr_t)dev_read_addr(dev);
@@ -817,15 +818,15 @@ int tsec_probe(struct udevice *dev)
}
parent = ofnode_get_parent(phandle_args.node);
- if (ofnode_valid(parent)) {
- int reg = ofnode_get_addr_index(parent, 0);
-
- priv->phyregs_sgmii = (struct tsec_mii_mng *)reg;
- } else {
- debug("No parent node for PHY?\n");
+ if (!ofnode_valid(parent)) {
+ printf("No parent node for PHY?\n");
return -ENOENT;
}
+ reg = ofnode_get_addr_index(parent, 0);
+ priv->phyregs_sgmii = (struct tsec_mii_mng *)
+ (reg + TSEC_MDIO_REGS_OFFSET);
+
ret = dev_read_phandle_with_args(dev, "tbi-handle", NULL, 0, 0,
&phandle_args);
if (ret == 0)
diff --git a/include/tsec.h b/include/tsec.h
index e90095121bdd..b17fa957df5b 100644
--- a/include/tsec.h
+++ b/include/tsec.h
@@ -17,6 +17,8 @@
#include <config.h>
#include <phy.h>
+#define TSEC_MDIO_REGS_OFFSET 0x520
+
#ifndef CONFIG_DM_ETH
#ifdef CONFIG_ARCH_LS1021A
@@ -27,7 +29,7 @@
#define TSEC_MDIO_OFFSET 0x01000
#endif
-#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520)
+#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + TSEC_MDIO_REGS_OFFSET)
#define TSEC_GET_REGS(num, offset) \
(struct tsec __iomem *)\
--
2.17.1
next prev parent reply other threads:[~2019-07-14 0:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-14 0:16 [U-Boot] [PATCH v2 0/9] NXP LS1021A-TSN Board Vladimir Oltean
2019-07-14 0:16 ` [U-Boot] [PATCH v2 1/9] net: tsec: Refactor the readout of the tbi-handle property Vladimir Oltean
2019-07-14 0:16 ` Vladimir Oltean [this message]
2019-07-14 2:07 ` [U-Boot] [PATCH v2 2/9] net: tsec: Fix offset of MDIO registers for DM_ETH Bin Meng
2019-07-14 0:16 ` [U-Boot] [PATCH v2 3/9] net: tsec: Reverse Christmas tree notation Vladimir Oltean
2019-07-14 0:16 ` [U-Boot] [PATCH v2 4/9] net: tsec: Make errors visible Vladimir Oltean
2019-07-14 0:16 ` [U-Boot] [PATCH v2 5/9] net: tsec: Common handling of MAC station address for DM_ETH Vladimir Oltean
2019-07-14 0:16 ` [U-Boot] [PATCH v2 6/9] net: tsec: Change compatible strings to match Linux Vladimir Oltean
2019-07-14 2:08 ` Bin Meng
2019-07-14 0:16 ` [U-Boot] [PATCH v2 7/9] arm: ls1021atwr: Convert to use driver model TSEC driver Vladimir Oltean
2019-07-14 0:17 ` [U-Boot] [PATCH v2 8/9] configs: ls1021atwr: Fix distro_bootcmd for QSPI boot Vladimir Oltean
2019-07-15 18:49 ` Joe Hershberger
2019-07-14 0:17 ` [U-Boot] [PATCH v2 9/9] Add support for the NXP LS1021A-TSN board Vladimir Oltean
2019-07-14 2:09 ` 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=20190714001701.2781-3-olteanv@gmail.com \
--to=olteanv@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.