[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57B3878D.1000805@codeaurora.org>
Date: Tue, 16 Aug 2016 16:37:17 -0500
From: Timur Tabi <timur@...eaurora.org>
To: Al Stone <al.stone@...aro.org>, Rob Herring <robh@...nel.org>
Cc: netdev <netdev@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
Sagar Dharia <sdharia@...eaurora.org>,
Shanker Donthineni <shankerd@...eaurora.org>,
Vikram Sethi <vikrams@...eaurora.org>,
Christopher Covington <cov@...eaurora.org>,
Gilad Avidov <gavidov@...eaurora.org>,
Andrew Lunn <andrew@...n.ch>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Mark Langsdorf <mlangsdo@...hat.com>,
"jcm@...hat.com" <jcm@...hat.com>,
Andy Gross <agross@...eaurora.org>,
David Miller <davem@...emloft.net>,
Florian Fainelli <f.fainelli@...il.com>,
Lino Sanfilippo <LinoSanfilippo@....de>,
"Rafael J. Wysocki" <rjw@...ysocki.net>
Subject: Re: [PATCH] [v7] net: emac: emac gigabit ethernet controller driver
Al Stone wrote:
> Does the ACPI portion of the driver*have* to know about the PHY? In general,
> the ACPI assumption on ARM [**] is that those have all been set up before we
> get to the kernel. So, does it need to be visible to the ACPI part of the
> driver at all?
Yes, the driver supports both "v1" and "v2" of the PHY, and it has code
like this:
if (adpt->phy.version == 2)
emac_sgmii_init_v2(adpt);
else
emac_sgmii_init_v1(adpt);
The question, how should adpt->phy.version be initialized on device tree
and ACPI platforms?
The reason why this is confusing is because there are conflicting
perspectives of this "internal PHY". It both is and is not part of the
EMAC. It is a separate block in the chip, and can be replaced with
other SGMII blocks, and in the future there will be a "v3" and maybe a
"v4" or who knows what. In fact, maybe using version numbers is
inappropriate and we'll need to use vendor names or something.
The problem is that the internal PHY has mechanism for
self-identification. There is no ACPI or device tree node for it.
There is no register you can query to see if it's there or what version
it is. The MAC part of the EMAC has no knowledge of the PHY part. The
driver just has to know it's there.
This is why I'm advocating a separate property (DT and ACPI) to identify
the internal PHY.
The truth is that I don't really care HOW it's done, and as long as we
come to a consensus soon. I want my driver to be merged into 4.9.
--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc. Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
Powered by blists - more mailing lists