lkml.org 
[lkml]   [2013]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 04/10] net: stmmac: sunxi platfrom extensions for GMAC in Allwinner A20 SoC's
    Chen-Yu, Mike,

    On Sat, Dec 07, 2013 at 01:29:37AM +0800, Chen-Yu Tsai wrote:
    > The Allwinner A20 has an ethernet controller that seems to be
    > an early version of Synopsys DesignWare MAC 10/100/1000 Universal,
    > which is supported by the stmmac driver.
    >
    > Allwinner's GMAC requires setting additional registers in the SoC's
    > clock control unit.
    >
    > The exact version of the DWMAC IP that Allwinner uses is unknown,
    > thus the exact feature set is unknown.
    >
    > Signed-off-by: Chen-Yu Tsai <wens@csie.org>
    > ---
    > .../bindings/net/allwinner,sun7i-gmac.txt | 22 +++++++
    > drivers/net/ethernet/stmicro/stmmac/Kconfig | 12 ++++
    > drivers/net/ethernet/stmicro/stmmac/Makefile | 1 +
    > drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 76 ++++++++++++++++++++++
    > drivers/net/ethernet/stmicro/stmmac/stmmac.h | 3 +
    > .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 3 +
    > 6 files changed, 117 insertions(+)
    >
    > diff --git a/Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt b/Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt
    > new file mode 100644
    > index 0000000..271554a
    > --- /dev/null
    > +++ b/Documentation/devicetree/bindings/net/allwinner,sun7i-gmac.txt
    > @@ -0,0 +1,22 @@
    > +* Allwinner GMAC ethernet controller
    > +
    > +This device is a platform glue layer for stmmac.
    > +Please see stmmac.txt for the other unchanged properties.
    > +
    > +Required properties:
    > + - compatible: Should be "allwinner,sun7i-gmac"

    Please use sun7i-a20-gmac here.

    > + - reg: Address and length of register set for the device and corresponding
    > + clock control
    >
    > +Examples:
    > +
    > + gmac: ethernet@01c50000 {
    > + compatible = "allwinner,sun7i-gmac";
    > + reg = <0x01c50000 0x10000>,
    > + <0x01c20164 0x4>;

    This is actually a clock, and should probably be registered in the
    common clock framework.

    Mike: This small register actually is a regular muxer/divider, except
    that it has some bits that are of interest to the ethernet controller
    (for example to set wether it's using GMII or RGMII to communicate
    with the phy), that, as far as I'm aware of, aren't really fitting
    into the CCF.

    Do you have some recommendation on how to proceed?

    Maybe make a thin "real" clock driver in this hardware glue, that
    provides !exported function to set this *GMII thing.

    Maxime

    --
    Maxime Ripard, Free Electrons
    Embedded Linux, Kernel and Android engineering
    http://free-electrons.com
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2013-12-07 12:01    [W:3.041 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site