On 2023-10-18 20:10, Florian Fainelli wrote:
On 10/16/23 08:45, Andrew Lunn wrote:
On Mon, Oct 16, 2023 at 05:36:24PM +0200, Rafał Miłecki wrote:
On 2023-10-14 18:50, Andrew Lunn wrote:
On Fri, Oct 13, 2023 at 12:33:14PM +0200, Rafał Miłecki wrote:
From: Rafał Miłecki <rafal@xxxxxxxxxx>
While switch ports 5 and 7 are disabled (vendor designed port 8 to
be
used for CPU traffic) they could be used strictly technically. For
some
reason however both those ports need forcing link to be usable.
This explanation is not making much sense to me.
I assume this board does not have an RJ45 for these two ports? But
does it have a header so you can access the MII interface?
This PATCH as it is requires a basic familiarity with Northstar
platform
or checking bcm-ns.dtsi.
All Northstar (BCM5301X) devices have 3 Ethernet interfaces. 99% of
them
have:
1. gmac0 connected to port 5
2. gmac1 connected to port 7
3. gmac2 connected to port 8
(it's described in bcm-ns.dtsi).
Some vendors decide to use gmac0 and switch port 5. They fill NVRAM
with
MAC for gmac0.
Some vendors decide to use gmac2 & port 8. They set MAC for gmac2.
Netgear decided to use gmac2 & port 8 for R8000. They fill NVRAM with
MAC for gmac2.
If you however insist on using gmac0 you could do that. That just
requires setting up gmac0 with a custom/random MAC and forcing link
for
switch ports as described in this PATCH.
If the ports are not used, you have them set to disabled, why do they
need a fixed-link? That is what i don't understand yet.
It seems to me like the commit message could be reworded such that:
Even though ports 5 and 7 are disabled and the system is intended to
use port 8, make it possible for users to experiment with using ports
5 and/or 7 if they desire so by ensuring that they have the necessary
'fixed-link' properties to describe the internal connection within the
SoC between the switch ports and the two Ethernet controllers.
Rafal, does that capture the intent? If so I can amend the commit
message while applying.
I believe so. You're correct that in practice it's for experimenting
mainly. Formally it also describes hardware which DT is for.
I'm sure we can find a lot of *disabled* hardware blocks in Linux's DTS
files that are still described for the sake of documenting it.
--
Rafał Miłecki