From: Thomas Petazzoni <thomas.petazzoni@free-electrons•com>
To: Russell King - ARM Linux <linux@armlinux•org.uk>
Cc: Mark Rutland <mark.rutland@arm•com>,
Rob Herring <robh@kernel•org>,
Yehuda Yitschak <yehuday@marvell•com>,
Jason Cooper <jason@lakedaemon•net>,
Pawel Moll <pawel.moll@arm•com>,
devicetree@vger•kernel.org, netdev@vger•kernel.org,
Hanna Hawa <hannah@marvell•com>,
Ian Campbell <ijc+devicetree@hellion•org.uk>,
Nadav Haklai <nadavh@marvell•com>, Andrew Lunn <andrew@lunn•ch>,
Kumar Gala <galak@codeaurora•org>,
Gregory Clement <gregory.clement@free-electrons•com>,
Stefan Chulski <stefanc@marvell•com>,
Marcin Wojtas <mw@semihalf•com>,
"David S. Miller" <davem@davemloft•net>,
linux-arm-kernel@lists•infradead.org,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail•com>
Subject: Re: [PATCHv2 net-next 01/16] dt-bindings: net: update Marvell PPv2 binding for PPv2.2 support
Date: Tue, 14 Feb 2017 15:25:03 +0100 [thread overview]
Message-ID: <20170214152503.602878cb@free-electrons.com> (raw)
In-Reply-To: <20170203164808.GD27312@n2100.armlinux.org.uk>
Hello,
On Fri, 3 Feb 2017 16:48:08 +0000, Russell King - ARM Linux wrote:
> On Thu, Feb 02, 2017 at 05:56:50PM +0100, Thomas Petazzoni wrote:
> > For PPv2.2, we wanted to simplify a little bit the register mappings,
> > and simply reflect the memory map of the SoC. In the SoC datasheet,
> > there are two memory areas for the networking subsystem, which are the
> > two areas reflected in:
> >
> > reg = <0x0 0x100000>,
> > <0x100000 0x80000>;
> >
> > The per-port registers are inside the second register area. But by
> > exposing the entire register area in the Device Tree binding, we allow
> > improvements in the driver that need additional registers to be made
> > without changing the Device Tree description of the device.
>
> Are you sure that this makes sense? You have the serdes block at
> 0x120000-0x125fff, which sits within that range, and that needs to
> be configured for SATA and PCIe, so it's not strictly just a network
> thing.
>
> I know from my experimentation that disabling the "serdes" by clearing
> the SD_EXTERNAL_CONFIG1_REG and SD_EXTERNAL_CONFIG0_REG for SATA
> channels prevents SATA working.
I have simply/stupidly followed the datasheet, which says:
Packet processor: 0xf2000000, 0xf4000000 (i.e offset 0x0 in the CP)
Networking interfaces: 0xf2100000, 0xf4100000 (i.e offset 0x100000 in the CP)
IO Bridge Addr Decoding: 0xf2190000, 0xf4190000
And since there is no other block described, I assumed that the entire
range 0xf2000000 to 0xf2100000 was dedicated to the "Packet processor",
and that the range 0xf2100000 to 0xf2190000 was dedicated to the
"Networking interfaces" (and I realize the size is 0x90000, not
0x80000).
On the other hand, there are registers after 0x125fff that are really
networking related. For example, the driver is currently accessing
0x12a204, which is after the SERDES related registers.
I'll try to get some more information about this, but I suspect this is
one case where we don't yet fully understand how all the HW works and
what all registers are doing, so it's hard to do a perfect DT binding
from day 1.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next prev parent reply other threads:[~2017-02-14 14:25 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-28 16:46 [PATCHv2 net-next 00/16] net: mvpp2: add basic support for PPv2.2 Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 04/16] net: mvpp2: introduce an intermediate union for the TX/RX descriptors Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 05/16] net: mvpp2: introduce PPv2.2 HW descriptors and adapt accessors Thomas Petazzoni
2017-01-06 14:29 ` Russell King - ARM Linux
2017-01-06 14:44 ` Robin Murphy
[not found] ` <113811b6-79a4-9c66-d302-add9fb0c5b1a-5wv7dgnIgG8@public.gmane.org>
2017-02-03 13:24 ` Thomas Petazzoni
2017-02-03 14:05 ` Robin Murphy
[not found] ` <231514f4-2e35-8bde-4469-aada833635aa-5wv7dgnIgG8@public.gmane.org>
2017-02-03 15:02 ` Thomas Petazzoni
[not found] ` <20170203160227.08b40c58-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-02-03 16:31 ` Robin Murphy
2017-02-03 15:54 ` Russell King - ARM Linux
2017-02-04 13:59 ` Thomas Petazzoni
2017-02-06 12:43 ` David Laight
2016-12-28 16:46 ` [PATCHv2 net-next 06/16] net: mvpp2: adjust the allocation/free of BM pools for PPv2.2 Thomas Petazzoni
2017-01-06 14:32 ` Russell King - ARM Linux
2016-12-28 16:46 ` [PATCHv2 net-next 08/16] net: mvpp2: adapt mvpp2_defaults_set() to PPv2.2 Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 09/16] net: mvpp2: adjust mvpp2_{rxq,txq}_init for PPv2.2 Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 10/16] net: mvpp2: handle register mapping and access " Thomas Petazzoni
2017-01-06 14:46 ` Russell King - ARM Linux
[not found] ` <20170106144648.GE14217-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-03-02 8:45 ` Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 11/16] net: mvpp2: handle misc PPv2.1/PPv2.2 differences Thomas Petazzoni
2017-01-07 9:38 ` Russell King - ARM Linux
[not found] ` <20170107093834.GJ14217-l+eeeJia6m9URfEZ8mYm6t73F7V6hmMc@public.gmane.org>
2017-01-07 20:10 ` Russell King - ARM Linux
2017-02-14 14:53 ` Thomas Petazzoni
2017-01-07 11:03 ` Russell King - ARM Linux
2017-01-07 12:12 ` Marcin Wojtas
[not found] ` <CAPv3WKeQ=fj2cKPyJ2NqCaAv55cOyWodujKwj3-v5iCrDYNcmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-01-07 13:50 ` Russell King - ARM Linux
2016-12-28 16:46 ` [PATCHv2 net-next 12/16] net: mvpp2: add AXI bridge initialization for PPv2.2 Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 13/16] net: mvpp2: rework RXQ interrupt group " Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 15/16] net: mvpp2: add support for an additional clock needed " Thomas Petazzoni
[not found] ` <1482943592-12556-16-git-send-email-thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-01-07 9:29 ` Russell King - ARM Linux
[not found] ` <1482943592-12556-1-git-send-email-thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2016-12-28 16:46 ` [PATCHv2 net-next 01/16] dt-bindings: net: update Marvell PPv2 binding for PPv2.2 support Thomas Petazzoni
[not found] ` <1482943592-12556-2-git-send-email-thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-01-03 20:18 ` Rob Herring
2017-02-02 16:56 ` Thomas Petazzoni
2017-02-03 16:48 ` Russell King - ARM Linux
2017-02-14 14:25 ` Thomas Petazzoni [this message]
[not found] ` <20170214152503.602878cb-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-02-21 10:12 ` Thomas Petazzoni
2017-01-07 9:32 ` Russell King - ARM Linux
2017-02-02 16:44 ` Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 02/16] net: mvpp2: add and use accessors for TX/RX descriptors Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 03/16] net: mvpp2: add hw_version field in "struct mvpp2" Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 07/16] net: mvpp2: adapt the mvpp2_rxq_*_pool_set functions to PPv2.2 Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 14/16] net: mvpp2: adapt rxq distribution " Thomas Petazzoni
2016-12-28 16:46 ` [PATCHv2 net-next 16/16] net: mvpp2: finally add the PPv2.2 compatible string Thomas Petazzoni
2016-12-28 17:06 ` [PATCHv2 net-next 00/16] net: mvpp2: add basic support for PPv2.2 David Miller
[not found] ` <20161228.120644.1166014191192724301.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2016-12-28 21:08 ` Thomas Petazzoni
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=20170214152503.602878cb@free-electrons.com \
--to=thomas.petazzoni@free-electrons$(echo .)com \
--cc=andrew@lunn$(echo .)ch \
--cc=davem@davemloft$(echo .)net \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=galak@codeaurora$(echo .)org \
--cc=gregory.clement@free-electrons$(echo .)com \
--cc=hannah@marvell$(echo .)com \
--cc=ijc+devicetree@hellion$(echo .)org.uk \
--cc=jason@lakedaemon$(echo .)net \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux@armlinux$(echo .)org.uk \
--cc=mark.rutland@arm$(echo .)com \
--cc=mw@semihalf$(echo .)com \
--cc=nadavh@marvell$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=pawel.moll@arm$(echo .)com \
--cc=robh@kernel$(echo .)org \
--cc=sebastian.hesselbarth@gmail$(echo .)com \
--cc=stefanc@marvell$(echo .)com \
--cc=yehuday@marvell$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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