Re: [PATCH] ACPI: Add phylib support code for mdio

From: Yankejian (Hackim Yim)
Date: Wed Dec 09 2015 - 20:29:04 EST




On 2015/12/9 18:31, Yankejian (Hackim Yim) wrote:
>
> On 2015/12/9 3:55, Al Stone wrote:
>> On 12/03/2015 03:47 AM, Graeme Gregory wrote:
>>> On Thu, Dec 03, 2015 at 09:54:43AM +0800, yankejian wrote:
>>>> Add support for getting the PHY devices on an MDIO bus by ACPI.
>>>> Currently many of the ethernet drivers are open coding a solution
>>>> for reading data out of ACPI to find the correct PHY device.
>>>> This patch implements a set of common routines are similar to of_mdio.c
>>>>
>>> The general conclusion for the ACPI on ARM64 discussion so far has been that
>>> things like PHYs should be setup by the firmware before the kernel takes
>>> control.
>>>
>>> I am unsure that this doing it the same way as DT with a different
>>> description language is the way to go.
>>>
>>> Graeme
>> I have to agree with Graeme: if this is supposed to be an arm64 server using
>> ACPI, please make sure the PHYs/clocks/regulators are set up properly before
>> passing control to the kernel. That's the consensus so far on how this is to
>> be done.
>>
>> This also looks to be using _DSD in ACPI, which is another topic that's still
>> under discussion. What does the ASL look like for these PHYs, as used in this
>> patch?
>>
> Hi Al
>
> The sample of the ASL for these PHYs is below:
>
> Device (PHY0) {
> Name (_DSD, Package () {
> ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
> Package () {
> Package () {"phy-addr", 0},
> Package () {"ethernet-phy", "ethernet-phy-ieee802.3-c22"},
> }
> })
> }
>
> Best Regards,
> yankejian
>
Maybe we need to add the ASL for mdio as well, the sample is shown below:

Device (MDIO) {
Name(_HID, "HISI00B1")
Name (_CRS, ResourceTemplate (){
Memory32Fixed (ReadWrite, 0x803c0000 , 0x10000)
})

Device (PHY0) {
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"phy-addr", 0},
Package () {"ethernet-phy", "ethernet-phy-ieee802.3-c22"},
}
})
}
Device (PHY1) {
Name (_DSD, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Package () {"phy-addr", 1},
Package () {"ethernet-phy", "ethernet-phy-ieee802.3-c22"},
}
})
}
}

Best Regards,
yankejian



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/