mbox series

[net-next,v2,0/7] Add an MDIO sub-node under MACB

Message ID 20200721171316.1427582-1-codrin.ciubotariu@microchip.com
Headers show
Series Add an MDIO sub-node under MACB | expand

Message

Codrin Ciubotariu July 21, 2020, 5:13 p.m. UTC
Adding the PHY nodes directly under the Ethernet node became deprecated,
so the aim of this patch series is to make MACB use an MDIO node as
container for MDIO devices.
This patch series starts with a small patch to use the device-managed
devm_mdiobus_alloc(). In the next two patches we update the bindings and
adapt macb driver to parse the device-tree PHY nodes from under an MDIO
node. The last patches add the MDIO node in the device-trees of sama5d2,
sama5d3, samad4 and sam9x60 boards.

Changes in v2:
 - renamed patch 2/7 from "macb: bindings doc: use an MDIO node as a
   container for PHY nodes" to "dt-bindings: net: macb: use an MDIO
   node as a container for PHY nodes"
 - added back a newline removed by mistake in patch 3/7

Codrin Ciubotariu (7):
  net: macb: use device-managed devm_mdiobus_alloc()
  dt-bindings: net: macb: use an MDIO node as a container for PHY nodes
  net: macb: parse PHY nodes found under an MDIO node
  ARM: dts: at91: sama5d2: add an mdio sub-node to macb
  ARM: dts: at91: sama5d3: add an mdio sub-node to macb
  ARM: dts: at91: sama5d4: add an mdio sub-node to macb
  ARM: dts: at91: sam9x60: add an mdio sub-node to macb

 Documentation/devicetree/bindings/net/macb.txt | 15 ++++++++++++---
 arch/arm/boot/dts/at91-sam9x60ek.dts           |  8 ++++++--
 arch/arm/boot/dts/at91-sama5d27_som1.dtsi      | 16 ++++++++++------
 arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi    | 17 ++++++++++-------
 arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts      | 13 ++++++++-----
 arch/arm/boot/dts/at91-sama5d2_xplained.dts    | 12 ++++++++----
 arch/arm/boot/dts/at91-sama5d3_xplained.dts    | 16 ++++++++++++----
 arch/arm/boot/dts/at91-sama5d4_xplained.dts    | 12 ++++++++----
 drivers/net/ethernet/cadence/macb_main.c       | 18 ++++++++++++------
 9 files changed, 86 insertions(+), 41 deletions(-)

Comments

Claudiu Beznea July 22, 2020, 10:32 a.m. UTC | #1
On 21.07.2020 20:13, Codrin Ciubotariu wrote:
> Adding the PHY nodes directly under the Ethernet node became deprecated,
> so the aim of this patch series is to make MACB use an MDIO node as
> container for MDIO devices.
> This patch series starts with a small patch to use the device-managed
> devm_mdiobus_alloc(). In the next two patches we update the bindings and
> adapt macb driver to parse the device-tree PHY nodes from under an MDIO
> node. The last patches add the MDIO node in the device-trees of sama5d2,
> sama5d3, samad4 and sam9x60 boards.
> 

Tested this series on sama5d2_xplained in the following scenarios:

1/ PHY bindings from patch 4/7:
mdio {
	#address-cells = <1>;
	#size-cells = <0>;
	ethernet-phy@1 {
		reg = <0x1>;
		interrupt-parent = <&pioA>;
		interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
};

2/ PHY bindings before this series:
ethernet-phy@1 {
	reg = <0x1>;
	interrupt-parent = <&pioA>;
	interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
};

3/ No PHY bindings at all.

All 3 cases went OK.

You can add:
Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Thank you,
Claudiu Beznea

> Changes in v2:
>  - renamed patch 2/7 from "macb: bindings doc: use an MDIO node as a
>    container for PHY nodes" to "dt-bindings: net: macb: use an MDIO
>    node as a container for PHY nodes"
>  - added back a newline removed by mistake in patch 3/7
> 
> Codrin Ciubotariu (7):
>   net: macb: use device-managed devm_mdiobus_alloc()
>   dt-bindings: net: macb: use an MDIO node as a container for PHY nodes
>   net: macb: parse PHY nodes found under an MDIO node
>   ARM: dts: at91: sama5d2: add an mdio sub-node to macb
>   ARM: dts: at91: sama5d3: add an mdio sub-node to macb
>   ARM: dts: at91: sama5d4: add an mdio sub-node to macb
>   ARM: dts: at91: sam9x60: add an mdio sub-node to macb
> 
>  Documentation/devicetree/bindings/net/macb.txt | 15 ++++++++++++---
>  arch/arm/boot/dts/at91-sam9x60ek.dts           |  8 ++++++--
>  arch/arm/boot/dts/at91-sama5d27_som1.dtsi      | 16 ++++++++++------
>  arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi    | 17 ++++++++++-------
>  arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts      | 13 ++++++++-----
>  arch/arm/boot/dts/at91-sama5d2_xplained.dts    | 12 ++++++++----
>  arch/arm/boot/dts/at91-sama5d3_xplained.dts    | 16 ++++++++++++----
>  arch/arm/boot/dts/at91-sama5d4_xplained.dts    | 12 ++++++++----
>  drivers/net/ethernet/cadence/macb_main.c       | 18 ++++++++++++------
>  9 files changed, 86 insertions(+), 41 deletions(-)
>
Codrin Ciubotariu July 22, 2020, 11:38 a.m. UTC | #2
On 22.07.2020 13:32, Claudiu Beznea - M18063 wrote:
> 
> 
> On 21.07.2020 20:13, Codrin Ciubotariu wrote:
>> Adding the PHY nodes directly under the Ethernet node became deprecated,
>> so the aim of this patch series is to make MACB use an MDIO node as
>> container for MDIO devices.
>> This patch series starts with a small patch to use the device-managed
>> devm_mdiobus_alloc(). In the next two patches we update the bindings and
>> adapt macb driver to parse the device-tree PHY nodes from under an MDIO
>> node. The last patches add the MDIO node in the device-trees of sama5d2,
>> sama5d3, samad4 and sam9x60 boards.
>>
> 
> Tested this series on sama5d2_xplained in the following scenarios:
> 
> 1/ PHY bindings from patch 4/7:
> mdio {
> 	#address-cells = <1>;
> 	#size-cells = <0>;
> 	ethernet-phy@1 {
> 		reg = <0x1>;
> 		interrupt-parent = <&pioA>;
> 		interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
> };
> 
> 2/ PHY bindings before this series:
> ethernet-phy@1 {
> 	reg = <0x1>;
> 	interrupt-parent = <&pioA>;
> 	interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
> };
> 
> 3/ No PHY bindings at all.
> 
> All 3 cases went OK.
> 
> You can add:
> Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> Acked-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Thank you very much Claudiu!
There is still one more case in my mind. macb could be a fixed-link with 
an MDIO DSA switch. While the macb would have a fixed connection with a 
port from the DSA switch, the switch could be configured using macb's 
MDIO. The dt would be something like:

macb {
	fixed-link {
		...
	};
	mdio {
		switch@0 {
			...
		};
	};
};

To support this, in patch 3/7 I should first check for the mdio node to 
return of_mdiobus_register() and then check if it's a fixed-link to 
return simple mdiobus_register(). I will address this in v3...

Thanks and best regards,
Codrin

> 
> Thank you,
> Claudiu Beznea
> 
>> Changes in v2:
>>   - renamed patch 2/7 from "macb: bindings doc: use an MDIO node as a
>>     container for PHY nodes" to "dt-bindings: net: macb: use an MDIO
>>     node as a container for PHY nodes"
>>   - added back a newline removed by mistake in patch 3/7
>>
>> Codrin Ciubotariu (7):
>>    net: macb: use device-managed devm_mdiobus_alloc()
>>    dt-bindings: net: macb: use an MDIO node as a container for PHY nodes
>>    net: macb: parse PHY nodes found under an MDIO node
>>    ARM: dts: at91: sama5d2: add an mdio sub-node to macb
>>    ARM: dts: at91: sama5d3: add an mdio sub-node to macb
>>    ARM: dts: at91: sama5d4: add an mdio sub-node to macb
>>    ARM: dts: at91: sam9x60: add an mdio sub-node to macb
>>
>>   Documentation/devicetree/bindings/net/macb.txt | 15 ++++++++++++---
>>   arch/arm/boot/dts/at91-sam9x60ek.dts           |  8 ++++++--
>>   arch/arm/boot/dts/at91-sama5d27_som1.dtsi      | 16 ++++++++++------
>>   arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi    | 17 ++++++++++-------
>>   arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts      | 13 ++++++++-----
>>   arch/arm/boot/dts/at91-sama5d2_xplained.dts    | 12 ++++++++----
>>   arch/arm/boot/dts/at91-sama5d3_xplained.dts    | 16 ++++++++++++----
>>   arch/arm/boot/dts/at91-sama5d4_xplained.dts    | 12 ++++++++----
>>   drivers/net/ethernet/cadence/macb_main.c       | 18 ++++++++++++------
>>   9 files changed, 86 insertions(+), 41 deletions(-)
Claudiu Beznea July 23, 2020, 7:51 a.m. UTC | #3
On 22.07.2020 14:38, Codrin Ciubotariu - M19940 wrote:
> On 22.07.2020 13:32, Claudiu Beznea - M18063 wrote:
>>
>>
>> On 21.07.2020 20:13, Codrin Ciubotariu wrote:
>>> Adding the PHY nodes directly under the Ethernet node became deprecated,
>>> so the aim of this patch series is to make MACB use an MDIO node as
>>> container for MDIO devices.
>>> This patch series starts with a small patch to use the device-managed
>>> devm_mdiobus_alloc(). In the next two patches we update the bindings and
>>> adapt macb driver to parse the device-tree PHY nodes from under an MDIO
>>> node. The last patches add the MDIO node in the device-trees of sama5d2,
>>> sama5d3, samad4 and sam9x60 boards.
>>>
>>
>> Tested this series on sama5d2_xplained in the following scenarios:
>>
>> 1/ PHY bindings from patch 4/7:
>> mdio {
>> 	#address-cells = <1>;
>> 	#size-cells = <0>;
>> 	ethernet-phy@1 {
>> 		reg = <0x1>;
>> 		interrupt-parent = <&pioA>;
>> 		interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
>> };
>>
>> 2/ PHY bindings before this series:
>> ethernet-phy@1 {
>> 	reg = <0x1>;
>> 	interrupt-parent = <&pioA>;
>> 	interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
>> };
>>
>> 3/ No PHY bindings at all.
>>
>> All 3 cases went OK.
>>
>> You can add:
>> Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com>
>> Acked-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> 
> Thank you very much Claudiu!
> There is still one more case in my mind. macb could be a fixed-link with 
> an MDIO DSA switch. While the macb would have a fixed connection with a 
> port from the DSA switch, the switch could be configured using macb's 
> MDIO. The dt would be something like:
> 
> macb {
> 	fixed-link {
> 		...
> 	};
> 	mdio {
> 		switch@0 {
> 			...
> 		};
> 	};
> };

Do you have a setup for testing this? At the moment I don't know a
configuration like this that macb is working with.

> 
> To support this, in patch 3/7 I should first check for the mdio node to 
> return of_mdiobus_register() and then check if it's a fixed-link to 
> return simple mdiobus_register(). I will address this in v3...> 
> Thanks and best regards,
> Codrin
> 
>>
>> Thank you,
>> Claudiu Beznea
>>
>>> Changes in v2:
>>>   - renamed patch 2/7 from "macb: bindings doc: use an MDIO node as a
>>>     container for PHY nodes" to "dt-bindings: net: macb: use an MDIO
>>>     node as a container for PHY nodes"
>>>   - added back a newline removed by mistake in patch 3/7
>>>
>>> Codrin Ciubotariu (7):
>>>    net: macb: use device-managed devm_mdiobus_alloc()
>>>    dt-bindings: net: macb: use an MDIO node as a container for PHY nodes
>>>    net: macb: parse PHY nodes found under an MDIO node
>>>    ARM: dts: at91: sama5d2: add an mdio sub-node to macb
>>>    ARM: dts: at91: sama5d3: add an mdio sub-node to macb
>>>    ARM: dts: at91: sama5d4: add an mdio sub-node to macb
>>>    ARM: dts: at91: sam9x60: add an mdio sub-node to macb
>>>
>>>   Documentation/devicetree/bindings/net/macb.txt | 15 ++++++++++++---
>>>   arch/arm/boot/dts/at91-sam9x60ek.dts           |  8 ++++++--
>>>   arch/arm/boot/dts/at91-sama5d27_som1.dtsi      | 16 ++++++++++------
>>>   arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi    | 17 ++++++++++-------
>>>   arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts      | 13 ++++++++-----
>>>   arch/arm/boot/dts/at91-sama5d2_xplained.dts    | 12 ++++++++----
>>>   arch/arm/boot/dts/at91-sama5d3_xplained.dts    | 16 ++++++++++++----
>>>   arch/arm/boot/dts/at91-sama5d4_xplained.dts    | 12 ++++++++----
>>>   drivers/net/ethernet/cadence/macb_main.c       | 18 ++++++++++++------
>>>   9 files changed, 86 insertions(+), 41 deletions(-)
>
Codrin Ciubotariu July 23, 2020, 1:18 p.m. UTC | #4
On 23.07.2020 10:51, Claudiu Beznea - M18063 wrote:
> 
> 
> On 22.07.2020 14:38, Codrin Ciubotariu - M19940 wrote:
>> On 22.07.2020 13:32, Claudiu Beznea - M18063 wrote:
>>>
>>>
>>> On 21.07.2020 20:13, Codrin Ciubotariu wrote:
>>>> Adding the PHY nodes directly under the Ethernet node became deprecated,
>>>> so the aim of this patch series is to make MACB use an MDIO node as
>>>> container for MDIO devices.
>>>> This patch series starts with a small patch to use the device-managed
>>>> devm_mdiobus_alloc(). In the next two patches we update the bindings and
>>>> adapt macb driver to parse the device-tree PHY nodes from under an MDIO
>>>> node. The last patches add the MDIO node in the device-trees of sama5d2,
>>>> sama5d3, samad4 and sam9x60 boards.
>>>>
>>>
>>> Tested this series on sama5d2_xplained in the following scenarios:
>>>
>>> 1/ PHY bindings from patch 4/7:
>>> mdio {
>>> 	#address-cells = <1>;
>>> 	#size-cells = <0>;
>>> 	ethernet-phy@1 {
>>> 		reg = <0x1>;
>>> 		interrupt-parent = <&pioA>;
>>> 		interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
>>> };
>>>
>>> 2/ PHY bindings before this series:
>>> ethernet-phy@1 {
>>> 	reg = <0x1>;
>>> 	interrupt-parent = <&pioA>;
>>> 	interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>;
>>> };
>>>
>>> 3/ No PHY bindings at all.
>>>
>>> All 3 cases went OK.
>>>
>>> You can add:
>>> Tested-by: Claudiu Beznea <claudiu.beznea@microchip.com>
>>> Acked-by: Claudiu Beznea <claudiu.beznea@microchip.com>
>>
>> Thank you very much Claudiu!
>> There is still one more case in my mind. macb could be a fixed-link with
>> an MDIO DSA switch. While the macb would have a fixed connection with a
>> port from the DSA switch, the switch could be configured using macb's
>> MDIO. The dt would be something like:
>>
>> macb {
>> 	fixed-link {
>> 		...
>> 	};
>> 	mdio {
>> 		switch@0 {
>> 			...
>> 		};
>> 	};
>> };
> 
> Do you have a setup for testing this? At the moment I don't know a
> configuration like this that macb is working with.

There isn't one that I am aware of, but we should address it.

> 
>>
>> To support this, in patch 3/7 I should first check for the mdio node to
>> return of_mdiobus_register() and then check if it's a fixed-link to
>> return simple mdiobus_register(). I will address this in v3...>
>> Thanks and best regards,
>> Codrin
>>
>>>
>>> Thank you,
>>> Claudiu Beznea
>>>
>>>> Changes in v2:
>>>>    - renamed patch 2/7 from "macb: bindings doc: use an MDIO node as a
>>>>      container for PHY nodes" to "dt-bindings: net: macb: use an MDIO
>>>>      node as a container for PHY nodes"
>>>>    - added back a newline removed by mistake in patch 3/7
>>>>
>>>> Codrin Ciubotariu (7):
>>>>     net: macb: use device-managed devm_mdiobus_alloc()
>>>>     dt-bindings: net: macb: use an MDIO node as a container for PHY nodes
>>>>     net: macb: parse PHY nodes found under an MDIO node
>>>>     ARM: dts: at91: sama5d2: add an mdio sub-node to macb
>>>>     ARM: dts: at91: sama5d3: add an mdio sub-node to macb
>>>>     ARM: dts: at91: sama5d4: add an mdio sub-node to macb
>>>>     ARM: dts: at91: sam9x60: add an mdio sub-node to macb
>>>>
>>>>    Documentation/devicetree/bindings/net/macb.txt | 15 ++++++++++++---
>>>>    arch/arm/boot/dts/at91-sam9x60ek.dts           |  8 ++++++--
>>>>    arch/arm/boot/dts/at91-sama5d27_som1.dtsi      | 16 ++++++++++------
>>>>    arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi    | 17 ++++++++++-------
>>>>    arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts      | 13 ++++++++-----
>>>>    arch/arm/boot/dts/at91-sama5d2_xplained.dts    | 12 ++++++++----
>>>>    arch/arm/boot/dts/at91-sama5d3_xplained.dts    | 16 ++++++++++++----
>>>>    arch/arm/boot/dts/at91-sama5d4_xplained.dts    | 12 ++++++++----
>>>>    drivers/net/ethernet/cadence/macb_main.c       | 18 ++++++++++++------
>>>>    9 files changed, 86 insertions(+), 41 deletions(-)