Hello Qiang Zhao,

Am 09.04.2020 um 10:00 schrieb Qiang Zhao:
On 2020/4/9 13:20, Heiko Schocher <h...@denx.de> wrote:


-----Original Message-----
From: Heiko Schocher <h...@denx.de>
Sent: 2020年4月9日 13:19
To: Priyanka Jain <priyanka.j...@nxp.com>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Holger Brunck
<holger.bru...@ch.abb.com>; Joe Hershberger <joe.hershber...@ni.com>;
Mario Six <mario....@gdsys.cc>; Qiang Zhao <qiang.z...@nxp.com>
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 <h...@denx.de>
---
Travis build:

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

is-ci.org%2Fhsdenx%2Fu-boot-test%2Fbuilds%2F651400509&amp;data=02%7C
01
%7Cqiang.zhao%40nxp.com%7C51477945d03e4b72383708d7dc458e7e%7C
686ea1d3b

c2b4c6fa92cd99c5c301635%7C0%7C0%7C637220063612830833&amp;sdata
=MALxWjN
kO0lgq1b0gmk646eEI8HWZUXRqTHt6zaOQPk%3D&amp;reserved=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 = <&qeic>;
                                local-mac-address = [ 00 00 00 00 00 00 ];
                                rx-clock-name = "none";
                                tx-clock-name = "clk16";
                                phy-handle = <&phy_eth3>;
                                phy-connection-type = "rmii";
                                pio-handle = <&pio_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
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: h...@denx.de

Reply via email to