Thread (10 messages) flat view 10 messages, 3 authors, 2016-08-17

Re: [PATCH] [v7] net: emac: emac gigabit ethernet controller driver

From: Rob Herring <robh@kernel.org>
Date: 2016-08-16 13:29:51
Also in: linux-arm-msm, linux-devicetree

On Mon, Aug 15, 2016 at 3:06 PM, Timur Tabi [off-list ref] wrote:
+ Rafael and Al, for ACPI help.

Rob Herring wrote:
quoted
quoted
quoted
+Optional properties:
+- phy-version : the version of the integrated emac phy, either 1 or 2.
quoted
Sounds like 2 different h/w. The compatible property should distinguish
this.

So I implemented this in v8 of my driver, but it is causing problems for
ACPI.

In ACPI, the equivalent to a compatible string is the HID, which is QCOM8070
for the EMAC.  The problem is that it's very difficult, if not impossible,
to create new HIDs for different versions of the same device.
Different versions are different devices IMO.
The driver will primarily (if not exclusively) be used on ACPI platforms,
not DT.  In Qualcomm, DT is for mobile chips, and ACPI is for server.  To my
knowledge, there are no plans to use this driver on an actual DT-enabled
platform, but I want to support DT anyway.

The other problem is that the "internal PHY" of the EMAC is technically a
separate device, and it's interchangeable.  Future versions of our chips
will use different internal PHYs, but the EMAC will stay the same.
How do you know? EMAC could just as easily change. It's Gigabit today,
10G tomorrow.

But if it is separate, then maybe you should model it as a separate
device using the phy binding.
So I would like a solution that works on DT and ACPI.  I suppose I could use
compatible strings on DT, and a "phy-version" DSD (property) on ACPI.  If
that's acceptable to everyone, then I can do that.  It seems clunky to me.
On one hand, why should I care about ACPI for defining DT bindings?
OTOH, having a phy-version property alone would not be a big deal, but
you still need distinct compatible strings regardless.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help