[PATCH v2] ARM: imx6: DHCOM i.MX6 PDK: Convert to DM_ETH

Marek Vasut marex at denx.de
Wed Apr 15 17:19:36 CEST 2020


On 4/15/20 5:17 PM, Harald Seiler wrote:
> Hello Marek,
> 
> On Wed, 2020-04-15 at 16:53 +0200, Marek Vasut wrote:
>> On 4/15/20 4:48 PM, Harald Seiler wrote:
>>> Use DM_ETH instead of legacy networking.
>>
>> Some more descriptive commit message would help.
>>
>> [...]
>>
>>> diff --git a/arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi b/arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi
>>> new file mode 100644
>>> index 000000000000..88840bb45920
>>> --- /dev/null
>>> +++ b/arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi
>>> @@ -0,0 +1,22 @@
>>> +// SPDX-License-Identifier: (GPL-2.0+)
>>> +/*
>>> + * Copyright (C) 2020 Harald Seiler <hws at denx.de>
>>> + */
>>> +
>>> +/ {
>>> +	fec_vio: regulator-fec {
>>> +		compatible = "regulator-fixed";
>>> +
>>> +		regulator-name = "fec-vio";
>>> +		gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
>>> +		regulator-always-on;
>>> +	};
>>> +};
>>
>> The VIO regulator is on the pdk2, so it should be in the PDK2 U-Boot extras.
>>
>>> +&fec {
>>> +	phy-reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
>>> +	phy-reset-duration = <1>;
>>> +	phy-reset-post-delay = <10>;
>>
>> So is the PHY, so this should also be in the PDK2 extras.
>>
>> (and it should be fixed in Linux too eventually, if it's not done yet)
> 
> I think Linux handles this a bit different:  The node for the PHY contains
> almost the same properties already so I believe that is what's used in the
> kernel:
> 
> 	ethphy0: ethernet-phy at 0 {
> 		reg = <0>;
> 		max-speed = <100>;
> 		reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
> 		reset-delay-us = <1000>;
> 		reset-post-delay-us = <1000>;
> 	};
> 
> Not sure why U-Boot uses a different set of properties, maybe it makes
> sense at some point to start using those instead.
> 
> Also, this was the reason why I put it into the general dhcom dtsi.  I was
> thinking that, if the existing properties are this general, mine should
> probably be, too.

I recently had a look into the MDIO subsystem in Linux and the reset
GPIO can be either MDIO-bus level OR PHY-level, so that's why there are
two sets of properties at different location. Look at:

linux-2.6$ git grep gpio.*reset drivers/net/phy/

I _think_ U-Boot only implements one of those two options, but I might
be wrong there.


More information about the U-Boot mailing list