mbox series

[PATCHv1,0/6] Amlogic Soc - Add missing ethernet mdio compatible string

Message ID 20210325124225.2760-1-linux.amoon@gmail.com (mailing list archive)
Headers show
Series Amlogic Soc - Add missing ethernet mdio compatible string | expand

Message

Anand Moon March 25, 2021, 12:42 p.m. UTC
On most of the Amlogic SoC I observed that Ethernet would not get
initialize when try to deploy the mainline kernel, earlier I tried to
fix this issue with by setting ethernet reset but it did not resolve
the issue see below.
	resets = <&reset RESET_ETHERNET>;
	reset-names = "stmmaceth";

After checking what was the missing with Rockchip SoC dts
I tried to add this missing compatible string and then it
started to working on my setup.

Also I tried to fix the device tree binding to validate the changes.

Tested this on my Odroid-N2 and Odroid-C2 (64 bit) setup.
I do not have ready Odroid C1 (32 bit) setup so please somebody test.

Best Regards
-Anand

Anand Moon (6):
  dt-bindings: net: ethernet-phy: Fix the parsing of ethernet-phy
    compatible string
  arm: dts: meson: Add missing ethernet phy mdio compatible string
  arm64: dts: meson-gxbb: Add missing ethernet phy mimo compatible
    string
  arm64: dts: meson-gxl: Add missing ethernet phy mdio compatible string
  arm64: dts: meson-g12: Add missing ethernet phy mdio compatible string
  arm64: dts: meson-glx: Fix the ethernet phy mdio compatible string

 Documentation/devicetree/bindings/net/ethernet-phy.yaml | 6 +++---
 arch/arm/boot/dts/meson8b-ec100.dts                     | 1 +
 arch/arm/boot/dts/meson8b-mxq.dts                       | 1 +
 arch/arm/boot/dts/meson8b-odroidc1.dts                  | 1 +
 arch/arm/boot/dts/meson8m2-mxiii-plus.dts               | 1 +
 arch/arm64/boot/dts/amlogic/meson-axg-s400.dts          | 1 +
 arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts      | 1 +
 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi   | 3 ++-
 arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi        | 1 +
 arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi  | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts      | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts    | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts  | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts     | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts         | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi    | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi       | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts    | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi              | 2 +-
 arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts   | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts     | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts          | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts      | 1 +
 arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts      | 1 +
 arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi      | 1 +
 arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi       | 1 +
 26 files changed, 29 insertions(+), 5 deletions(-)

Comments

Andrew Lunn March 25, 2021, 1:02 p.m. UTC | #1
On Thu, Mar 25, 2021 at 12:42:19PM +0000, Anand Moon wrote:
> On most of the Amlogic SoC I observed that Ethernet would not get
> initialize when try to deploy the mainline kernel, earlier I tried to
> fix this issue with by setting ethernet reset but it did not resolve
> the issue see below.
> 	resets = <&reset RESET_ETHERNET>;
> 	reset-names = "stmmaceth";
> 
> After checking what was the missing with Rockchip SoC dts
> I tried to add this missing compatible string and then it
> started to working on my setup.

Adding

compatible = "ethernet-phy-ieee802.3-c22"

should not fix anything, since that is the default. We need to better
understand what is going on here.

	   Andrew
Heiner Kallweit March 25, 2021, 1:19 p.m. UTC | #2
On 25.03.2021 13:42, Anand Moon wrote:
> On most of the Amlogic SoC I observed that Ethernet would not get
> initialize when try to deploy the mainline kernel, earlier I tried to
> fix this issue with by setting ethernet reset but it did not resolve
> the issue see below.
> 	resets = <&reset RESET_ETHERNET>;
> 	reset-names = "stmmaceth";
> 
> After checking what was the missing with Rockchip SoC dts
> I tried to add this missing compatible string and then it
> started to working on my setup.
> 
> Also I tried to fix the device tree binding to validate the changes.
> 
> Tested this on my Odroid-N2 and Odroid-C2 (64 bit) setup.
> I do not have ready Odroid C1 (32 bit) setup so please somebody test.
> 

When working on the Odroid-C2 I did not have such a problem.
And if you look at of_mdiobus_child_is_phy() and
of_mdiobus_register_phy() you'll see that your change shouldn't be
needed.

Could you please elaborate on:
- What is the exact problem you're facing? Best add a dmesg log.
- Which kernel version are you using?


> Best Regards
> -Anand
> 
> Anand Moon (6):
>   dt-bindings: net: ethernet-phy: Fix the parsing of ethernet-phy
>     compatible string
>   arm: dts: meson: Add missing ethernet phy mdio compatible string
>   arm64: dts: meson-gxbb: Add missing ethernet phy mimo compatible
>     string
>   arm64: dts: meson-gxl: Add missing ethernet phy mdio compatible string
>   arm64: dts: meson-g12: Add missing ethernet phy mdio compatible string
>   arm64: dts: meson-glx: Fix the ethernet phy mdio compatible string
> 
>  Documentation/devicetree/bindings/net/ethernet-phy.yaml | 6 +++---
>  arch/arm/boot/dts/meson8b-ec100.dts                     | 1 +
>  arch/arm/boot/dts/meson8b-mxq.dts                       | 1 +
>  arch/arm/boot/dts/meson8b-odroidc1.dts                  | 1 +
>  arch/arm/boot/dts/meson8m2-mxiii-plus.dts               | 1 +
>  arch/arm64/boot/dts/amlogic/meson-axg-s400.dts          | 1 +
>  arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts      | 1 +
>  arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi   | 3 ++-
>  arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi        | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi  | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts      | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts    | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts  | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts     | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts         | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi    | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi       | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts    | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxl.dtsi              | 2 +-
>  arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts   | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts     | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts          | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts      | 1 +
>  arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts      | 1 +
>  arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi      | 1 +
>  arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi       | 1 +
>  26 files changed, 29 insertions(+), 5 deletions(-)
>
Anand Moon March 25, 2021, 3:40 p.m. UTC | #3
Hi Heiner


On Thu, 25 Mar 2021 at 18:49, Heiner Kallweit <hkallweit1@gmail.com> wrote:
>
> On 25.03.2021 13:42, Anand Moon wrote:
> > On most of the Amlogic SoC I observed that Ethernet would not get
> > initialize when try to deploy the mainline kernel, earlier I tried to
> > fix this issue with by setting ethernet reset but it did not resolve
> > the issue see below.
> >       resets = <&reset RESET_ETHERNET>;
> >       reset-names = "stmmaceth";
> >
> > After checking what was the missing with Rockchip SoC dts
> > I tried to add this missing compatible string and then it
> > started to working on my setup.
> >
> > Also I tried to fix the device tree binding to validate the changes.
> >
> > Tested this on my Odroid-N2 and Odroid-C2 (64 bit) setup.
> > I do not have ready Odroid C1 (32 bit) setup so please somebody test.
> >
>
> When working on the Odroid-C2 I did not have such a problem.
> And if you look at of_mdiobus_child_is_phy() and
> of_mdiobus_register_phy() you'll see that your change shouldn't be
> needed.
I will check this out, thanks for your inputs.
>
> Could you please elaborate on:
> - What is the exact problem you're facing? Best add a dmesg log.
   1> I am aware all the distro kernel I have tested ethernet will work file
   2> My issue is when I compile the mainline kernel with the default setting,
       Ethernet interface will not receive any DHCP IP address from the router
       Although the Ethernet interface comes up properly.
      This does not happen frequently but I observed this at my end.
  3> I tried to collect logs but I did not observe any kernel issue
like panic or warning.

> - Which kernel version are you using?
     I am using the mainline kernel with default settings.

-Anand
Heiner Kallweit March 25, 2021, 3:55 p.m. UTC | #4
On 25.03.2021 16:40, Anand Moon wrote:
> Hi Heiner
> 
> 
> On Thu, 25 Mar 2021 at 18:49, Heiner Kallweit <hkallweit1@gmail.com> wrote:
>>
>> On 25.03.2021 13:42, Anand Moon wrote:
>>> On most of the Amlogic SoC I observed that Ethernet would not get
>>> initialize when try to deploy the mainline kernel, earlier I tried to
>>> fix this issue with by setting ethernet reset but it did not resolve
>>> the issue see below.
>>>       resets = <&reset RESET_ETHERNET>;
>>>       reset-names = "stmmaceth";
>>>
>>> After checking what was the missing with Rockchip SoC dts
>>> I tried to add this missing compatible string and then it
>>> started to working on my setup.
>>>
>>> Also I tried to fix the device tree binding to validate the changes.
>>>
>>> Tested this on my Odroid-N2 and Odroid-C2 (64 bit) setup.
>>> I do not have ready Odroid C1 (32 bit) setup so please somebody test.
>>>
>>
>> When working on the Odroid-C2 I did not have such a problem.
>> And if you look at of_mdiobus_child_is_phy() and
>> of_mdiobus_register_phy() you'll see that your change shouldn't be
>> needed.
> I will check this out, thanks for your inputs.
>>
>> Could you please elaborate on:
>> - What is the exact problem you're facing? Best add a dmesg log.
>    1> I am aware all the distro kernel I have tested ethernet will work file
>    2> My issue is when I compile the mainline kernel with the default setting,
>        Ethernet interface will not receive any DHCP IP address from the router
>        Although the Ethernet interface comes up properly.
>       This does not happen frequently but I observed this at my end.

If the PHY wouldn't be detected, then your network would never work.
So there must be a different reason. You can manually assign a static IP
and then check what's going wrong: checking for missed / error packets,
running iperf, etc.


>   3> I tried to collect logs but I did not observe any kernel issue
> like panic or warning.
> 
>> - Which kernel version are you using?
>      I am using the mainline kernel with default settings.
> 
> -Anand
>