RE: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

2020-04-15 Thread Qiang Zhao
Am 15.04.2020 um 06:57 schrieb Heiko Schocher:

> -Original Message-
> From: Heiko Schocher 
> Sent: 2020年4月15日 14:25
> To: Qiang Zhao 
> Cc: Priyanka Jain ; U-Boot Mailing List
> ; Holger Brunck ; Joe
> Hershberger ; Mario Six 
> Subject: Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet
> 
> Hello Qiang Zhao,
> 
> Am 15.04.2020 um 06:57 schrieb Heiko Schocher:
> > Hello Qiang Zhao,
> >
> > Am 09.04.2020 um 10:00 schrieb Qiang Zhao:
> >> On 2020/4/9 13:20, Heiko Schocher  wrote:
> >>
> >>
> >>> -Original Message-
> >>> From: Heiko Schocher 
> >>> Sent: 2020年4月9日 13:19
> >>> To: Priyanka Jain 
> >>> Cc: U-Boot Mailing List ; Holger Brunck
> >>> ; Joe Hershberger
> >>> ; Mario Six ; Qiang Zhao
> >>> 
> >>> Subject: Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet
> >>>
> >>> Hello Priyanka,
> >>>
> >>> Am 18.02.2020 um 10:05 schrieb Heiko Schocher:
> >>>> add DM/DTS suppor for the UEC ethernet on QUICC Engine Block.
> >>>>
> >>>> Signed-off-by: Heiko Schocher 
> >>>> ---
> >>>> Travis build:
> >>>>
> >>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ft
> >>>> rav
> >>>>
> >>>
> is-ci.org%2Fhsdenx%2Fu-boot-test%2Fbuilds%2F651400509data=02%7C
> >>> 01
> >>>> %7Cqiang.zhao%40nxp.com%7C51477945d03e4b72383708d7dc458e7e
> %7C
> >>> 686ea1d3b
> >>>>
> >>>
> c2b4c6fa92cd99c5c301635%7C0%7C0%7C637220063612830833sdata
> >>> =MALxWjN
> >>>> kO0lgq1b0gmk646eEI8HWZUXRqTHt6zaOQPk%3Dreserved=0
> >>>>
> >>>> - I let the old none DM based implementation in code
> >>>>     so boards should work with old implementation.
> >>>>     This Code should be removed if all boards are converted
> >>>>     to DM/DTS.
> >>>>
> >>>> - add the DM based qe uec driver under drivers/net/qe
> >>>>
> >>>> - Therefore copied the files uccf.c uccf.h uec.h from
> >>>>     drivers/qe. So there are a lot of Codingstyle problems
> >>>>     currently. I fix them in next version if this RFC
> >>>>     patch is OK or it needs some changes.
> >>>>
> >>>> - The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
> >>>>     Used a lot of functions from drivers/qe/uec.c
 
We need to make sure the old qe uec driver and new dm driver could not be 
enabled at the same time.

> >>>>
> >>>> - seperated the PHY specific code into seperate file
> >>>>     drivers/net/qe/dm_qe_uec_phy.c
> >>
> 
> --
> DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de

Best Regards
Qiang Zhao


Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

2020-04-15 Thread Heiko Schocher

Hello Qiang Zhao,

Am 15.04.2020 um 06:57 schrieb Heiko Schocher:

Hello Qiang Zhao,

Am 09.04.2020 um 10:00 schrieb Qiang Zhao:

On 2020/4/9 13:20, Heiko Schocher  wrote:



-Original Message-
From: Heiko Schocher 
Sent: 2020年4月9日 13:19
To: Priyanka Jain 
Cc: U-Boot Mailing List ; Holger Brunck
; Joe Hershberger ;
Mario Six ; Qiang Zhao 
Subject: Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

Hello Priyanka,

Am 18.02.2020 um 10:05 schrieb Heiko Schocher:

add DM/DTS suppor for the UEC ethernet on QUICC Engine Block.

Signed-off-by: Heiko Schocher 
---
Travis build:

https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftrav


is-ci.org%2Fhsdenx%2Fu-boot-test%2Fbuilds%2F651400509data=02%7C
01

%7Cqiang.zhao%40nxp.com%7C51477945d03e4b72383708d7dc458e7e%7C

686ea1d3b



c2b4c6fa92cd99c5c301635%7C0%7C0%7C637220063612830833sdata
=MALxWjN

kO0lgq1b0gmk646eEI8HWZUXRqTHt6zaOQPk%3Dreserved=0

- I let the old none DM based implementation in code
    so boards should work with old implementation.
    This Code should be removed if all boards are converted
    to DM/DTS.

- add the DM based qe uec driver under drivers/net/qe

- Therefore copied the files uccf.c uccf.h uec.h from
    drivers/qe. So there are a lot of Codingstyle problems
    currently. I fix them in next version if this RFC
    patch is OK or it needs some changes.

- The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
    Used a lot of functions from drivers/qe/uec.c

- seperated the PHY specific code into seperate file
    drivers/net/qe/dm_qe_uec_phy.c


There are so much duplicated codes.


Yes, as I do not want to break other boards, as I said in comment.

If all boards are moved to this new driver, we can remove the old code.


And what the dts node looks like?
Could you please give an example?


Uh, indeed, I did not add an entry in "doc/device-tree-bindings/"

I add this in next version.

Same as in linux:

MDIO:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/boot/dts/kmeter1.dts#n426 




     mdio@3320 {
     #address-cells = <1>;
     #size-cells = <0>;
     reg = <0x3320 0x18>;
     compatible = "fsl,ucc-mdio";

     /* Piggy2 (UCC4, MDIO 0x00, RMII) */
     phy_piggy2: ethernet-phy@0 {
     reg = <0x0>;
     };
     [...]


Thanks for this question!

There is already a phy driver drivers/net/fsl_mdio.c which I can use
also for UEC. I reworked this patch and dropped
./drivers/net/qe/dm_qe_uec_phy.c

Just have to test it, when I get access to the hardware.

bye,
Heiko


Ethernet:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/boot/dts/kmeter1.dts#n395 



     /* Eth-3 (UCC7, MDIO 0x0a, RMII) */
     enet_eth3: ucc@2600 {
     device_type = "network";
     compatible = "ucc_geth";
     cell-index = <7>;
     reg = <0x2600 0x200>;
     interrupts = <42>;
     interrupt-parent = <>;
     local-mac-address = [ 00 00 00 00 00 00 ];
     rx-clock-name = "none";
     tx-clock-name = "clk16";
     phy-handle = <_eth3>;
     phy-connection-type = "rmii";
     pio-handle = <_ucc7>;
     };

(And yes, compatible entry is ancient...)





   drivers/net/Kconfig    |    2 +
   drivers/net/Makefile   |    1 +
   drivers/net/qe/Kconfig |    9 +
   drivers/net/qe/Makefile    |    5 +
   drivers/net/qe/dm_qe_uec.c | 1161



   drivers/net/qe/dm_qe_uec.h |   22 +
   drivers/net/qe/dm_qe_uec_phy.c |  161 +
   drivers/net/qe/uccf.c  |  388 +++
   drivers/net/qe/uccf.h  |  117 
   drivers/net/qe/uec.h   |  742 
   drivers/qe/uccf.c  |    2 +
   drivers/qe/uec.c   |    2 +
   drivers/qe/uec_phy.c   |    3 +
   13 files changed, 2615 insertions(+)
   create mode 100644 drivers/net/qe/Kconfig
   create mode 100644 drivers/net/qe/Makefile
   create mode 100644 drivers/net/qe/dm_qe_uec.c
   create mode 100644 drivers/net/qe/dm_qe_uec.h
   create mode 100644 drivers/net/qe/dm_qe_uec_phy.c
   create mode 100644 drivers/net/qe/uccf.c
   create mode 100644 drivers/net/qe/uccf.h
   create mode 100644 drivers/net/qe/uec.h


Any comments?

Thanks!

bye,
Heiko
--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de

Best Regards
Qiang Zhao



bye,
Heiko


--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk

Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

2020-04-14 Thread Heiko Schocher

Hello Qiang Zhao,

Am 09.04.2020 um 10:00 schrieb Qiang Zhao:

On 2020/4/9 13:20, Heiko Schocher  wrote:



-Original Message-
From: Heiko Schocher 
Sent: 2020年4月9日 13:19
To: Priyanka Jain 
Cc: U-Boot Mailing List ; Holger Brunck
; Joe Hershberger ;
Mario Six ; Qiang Zhao 
Subject: Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

Hello Priyanka,

Am 18.02.2020 um 10:05 schrieb Heiko Schocher:

add DM/DTS suppor for the UEC ethernet on QUICC Engine Block.

Signed-off-by: Heiko Schocher 
---
Travis build:

https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftrav


is-ci.org%2Fhsdenx%2Fu-boot-test%2Fbuilds%2F651400509data=02%7C
01

%7Cqiang.zhao%40nxp.com%7C51477945d03e4b72383708d7dc458e7e%7C

686ea1d3b



c2b4c6fa92cd99c5c301635%7C0%7C0%7C637220063612830833sdata
=MALxWjN

kO0lgq1b0gmk646eEI8HWZUXRqTHt6zaOQPk%3Dreserved=0

- I let the old none DM based implementation in code
so boards should work with old implementation.
This Code should be removed if all boards are converted
to DM/DTS.

- add the DM based qe uec driver under drivers/net/qe

- Therefore copied the files uccf.c uccf.h uec.h from
drivers/qe. So there are a lot of Codingstyle problems
currently. I fix them in next version if this RFC
patch is OK or it needs some changes.

- The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
Used a lot of functions from drivers/qe/uec.c

- seperated the PHY specific code into seperate file
drivers/net/qe/dm_qe_uec_phy.c


There are so much duplicated codes.


Yes, as I do not want to break other boards, as I said in comment.

If all boards are moved to this new driver, we can remove the old code.


And what the dts node looks like?
Could you please give an example?


Uh, indeed, I did not add an entry in "doc/device-tree-bindings/"

I add this in next version.

Same as in linux:

MDIO:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/boot/dts/kmeter1.dts#n426


mdio@3320 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x3320 0x18>;
compatible = "fsl,ucc-mdio";

/* Piggy2 (UCC4, MDIO 0x00, RMII) */
phy_piggy2: ethernet-phy@0 {
reg = <0x0>;
};
[...]

Ethernet:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/boot/dts/kmeter1.dts#n395

/* Eth-3 (UCC7, MDIO 0x0a, RMII) */
enet_eth3: ucc@2600 {
device_type = "network";
compatible = "ucc_geth";
cell-index = <7>;
reg = <0x2600 0x200>;
interrupts = <42>;
interrupt-parent = <>;
local-mac-address = [ 00 00 00 00 00 00 ];
rx-clock-name = "none";
tx-clock-name = "clk16";
phy-handle = <_eth3>;
phy-connection-type = "rmii";
pio-handle = <_ucc7>;
};

(And yes, compatible entry is ancient...)





   drivers/net/Kconfig|2 +
   drivers/net/Makefile   |1 +
   drivers/net/qe/Kconfig |9 +
   drivers/net/qe/Makefile|5 +
   drivers/net/qe/dm_qe_uec.c | 1161



   drivers/net/qe/dm_qe_uec.h |   22 +
   drivers/net/qe/dm_qe_uec_phy.c |  161 +
   drivers/net/qe/uccf.c  |  388 +++
   drivers/net/qe/uccf.h  |  117 
   drivers/net/qe/uec.h   |  742 
   drivers/qe/uccf.c  |2 +
   drivers/qe/uec.c   |2 +
   drivers/qe/uec_phy.c   |3 +
   13 files changed, 2615 insertions(+)
   create mode 100644 drivers/net/qe/Kconfig
   create mode 100644 drivers/net/qe/Makefile
   create mode 100644 drivers/net/qe/dm_qe_uec.c
   create mode 100644 drivers/net/qe/dm_qe_uec.h
   create mode 100644 drivers/net/qe/dm_qe_uec_phy.c
   create mode 100644 drivers/net/qe/uccf.c
   create mode 100644 drivers/net/qe/uccf.h
   create mode 100644 drivers/net/qe/uec.h


Any comments?

Thanks!

bye,
Heiko
--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de

Best Regards
Qiang Zhao



bye,
Heiko
--
DENX Software Engineering GmbH,   

RE: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

2020-04-14 Thread Priyanka Jain
>-Original Message-
>From: Heiko Schocher 
>Sent: Thursday, April 9, 2020 10:49 AM
>To: Priyanka Jain 
>Cc: U-Boot Mailing List ; Holger Brunck
>; Joe Hershberger ;
>Mario Six ; Qiang Zhao 
>Subject: Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet
>
>Hello Priyanka,
>
>Am 18.02.2020 um 10:05 schrieb Heiko Schocher:
>> add DM/DTS suppor for the UEC ethernet on QUICC Engine Block.
>>
>> Signed-off-by: Heiko Schocher 
>> ---
>> Travis build:
>>
>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftrav
>> is-ci.org%2Fhsdenx%2Fu-boot-
>test%2Fbuilds%2F651400509data=02%7C01
>>
>%7Cpriyanka.jain%40nxp.com%7C51477945d03e4b72383708d7dc458e7e%7C
>686ea1
>>
>d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637220063612750872sdat
>a=oV%2
>> BTyCsoQF17s4aQ1OGEIcMXWjB%2BhpiPunefUNtD6Fs%3Dreserved=0
>>
>> - I let the old none DM based implementation in code
>>so boards should work with old implementation.
>>This Code should be removed if all boards are converted
>>to DM/DTS.
>>
>> - add the DM based qe uec driver under drivers/net/qe
>>
>> - Therefore copied the files uccf.c uccf.h uec.h from
>>drivers/qe. So there are a lot of Codingstyle problems
>>currently. I fix them in next version if this RFC
>>patch is OK or it needs some changes.
>>
>> - The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
>>Used a lot of functions from drivers/qe/uec.c
>>
>> - seperated the PHY specific code into seperate file
>>drivers/net/qe/dm_qe_uec_phy.c
>>
>>
>>   drivers/net/Kconfig|2 +
>>   drivers/net/Makefile   |1 +
>>   drivers/net/qe/Kconfig |9 +
>>   drivers/net/qe/Makefile|5 +
>>   drivers/net/qe/dm_qe_uec.c | 1161
>
>>   drivers/net/qe/dm_qe_uec.h |   22 +
>>   drivers/net/qe/dm_qe_uec_phy.c |  161 +
>>   drivers/net/qe/uccf.c  |  388 +++
>>   drivers/net/qe/uccf.h  |  117 
>>   drivers/net/qe/uec.h   |  742 
>>   drivers/qe/uccf.c  |2 +
>>   drivers/qe/uec.c   |2 +
>>   drivers/qe/uec_phy.c   |3 +
>>   13 files changed, 2615 insertions(+)
>>   create mode 100644 drivers/net/qe/Kconfig
>>   create mode 100644 drivers/net/qe/Makefile
>>   create mode 100644 drivers/net/qe/dm_qe_uec.c
>>   create mode 100644 drivers/net/qe/dm_qe_uec.h
>>   create mode 100644 drivers/net/qe/dm_qe_uec_phy.c
>>   create mode 100644 drivers/net/qe/uccf.c
>>   create mode 100644 drivers/net/qe/uccf.h
>>   create mode 100644 drivers/net/qe/uec.h
>
>Any comments?
>
>Thanks!
>
>bye,
>Heiko
Qiang Zhao is NXP Software IP expert for QE.  I am taking his help in review.

Thanks
Priyanka
>--
>DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
>HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de


RE: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

2020-04-09 Thread Qiang Zhao
On 2020/4/9 13:20, Heiko Schocher  wrote:


> -Original Message-
> From: Heiko Schocher 
> Sent: 2020年4月9日 13:19
> To: Priyanka Jain 
> Cc: U-Boot Mailing List ; Holger Brunck
> ; Joe Hershberger ;
> Mario Six ; Qiang Zhao 
> Subject: Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet
> 
> Hello Priyanka,
> 
> Am 18.02.2020 um 10:05 schrieb Heiko Schocher:
> > add DM/DTS suppor for the UEC ethernet on QUICC Engine Block.
> >
> > Signed-off-by: Heiko Schocher 
> > ---
> > Travis build:
> >
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftrav
> >
> is-ci.org%2Fhsdenx%2Fu-boot-test%2Fbuilds%2F651400509data=02%7C
> 01
> > %7Cqiang.zhao%40nxp.com%7C51477945d03e4b72383708d7dc458e7e%7C
> 686ea1d3b
> >
> c2b4c6fa92cd99c5c301635%7C0%7C0%7C637220063612830833sdata
> =MALxWjN
> > kO0lgq1b0gmk646eEI8HWZUXRqTHt6zaOQPk%3Dreserved=0
> >
> > - I let the old none DM based implementation in code
> >so boards should work with old implementation.
> >This Code should be removed if all boards are converted
> >to DM/DTS.
> >
> > - add the DM based qe uec driver under drivers/net/qe
> >
> > - Therefore copied the files uccf.c uccf.h uec.h from
> >drivers/qe. So there are a lot of Codingstyle problems
> >currently. I fix them in next version if this RFC
> >patch is OK or it needs some changes.
> >
> > - The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
> >Used a lot of functions from drivers/qe/uec.c
> >
> > - seperated the PHY specific code into seperate file
> >drivers/net/qe/dm_qe_uec_phy.c

There are so much duplicated codes.
And what the dts node looks like?
Could you please give an example?

> >
> >
> >   drivers/net/Kconfig|2 +
> >   drivers/net/Makefile   |1 +
> >   drivers/net/qe/Kconfig |9 +
> >   drivers/net/qe/Makefile|5 +
> >   drivers/net/qe/dm_qe_uec.c | 1161
> 
> >   drivers/net/qe/dm_qe_uec.h |   22 +
> >   drivers/net/qe/dm_qe_uec_phy.c |  161 +
> >   drivers/net/qe/uccf.c  |  388 +++
> >   drivers/net/qe/uccf.h  |  117 
> >   drivers/net/qe/uec.h   |  742 
> >   drivers/qe/uccf.c  |2 +
> >   drivers/qe/uec.c   |2 +
> >   drivers/qe/uec_phy.c   |3 +
> >   13 files changed, 2615 insertions(+)
> >   create mode 100644 drivers/net/qe/Kconfig
> >   create mode 100644 drivers/net/qe/Makefile
> >   create mode 100644 drivers/net/qe/dm_qe_uec.c
> >   create mode 100644 drivers/net/qe/dm_qe_uec.h
> >   create mode 100644 drivers/net/qe/dm_qe_uec_phy.c
> >   create mode 100644 drivers/net/qe/uccf.c
> >   create mode 100644 drivers/net/qe/uccf.h
> >   create mode 100644 drivers/net/qe/uec.h
> 
> Any comments?
> 
> Thanks!
> 
> bye,
> Heiko
> --
> DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de
Best Regards
Qiang Zhao


Re: [RFC PATCH] net, qe: add DM support for QE UEC ethernet

2020-04-08 Thread Heiko Schocher

Hello Priyanka,

Am 18.02.2020 um 10:05 schrieb Heiko Schocher:

add DM/DTS suppor for the UEC ethernet on QUICC Engine
Block.

Signed-off-by: Heiko Schocher 
---
Travis build:

https://travis-ci.org/hsdenx/u-boot-test/builds/651400509

- I let the old none DM based implementation in code
   so boards should work with old implementation.
   This Code should be removed if all boards are converted
   to DM/DTS.

- add the DM based qe uec driver under drivers/net/qe

- Therefore copied the files uccf.c uccf.h uec.h from
   drivers/qe. So there are a lot of Codingstyle problems
   currently. I fix them in next version if this RFC
   patch is OK or it needs some changes.

- The dm based driver code is now under drivers/net/qe/dm_qe_uec.c
   Used a lot of functions from drivers/qe/uec.c

- seperated the PHY specific code into seperate file
   drivers/net/qe/dm_qe_uec_phy.c


  drivers/net/Kconfig|2 +
  drivers/net/Makefile   |1 +
  drivers/net/qe/Kconfig |9 +
  drivers/net/qe/Makefile|5 +
  drivers/net/qe/dm_qe_uec.c | 1161 
  drivers/net/qe/dm_qe_uec.h |   22 +
  drivers/net/qe/dm_qe_uec_phy.c |  161 +
  drivers/net/qe/uccf.c  |  388 +++
  drivers/net/qe/uccf.h  |  117 
  drivers/net/qe/uec.h   |  742 
  drivers/qe/uccf.c  |2 +
  drivers/qe/uec.c   |2 +
  drivers/qe/uec_phy.c   |3 +
  13 files changed, 2615 insertions(+)
  create mode 100644 drivers/net/qe/Kconfig
  create mode 100644 drivers/net/qe/Makefile
  create mode 100644 drivers/net/qe/dm_qe_uec.c
  create mode 100644 drivers/net/qe/dm_qe_uec.h
  create mode 100644 drivers/net/qe/dm_qe_uec_phy.c
  create mode 100644 drivers/net/qe/uccf.c
  create mode 100644 drivers/net/qe/uccf.h
  create mode 100644 drivers/net/qe/uec.h


Any comments?

Thanks!

bye,
Heiko
--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de