On 08/16/2016 02:37 PM, Timur Tabi wrote: > 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. If it has self identification, and the MAC is capable of knowing what kind of PHY it is internally bundled with, why does it matter to represent that specific piece of information in Device Tree or ACPI? > > 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. Nothing prevents you from detailing in ACPI or DT sub-components of a larger HW block, if there is such a desire, but just make it in a way that it looks like what would be done for e.g: separate discrete parts, only the parenting of nodes would change. > > 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. > -- Florian -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html