Re: [PATCH] ARM: dts: keystone: use one to one address translations under netcp

From: santosh shilimkar
Date: Wed Sep 02 2015 - 11:51:09 EST


On 9/2/2015 8:31 AM, Kwok, WingMan wrote:


-----Original Message-----
From: santosh.shilimkar@xxxxxxxxxx [mailto:santosh.shilimkar@xxxxxxxxxx]
Sent: Tuesday, September 01, 2015 5:19 PM
To: Kwok, WingMan; robh+dt@xxxxxxxxxx; pawel.moll@xxxxxxx;
mark.rutland@xxxxxxx; ijc+devicetree@xxxxxxxxxxxxxx; galak@xxxxxxxxxxxxxx;
linux@xxxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-arm-
kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; ssantosh@xxxxxxxxxx
Cc: Karicheri, Muralidharan
Subject: Re: [PATCH] ARM: dts: keystone: use one to one address translations
under netcp

On 9/1/15 1:28 PM, WingMan Kwok wrote:
Network subsystem NetCP in Keystone-2 devices includes some HW blocks
that are memory mapped to ranges outside that of the NetCP itself.
Thus address space of a child node of the NetCP node needs to be
mapped 1:1 onto the parent address space. Hence empty ranges
should be used under the NetCP node.

Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx>
---
arch/arm/boot/dts/k2e-netcp.dtsi | 8 +++-----
arch/arm/boot/dts/k2hk-netcp.dtsi | 14 ++++++--------
arch/arm/boot/dts/k2l-netcp.dtsi | 8 +++-----
3 files changed, 12 insertions(+), 18 deletions(-)

diff --git a/arch/arm/boot/dts/k2e-netcp.dtsi b/arch/arm/boot/dts/k2e-
netcp.dtsi
index b13b3c9..e103ed9 100644
--- a/arch/arm/boot/dts/k2e-netcp.dtsi
+++ b/arch/arm/boot/dts/k2e-netcp.dtsi
@@ -111,9 +111,7 @@ netcp: netcp@24000000 {
compatible = "ti,netcp-1.0";
#address-cells = <1>;
#size-cells = <1>;
-
- /* NetCP address range */
- ranges = <0 0x24000000 0x1000000>;
+ ranges;

What blocks are we talking here. We need to increase the
range if the current range isn't covering entire NETCP
address space. Removing range isn't a solution.


The Serdes. It is a HW block inside the NetCP but its address
space starts from 0x0232a000. We can change the base in the
ranges property to include the serdes. But then offsets of
other HW blocks that are within the NetCP address range will be
relative to this new base and are not as documented in the HW
user guides.

I suspected the same. I know back then we started with SERDES code
with NETCP but as you already know, its a separate block which
is needed for NIC card to work. Its more of phy and hence its
having different address space is not surprising.

IIRC, there was a plan to consolidate the serdes code together
since the PCIE also needs it. Irrespective of that, I suggest
you model the serdes address space in another node and fetch
it from there if that works for you. Please also add DTS
documentation if you are going ahead with that approach.

Regards,
Santosh



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/