Netdev Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Kurt Kanzenbach <kurt@linutronix.de>
To: Andrew Lunn <andrew@lunn.ch>
Cc: Vivien Didelot <vivien.didelot@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	netdev@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Richard Cochran <richardcochran@gmail.com>,
	Kamil Alkhouri <kamil.alkhouri@hs-offenburg.de>,
	ilias.apalodimas@linaro.org, Vladimir Oltean <olteanv@gmail.com>
Subject: Re: [PATCH v3 2/8] net: dsa: Add DSA driver for Hirschmann Hellcreek switches
Date: Thu, 27 Aug 2020 12:29:09 +0200	[thread overview]
Message-ID: <87v9h4crgq.fsf@kurt> (raw)
In-Reply-To: <87h7sqzsr0.fsf@kurt>

[-- Attachment #1: Type: text/plain, Size: 2756 bytes --]

Hi Andrew,

On Tue Aug 25 2020, Kurt Kanzenbach wrote:
> On Tue Aug 25 2020, Andrew Lunn wrote:
>> I agree with the check here. The question is about the compatible
>> string. Should there be a more specific compatible string as well as
>> the generic one?
>>
>> There have been a few discussions about how the Marvell DSA driver
>> does its compatible string. The compatible string tells you where to
>> find the ID register, not what value to expect in the ID register. The
>> ID register can currently be in one of three different locations. Do
>> all current and future Hellcreak devices have the same value for
>> HR_MODID_C?  If not, now is a good time to add a more specific
>> compatible string to tell you where to find the ID register.
>>
>>> My plan was to extend this when I have access to other
>>> revisions. There will be a SPI variant as well. But, I didn't want to
>>> implement it without the ability to test it.
>>
>> Does the SPI variant use the same value for HR_MODID_C?  Maybe you
>> need a different compatible, maybe not, depending on how the driver is
>> structured.
>>
>> The compatible string is part of the ABI. So thinking about it a bit
>> now can make things easier later. I just want to make sure you have
>> thought about this.
>
> I totally agree. The Marvell solution seems to work. For all current
> devices the module ID is located at 0x00. Depending on the chip ID the
> different properties can be configured later. The SPI variant will have
> a different module ID. Anyhow, I'll ask how this will be handled for
> future devices and in general.

After further discussion, we cannot use the Marvell solution.

So, the module id doesn't help us in determining anything about the
hardware. The module id can be arbitrarily chosen. A lot of the features
of the switch IP core are compile time options and cannot be read back
via registers. The hardware integrator can chose which features are
used, the precision of the get of the day for the ptp clock, the module
id, the port speed, additional debug options and so on.

All of this depends on how the IP core is integrated into the hardware
most likely an FPGA. My suggestion for now is to use different
compatible strings. Currently two variants exists:

 * An evaluation platform based on a Cyclone V based DE1 board from
   Terasic
 * The kairos chip (via SPI) which I mentioned in the cover letter

More variants are about to come with more ports, etc.

So, we would need different strings to distinguish between them. Proposal:

 * "hirschmann,hellcreek-de1soc-r1"
 * "hirschmann,hellcreek-ksp-rbrb-trsrr-r208"

And create some form of platform_data with:

 * module id
 * amount of ports
 * port speed
 * qbv support
 * ...

Any thoughts on this?

Thanks,
Kurt

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2020-08-27 10:29 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-20  8:11 [PATCH v3 0/8] Hirschmann Hellcreek DSA driver Kurt Kanzenbach
2020-08-20  8:11 ` [PATCH v3 1/8] net: dsa: Add tag handling for Hirschmann Hellcreek switches Kurt Kanzenbach
2020-08-20  8:11 ` [PATCH v3 2/8] net: dsa: Add DSA driver " Kurt Kanzenbach
2020-08-24 22:44   ` Andrew Lunn
2020-08-25  9:07     ` Kurt Kanzenbach
2020-08-25 13:56       ` Andrew Lunn
2020-08-25 14:48         ` Kurt Kanzenbach
2020-08-27 10:29           ` Kurt Kanzenbach [this message]
2020-08-20  8:11 ` [PATCH v3 3/8] net: dsa: hellcreek: Add PTP clock support Kurt Kanzenbach
2020-08-20  8:11 ` [PATCH v3 4/8] net: dsa: hellcreek: Add support for hardware timestamping Kurt Kanzenbach
2020-08-20  8:11 ` [PATCH v3 5/8] net: dsa: hellcreek: Add TAPRIO offloading support Kurt Kanzenbach
2020-08-22 14:39   ` Vladimir Oltean
2020-08-24  6:10     ` Kurt Kanzenbach
2020-08-24 23:45       ` Vinicius Costa Gomes
2020-08-25  9:42         ` Kurt Kanzenbach
2020-08-25 17:58           ` Vinicius Costa Gomes
2020-08-27 10:12             ` Kurt Kanzenbach
2020-08-25  9:46         ` Vladimir Oltean
2020-08-25 10:09           ` Kurt Kanzenbach
2020-08-25 17:33           ` Vinicius Costa Gomes
2020-08-24 22:56   ` Vladimir Oltean
2020-08-25  9:33     ` Kurt Kanzenbach
2020-08-25  9:38       ` Vladimir Oltean
2020-08-25  9:55         ` Kurt Kanzenbach
2020-08-27 16:25           ` Richard Cochran
2020-08-28 12:31             ` Kurt Kanzenbach
2020-08-24 23:57   ` Vinicius Costa Gomes
2020-08-25  9:23     ` Kurt Kanzenbach
2020-08-25  9:32       ` Vladimir Oltean
2020-09-01 14:20         ` Kurt Kanzenbach
2020-09-01 14:47           ` Vladimir Oltean
2020-08-25 17:50       ` Vinicius Costa Gomes
2020-08-20  8:11 ` [PATCH v3 6/8] net: dsa: hellcreek: Add PTP status LEDs Kurt Kanzenbach
2020-08-24 22:50   ` Andrew Lunn
2020-08-20  8:11 ` [PATCH v3 7/8] dt-bindings: Add vendor prefix for Hirschmann Kurt Kanzenbach
2020-08-20  8:11 ` [PATCH v3 8/8] dt-bindings: net: dsa: Add documentation for Hellcreek switches Kurt Kanzenbach
2020-08-24 22:52   ` Andrew Lunn
2020-08-25 22:28   ` Rob Herring
2020-08-24 21:31 ` [PATCH v3 0/8] Hirschmann Hellcreek DSA driver Jakub Kicinski
2020-08-24 22:02   ` Vladimir Oltean
2020-08-24 22:35     ` David Miller
2020-08-24 22:57       ` Vladimir Oltean
2020-08-25 11:21       ` Kurt Kanzenbach
2020-08-25 17:14         ` Florian Fainelli

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=87v9h4crgq.fsf@kurt \
    --to=kurt@linutronix.de \
    --cc=andrew@lunn.ch \
    --cc=bigeasy@linutronix.de \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=kamil.alkhouri@hs-offenburg.de \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=richardcochran@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=vivien.didelot@gmail.com \
    --subject='Re: [PATCH v3 2/8] net: dsa: Add DSA driver for Hirschmann Hellcreek switches' \
    /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

This is a public inbox, see mirroring instructions
on how to clone and mirror all data and code used for this inbox