mbox series

[V4,00/22] ARM: dts: stm32: Repair AV96 board

Message ID 20200401132237.60880-1-marex@denx.de (mailing list archive)
Headers show
Series ARM: dts: stm32: Repair AV96 board | expand

Message

Marek Vasut April 1, 2020, 1:22 p.m. UTC
The AV96 board device tree is completely broken and does not match the
hardware. This series fixes it up.

Marek Vasut (22):
  ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
  ARM: dts: stm32: Repair ethernet operation on AV96
  ARM: dts: stm32: Add missing ethernet PHY reset on AV96
  ARM: dts: stm32: Add missing ethernet PHY skews on AV96
  ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
  ARM: dts: stm32: Repair SDMMC1 operation on AV96
  ARM: dts: stm32: Repair PMIC configuration on AV96
  ARM: dts: stm32: Repair PMIC interrupt on AV96
  ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
  ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
  ARM: dts: stm32: Add QSPI NOR on AV96
  ARM: dts: stm32: Add configuration EEPROM on AV96
  ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
  ARM: dts: stm32: Enable WiFi on AV96
  ARM: dts: stm32: Add alternate pinmux for USART2 pins
  ARM: dts: stm32: Enable Bluetooth on AV96
  ARM: dts: stm32: Add alternate pinmux for LTDC pins
  ARM: dts: stm32: Add bindings for HDMI video on AV96
  ARM: dts: stm32: Add alternate pinmux for SAI2 pins
  ARM: dts: stm32: Add bindings for audio on AV96
  ARM: dts: stm32: Add bindings for USB on AV96
  ARM: dts: stm32: Rename LEDs to match silkscreen on AV96

 arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
 arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
 2 files changed, 571 insertions(+), 33 deletions(-)

Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org

Comments

Manivannan Sadhasivam April 5, 2020, 2:43 p.m. UTC | #1
Hi Marek,

On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
> The AV96 board device tree is completely broken and does not match the
> hardware. This series fixes it up.
> 

Can you please share a git tree with all these patches? These are not
applying cleanly on top of mainline/master or linux-next/master.

Thanks,
Mani

> Marek Vasut (22):
>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>   ARM: dts: stm32: Repair ethernet operation on AV96
>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
>   ARM: dts: stm32: Repair SDMMC1 operation on AV96
>   ARM: dts: stm32: Repair PMIC configuration on AV96
>   ARM: dts: stm32: Repair PMIC interrupt on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
>   ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
>   ARM: dts: stm32: Add QSPI NOR on AV96
>   ARM: dts: stm32: Add configuration EEPROM on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
>   ARM: dts: stm32: Enable WiFi on AV96
>   ARM: dts: stm32: Add alternate pinmux for USART2 pins
>   ARM: dts: stm32: Enable Bluetooth on AV96
>   ARM: dts: stm32: Add alternate pinmux for LTDC pins
>   ARM: dts: stm32: Add bindings for HDMI video on AV96
>   ARM: dts: stm32: Add alternate pinmux for SAI2 pins
>   ARM: dts: stm32: Add bindings for audio on AV96
>   ARM: dts: stm32: Add bindings for USB on AV96
>   ARM: dts: stm32: Rename LEDs to match silkscreen on AV96
> 
>  arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
>  arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
>  2 files changed, 571 insertions(+), 33 deletions(-)
> 
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Patrick Delaunay <patrick.delaunay@st.com>
> Cc: linux-stm32@st-md-mailman.stormreply.com
> To: linux-arm-kernel@lists.infradead.org
> 
> -- 
> 2.25.1
>
Marek Vasut April 5, 2020, 2:55 p.m. UTC | #2
On 4/5/20 4:43 PM, Manivannan Sadhasivam wrote:
> Hi Marek,

Hi,

> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
>> The AV96 board device tree is completely broken and does not match the
>> hardware. This series fixes it up.
>>
> 
> Can you please share a git tree with all these patches? These are not
> applying cleanly on top of mainline/master or linux-next/master.

Alex asked for them to be rebased on
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git
branch
stm32-next

So that's where they apply.
Manivannan Sadhasivam April 5, 2020, 6:37 p.m. UTC | #3
On Sun, Apr 05, 2020 at 04:55:54PM +0200, Marek Vasut wrote:
> On 4/5/20 4:43 PM, Manivannan Sadhasivam wrote:
> > Hi Marek,
> 
> Hi,
> 
> > On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
> >> The AV96 board device tree is completely broken and does not match the
> >> hardware. This series fixes it up.
> >>
> > 
> > Can you please share a git tree with all these patches? These are not
> > applying cleanly on top of mainline/master or linux-next/master.
> 
> Alex asked for them to be rebased on
> git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git
> branch
> stm32-next
> 

Thanks, I'm able to build with your patches. Btw, I just found that the
current mainline versions of u-boot and Linux kernel are certainly broken
on old Avenger96 (588-100) as well.

u-boot doesn't boot while linux kernel has MMC2 and Ethernet broken as you
reported. However, checking out the commit which added Avenger96 board support
in both projects works fine.

So this clearly tells that there is a regression which caused the board support
to be broken with mainline u-boot and kernel. I didn't try to find the offending
commit(s) as the support for STM32MP1 got matured in both the projects. But
we can go ahead with your patches.

I will review the remaining patches tomorrow.

Thanks,
Mani

> So that's where they apply.
Marek Vasut April 5, 2020, 8:01 p.m. UTC | #4
On 4/5/20 8:37 PM, Manivannan Sadhasivam wrote:
> On Sun, Apr 05, 2020 at 04:55:54PM +0200, Marek Vasut wrote:
>> On 4/5/20 4:43 PM, Manivannan Sadhasivam wrote:
>>> Hi Marek,
>>
>> Hi,
>>
>>> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
>>>> The AV96 board device tree is completely broken and does not match the
>>>> hardware. This series fixes it up.
>>>>
>>>
>>> Can you please share a git tree with all these patches? These are not
>>> applying cleanly on top of mainline/master or linux-next/master.
>>
>> Alex asked for them to be rebased on
>> git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git
>> branch
>> stm32-next
>>
> 
> Thanks, I'm able to build with your patches. Btw, I just found that the
> current mainline versions of u-boot and Linux kernel are certainly broken
> on old Avenger96 (588-100) as well.

Considering the difference between the prototype board and the 588-200
production board, that's quite possible. Are you willing to test things
on the 588-100 board ? If so, then we can try and support the 588-100 too.

> u-boot doesn't boot while linux kernel has MMC2 and Ethernet broken as you
> reported. However, checking out the commit which added Avenger96 board support
> in both projects works fine.

At least
35a54d41d9d4 ("ARM: dts: stm32mp1: sync device tree with v5.2-rc4")
in U-Boot broke the old board.

But that should all be fixed for the upcoming U-Boot release in master
already (for 588-200).

The rest is a lot of incorrect pinmux in both, fixed in U-Boot already,
fixed by this set for Linux.

> So this clearly tells that there is a regression which caused the board support
> to be broken with mainline u-boot and kernel. I didn't try to find the offending
> commit(s) as the support for STM32MP1 got matured in both the projects. But
> we can go ahead with your patches.
> 
> I will review the remaining patches tomorrow
Manivannan Sadhasivam April 6, 2020, 6:04 a.m. UTC | #5
On Sun, Apr 05, 2020 at 10:01:54PM +0200, Marek Vasut wrote:
> On 4/5/20 8:37 PM, Manivannan Sadhasivam wrote:
> > On Sun, Apr 05, 2020 at 04:55:54PM +0200, Marek Vasut wrote:
> >> On 4/5/20 4:43 PM, Manivannan Sadhasivam wrote:
> >>> Hi Marek,
> >>
> >> Hi,
> >>
> >>> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
> >>>> The AV96 board device tree is completely broken and does not match the
> >>>> hardware. This series fixes it up.
> >>>>
> >>>
> >>> Can you please share a git tree with all these patches? These are not
> >>> applying cleanly on top of mainline/master or linux-next/master.
> >>
> >> Alex asked for them to be rebased on
> >> git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32.git
> >> branch
> >> stm32-next
> >>
> > 
> > Thanks, I'm able to build with your patches. Btw, I just found that the
> > current mainline versions of u-boot and Linux kernel are certainly broken
> > on old Avenger96 (588-100) as well.
> 
> Considering the difference between the prototype board and the 588-200
> production board, that's quite possible. Are you willing to test things
> on the 588-100 board ? If so, then we can try and support the 588-100 too.
> 

I can but looks like DH Electronics doesn't want to support 588-100. You
can check with them!

> > u-boot doesn't boot while linux kernel has MMC2 and Ethernet broken as you
> > reported. However, checking out the commit which added Avenger96 board support
> > in both projects works fine.
> 
> At least
> 35a54d41d9d4 ("ARM: dts: stm32mp1: sync device tree with v5.2-rc4")
> in U-Boot broke the old board.
> 
> But that should all be fixed for the upcoming U-Boot release in master
> already (for 588-200).
> 
> The rest is a lot of incorrect pinmux in both, fixed in U-Boot already,
> fixed by this set for Linux.
> 

Yeah. Let me have a look.

Thanks,
Mani

> > So this clearly tells that there is a regression which caused the board support
> > to be broken with mainline u-boot and kernel. I didn't try to find the offending
> > commit(s) as the support for STM32MP1 got matured in both the projects. But
> > we can go ahead with your patches.
> > 
> > I will review the remaining patches tomorrow
Manivannan Sadhasivam April 6, 2020, 7:27 a.m. UTC | #6
Hi,

On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
> The AV96 board device tree is completely broken and does not match the
> hardware. This series fixes it up.
> 
> Marek Vasut (22):
>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>   ARM: dts: stm32: Repair ethernet operation on AV96
>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96

Ethernet works fine with cold boot but after warm reboot it fails with below
message,

[   18.192842] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
[   18.197539] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)

Thanks,
Mani

>   ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
>   ARM: dts: stm32: Repair SDMMC1 operation on AV96
>   ARM: dts: stm32: Repair PMIC configuration on AV96
>   ARM: dts: stm32: Repair PMIC interrupt on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
>   ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
>   ARM: dts: stm32: Add QSPI NOR on AV96
>   ARM: dts: stm32: Add configuration EEPROM on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
>   ARM: dts: stm32: Enable WiFi on AV96
>   ARM: dts: stm32: Add alternate pinmux for USART2 pins
>   ARM: dts: stm32: Enable Bluetooth on AV96
>   ARM: dts: stm32: Add alternate pinmux for LTDC pins
>   ARM: dts: stm32: Add bindings for HDMI video on AV96
>   ARM: dts: stm32: Add alternate pinmux for SAI2 pins
>   ARM: dts: stm32: Add bindings for audio on AV96
>   ARM: dts: stm32: Add bindings for USB on AV96
>   ARM: dts: stm32: Rename LEDs to match silkscreen on AV96
> 
>  arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
>  arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
>  2 files changed, 571 insertions(+), 33 deletions(-)
> 
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> Cc: Patrice Chotard <patrice.chotard@st.com>
> Cc: Patrick Delaunay <patrick.delaunay@st.com>
> Cc: linux-stm32@st-md-mailman.stormreply.com
> To: linux-arm-kernel@lists.infradead.org
> 
> -- 
> 2.25.1
>
Marek Vasut April 7, 2020, 3:32 p.m. UTC | #7
On 4/6/20 9:27 AM, Manivannan Sadhasivam wrote:
> Hi,

Hi,

> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
>> The AV96 board device tree is completely broken and does not match the
>> hardware. This series fixes it up.
>>
>> Marek Vasut (22):
>>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>>   ARM: dts: stm32: Repair ethernet operation on AV96
>>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
> 
> Ethernet works fine with cold boot but after warm reboot it fails with below
> message,
> 
> [   18.192842] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
> [   18.197539] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)

Try this patch:

diff --git a/arch/arm/boot/dts/stm32mp157a-avenger96.dts
b/arch/arm/boot/dts/stm32mp157a-avenger96.dts
index 9fcc15b6e76d..3387d6353418 100644
--- a/arch/arm/boot/dts/stm32mp157a-avenger96.dts
+++ b/arch/arm/boot/dts/stm32mp157a-avenger96.dts
@@ -136,12 +136,14 @@ &ethernet0 {
        phy-mode = "rgmii";
        max-speed = <1000>;
        phy-handle = <&phy0>;
-       phy-reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;

        mdio0 {
                #address-cells = <1>;
                #size-cells = <0>;
                compatible = "snps,dwmac-mdio";
+               reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <1000>;
+
                phy0: ethernet-phy@7 {
                        reg = <7>;
Manivannan Sadhasivam April 10, 2020, 9 a.m. UTC | #8
Hi,

On Tue, Apr 07, 2020 at 05:32:31PM +0200, Marek Vasut wrote:
> On 4/6/20 9:27 AM, Manivannan Sadhasivam wrote:
> > Hi,
> 
> Hi,
> 
> > On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
> >> The AV96 board device tree is completely broken and does not match the
> >> hardware. This series fixes it up.
> >>
> >> Marek Vasut (22):
> >>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
> >>   ARM: dts: stm32: Repair ethernet operation on AV96
> >>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
> >>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
> > 
> > Ethernet works fine with cold boot but after warm reboot it fails with below
> > message,
> > 
> > [   18.192842] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
> > [   18.197539] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
> 
> Try this patch:
> 

[   17.270826] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
[   17.275519] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)

It doesn't work. Sorry, I don't have much time to dig into this issue so
I'll leave it up to you :)

Thanks,
Mani

> diff --git a/arch/arm/boot/dts/stm32mp157a-avenger96.dts
> b/arch/arm/boot/dts/stm32mp157a-avenger96.dts
> index 9fcc15b6e76d..3387d6353418 100644
> --- a/arch/arm/boot/dts/stm32mp157a-avenger96.dts
> +++ b/arch/arm/boot/dts/stm32mp157a-avenger96.dts
> @@ -136,12 +136,14 @@ &ethernet0 {
>         phy-mode = "rgmii";
>         max-speed = <1000>;
>         phy-handle = <&phy0>;
> -       phy-reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
> 
>         mdio0 {
>                 #address-cells = <1>;
>                 #size-cells = <0>;
>                 compatible = "snps,dwmac-mdio";
> +               reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
> +               reset-delay-us = <1000>;
> +
>                 phy0: ethernet-phy@7 {
>                         reg = <7>;
Marek Vasut April 10, 2020, 9:55 a.m. UTC | #9
On 4/10/20 11:00 AM, Manivannan Sadhasivam wrote:
> Hi,

Hi,

> On Tue, Apr 07, 2020 at 05:32:31PM +0200, Marek Vasut wrote:
>> On 4/6/20 9:27 AM, Manivannan Sadhasivam wrote:
>>> Hi,
>>
>> Hi,
>>
>>> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
>>>> The AV96 board device tree is completely broken and does not match the
>>>> hardware. This series fixes it up.
>>>>
>>>> Marek Vasut (22):
>>>>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>>>>   ARM: dts: stm32: Repair ethernet operation on AV96
>>>>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>>>>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>>>
>>> Ethernet works fine with cold boot but after warm reboot it fails with below
>>> message,
>>>
>>> [   18.192842] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
>>> [   18.197539] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
>>
>> Try this patch:
>>
> 
> [   17.270826] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
> [   17.275519] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
> 
> It doesn't work. Sorry, I don't have much time to dig into this issue so
> I'll leave it up to you :)

I see, it does work on the new board, so I don't really know what to do
here. Maybe we should just not support the old prototype board ?
Manivannan Sadhasivam April 10, 2020, 11:28 a.m. UTC | #10
On Fri, Apr 10, 2020 at 11:55:57AM +0200, Marek Vasut wrote:
> On 4/10/20 11:00 AM, Manivannan Sadhasivam wrote:
> > Hi,
> 
> Hi,
> 
> > On Tue, Apr 07, 2020 at 05:32:31PM +0200, Marek Vasut wrote:
> >> On 4/6/20 9:27 AM, Manivannan Sadhasivam wrote:
> >>> Hi,
> >>
> >> Hi,
> >>
> >>> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
> >>>> The AV96 board device tree is completely broken and does not match the
> >>>> hardware. This series fixes it up.
> >>>>
> >>>> Marek Vasut (22):
> >>>>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
> >>>>   ARM: dts: stm32: Repair ethernet operation on AV96
> >>>>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
> >>>>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
> >>>
> >>> Ethernet works fine with cold boot but after warm reboot it fails with below
> >>> message,
> >>>
> >>> [   18.192842] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
> >>> [   18.197539] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
> >>
> >> Try this patch:
> >>
> > 
> > [   17.270826] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
> > [   17.275519] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
> > 
> > It doesn't work. Sorry, I don't have much time to dig into this issue so
> > I'll leave it up to you :)
> 
> I see, it does work on the new board, so I don't really know what to do
> here. Maybe we should just not support the old prototype board ?

Sorry, it turned out to be a DT issue. My script was not updated when I switched
to upstream bootloader. This patch works perfectly on both old and new boards.

Feel free to add,

Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Thanks,
Mani
Marek Vasut April 10, 2020, 6:03 p.m. UTC | #11
On 4/10/20 1:28 PM, Manivannan Sadhasivam wrote:
> On Fri, Apr 10, 2020 at 11:55:57AM +0200, Marek Vasut wrote:
>> On 4/10/20 11:00 AM, Manivannan Sadhasivam wrote:
>>> Hi,
>>
>> Hi,
>>
>>> On Tue, Apr 07, 2020 at 05:32:31PM +0200, Marek Vasut wrote:
>>>> On 4/6/20 9:27 AM, Manivannan Sadhasivam wrote:
>>>>> Hi,
>>>>
>>>> Hi,
>>>>
>>>>> On Wed, Apr 01, 2020 at 03:22:15PM +0200, Marek Vasut wrote:
>>>>>> The AV96 board device tree is completely broken and does not match the
>>>>>> hardware. This series fixes it up.
>>>>>>
>>>>>> Marek Vasut (22):
>>>>>>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>>>>>>   ARM: dts: stm32: Repair ethernet operation on AV96
>>>>>>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>>>>>>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>>>>>
>>>>> Ethernet works fine with cold boot but after warm reboot it fails with below
>>>>> message,
>>>>>
>>>>> [   18.192842] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
>>>>> [   18.197539] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
>>>>
>>>> Try this patch:
>>>>
>>>
>>> [   17.270826] stm32-dwmac 5800a000.ethernet eth0: no phy at addr -1
>>> [   17.275519] stm32-dwmac 5800a000.ethernet eth0: stmmac_open: Cannot attach to PHY (err)
>>>
>>> It doesn't work. Sorry, I don't have much time to dig into this issue so
>>> I'll leave it up to you :)
>>
>> I see, it does work on the new board, so I don't really know what to do
>> here. Maybe we should just not support the old prototype board ?
> 
> Sorry, it turned out to be a DT issue. My script was not updated when I switched
> to upstream bootloader. This patch works perfectly on both old and new boards.
> 
> Feel free to add,
> 
> Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

OK, thanks. So that leaves only the DWC2 ?

I'll wait for ST to review this series before sending V5.
Marek Vasut April 21, 2020, 10:30 a.m. UTC | #12
On 4/1/20 3:22 PM, Marek Vasut wrote:
> The AV96 board device tree is completely broken and does not match the
> hardware. This series fixes it up.
> 
> Marek Vasut (22):
>   ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>   ARM: dts: stm32: Repair ethernet operation on AV96
>   ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>   ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
>   ARM: dts: stm32: Repair SDMMC1 operation on AV96
>   ARM: dts: stm32: Repair PMIC configuration on AV96
>   ARM: dts: stm32: Repair PMIC interrupt on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
>   ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
>   ARM: dts: stm32: Add QSPI NOR on AV96
>   ARM: dts: stm32: Add configuration EEPROM on AV96
>   ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
>   ARM: dts: stm32: Enable WiFi on AV96
>   ARM: dts: stm32: Add alternate pinmux for USART2 pins
>   ARM: dts: stm32: Enable Bluetooth on AV96
>   ARM: dts: stm32: Add alternate pinmux for LTDC pins
>   ARM: dts: stm32: Add bindings for HDMI video on AV96
>   ARM: dts: stm32: Add alternate pinmux for SAI2 pins
>   ARM: dts: stm32: Add bindings for audio on AV96
>   ARM: dts: stm32: Add bindings for USB on AV96
>   ARM: dts: stm32: Rename LEDs to match silkscreen on AV96
> 
>  arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
>  arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
>  2 files changed, 571 insertions(+), 33 deletions(-)

Alex, can you provide some review of this series ? It's been posted for
three weeks now.
Alexandre TORGUE April 21, 2020, 4:04 p.m. UTC | #13
Hi Marek

On 4/21/20 12:30 PM, Marek Vasut wrote:
> On 4/1/20 3:22 PM, Marek Vasut wrote:
>> The AV96 board device tree is completely broken and does not match the
>> hardware. This series fixes it up.
>>
>> Marek Vasut (22):
>>    ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>>    ARM: dts: stm32: Repair ethernet operation on AV96
>>    ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>>    ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>>    ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
>>    ARM: dts: stm32: Repair SDMMC1 operation on AV96
>>    ARM: dts: stm32: Repair PMIC configuration on AV96
>>    ARM: dts: stm32: Repair PMIC interrupt on AV96
>>    ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
>>    ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
>>    ARM: dts: stm32: Add QSPI NOR on AV96
>>    ARM: dts: stm32: Add configuration EEPROM on AV96
>>    ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
>>    ARM: dts: stm32: Enable WiFi on AV96
>>    ARM: dts: stm32: Add alternate pinmux for USART2 pins
>>    ARM: dts: stm32: Enable Bluetooth on AV96
>>    ARM: dts: stm32: Add alternate pinmux for LTDC pins
>>    ARM: dts: stm32: Add bindings for HDMI video on AV96
>>    ARM: dts: stm32: Add alternate pinmux for SAI2 pins
>>    ARM: dts: stm32: Add bindings for audio on AV96
>>    ARM: dts: stm32: Add bindings for USB on AV96
>>    ARM: dts: stm32: Rename LEDs to match silkscreen on AV96
>>
>>   arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
>>   arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
>>   2 files changed, 571 insertions(+), 33 deletions(-)
> 
> Alex, can you provide some review of this series ? It's been posted for
> three weeks now.
> 

Yes, I was waiting for Mani's review first (and I was a bit busy sorry).

All patches looks good for me. Maybe I'll squash some pinctrl patches to 
decrease number of patches.

One remaining questions about patch 7 ("Repair PMIC configuration on 
AV96). I saw a discussion on u-boot thread with pascal P., explaining 
that 800mv is not the minimal voltage acceptable for vddcore. What is 
the status ?

regards
alex
Marek Vasut April 21, 2020, 5:07 p.m. UTC | #14
On 4/21/20 6:04 PM, Alexandre Torgue wrote:
> Hi Marek

Hi,

> On 4/21/20 12:30 PM, Marek Vasut wrote:
>> On 4/1/20 3:22 PM, Marek Vasut wrote:
>>> The AV96 board device tree is completely broken and does not match the
>>> hardware. This series fixes it up.
>>>
>>> Marek Vasut (22):
>>>    ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>>>    ARM: dts: stm32: Repair ethernet operation on AV96
>>>    ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>>>    ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>>>    ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
>>>    ARM: dts: stm32: Repair SDMMC1 operation on AV96
>>>    ARM: dts: stm32: Repair PMIC configuration on AV96
>>>    ARM: dts: stm32: Repair PMIC interrupt on AV96
>>>    ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
>>>    ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
>>>    ARM: dts: stm32: Add QSPI NOR on AV96
>>>    ARM: dts: stm32: Add configuration EEPROM on AV96
>>>    ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
>>>    ARM: dts: stm32: Enable WiFi on AV96
>>>    ARM: dts: stm32: Add alternate pinmux for USART2 pins
>>>    ARM: dts: stm32: Enable Bluetooth on AV96
>>>    ARM: dts: stm32: Add alternate pinmux for LTDC pins
>>>    ARM: dts: stm32: Add bindings for HDMI video on AV96
>>>    ARM: dts: stm32: Add alternate pinmux for SAI2 pins
>>>    ARM: dts: stm32: Add bindings for audio on AV96
>>>    ARM: dts: stm32: Add bindings for USB on AV96
>>>    ARM: dts: stm32: Rename LEDs to match silkscreen on AV96
>>>
>>>   arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
>>>   arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
>>>   2 files changed, 571 insertions(+), 33 deletions(-)
>>
>> Alex, can you provide some review of this series ? It's been posted for
>> three weeks now.
>>
> 
> Yes, I was waiting for Mani's review first (and I was a bit busy sorry).

It seems most of the patches got that review.

> All patches looks good for me. Maybe I'll squash some pinctrl patches to
> decrease number of patches.

One patch should do one thing and one thing only, no ?

> One remaining questions about patch 7 ("Repair PMIC configuration on
> AV96). I saw a discussion on u-boot thread with pascal P., explaining
> that 800mv is not the minimal voltage acceptable for vddcore. What is
> the status ?

It should likely be set to 1V2, same as 791be94e2878 ("ARM: dts: stm32:
change default minimal buck1 value on stm32mp157") does. I'll add it
into the list of fixes for V5.
Alexandre TORGUE April 22, 2020, 7:27 a.m. UTC | #15
On 4/21/20 7:07 PM, Marek Vasut wrote:
> On 4/21/20 6:04 PM, Alexandre Torgue wrote:
>> Hi Marek
> 
> Hi,
> 
>> On 4/21/20 12:30 PM, Marek Vasut wrote:
>>> On 4/1/20 3:22 PM, Marek Vasut wrote:
>>>> The AV96 board device tree is completely broken and does not match the
>>>> hardware. This series fixes it up.
>>>>
>>>> Marek Vasut (22):
>>>>     ARM: dts: stm32: Add alternate pinmux for ethernet RGMII
>>>>     ARM: dts: stm32: Repair ethernet operation on AV96
>>>>     ARM: dts: stm32: Add missing ethernet PHY reset on AV96
>>>>     ARM: dts: stm32: Add missing ethernet PHY skews on AV96
>>>>     ARM: dts: stm32: Add alternate pinmux for SDMMC1 direction pins
>>>>     ARM: dts: stm32: Repair SDMMC1 operation on AV96
>>>>     ARM: dts: stm32: Repair PMIC configuration on AV96
>>>>     ARM: dts: stm32: Repair PMIC interrupt on AV96
>>>>     ARM: dts: stm32: Add alternate pinmux for SDMMC2 pins 4-7
>>>>     ARM: dts: stm32: Add eMMC attached to SDMMC2 on AV96
>>>>     ARM: dts: stm32: Add QSPI NOR on AV96
>>>>     ARM: dts: stm32: Add configuration EEPROM on AV96
>>>>     ARM: dts: stm32: Add alternate pinmux for SDMMC3 pins
>>>>     ARM: dts: stm32: Enable WiFi on AV96
>>>>     ARM: dts: stm32: Add alternate pinmux for USART2 pins
>>>>     ARM: dts: stm32: Enable Bluetooth on AV96
>>>>     ARM: dts: stm32: Add alternate pinmux for LTDC pins
>>>>     ARM: dts: stm32: Add bindings for HDMI video on AV96
>>>>     ARM: dts: stm32: Add alternate pinmux for SAI2 pins
>>>>     ARM: dts: stm32: Add bindings for audio on AV96
>>>>     ARM: dts: stm32: Add bindings for USB on AV96
>>>>     ARM: dts: stm32: Rename LEDs to match silkscreen on AV96
>>>>
>>>>    arch/arm/boot/dts/stm32mp15-pinctrl.dtsi    | 280 +++++++++++++++++
>>>>    arch/arm/boot/dts/stm32mp157a-avenger96.dts | 324 ++++++++++++++++++--
>>>>    2 files changed, 571 insertions(+), 33 deletions(-)
>>>
>>> Alex, can you provide some review of this series ? It's been posted for
>>> three weeks now.
>>>
>>
>> Yes, I was waiting for Mani's review first (and I was a bit busy sorry).
> 
> It seems most of the patches got that review.

Yes.

> 
>> All patches looks good for me. Maybe I'll squash some pinctrl patches to
>> decrease number of patches.
> 
> One patch should do one thing and one thing only, no ?

Adding all SDMMC pingroups update in one patch could make sense for 
example.

> 
>> One remaining questions about patch 7 ("Repair PMIC configuration on
>> AV96). I saw a discussion on u-boot thread with pascal P., explaining
>> that 800mv is not the minimal voltage acceptable for vddcore. What is
>> the status ?
> 
> It should likely be set to 1V2, same as 791be94e2878 ("ARM: dts: stm32:
> change default minimal buck1 value on stm32mp157") does. I'll add it
> into the list of fixes for V5.
> 

ok, thanks.