public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: ulli.kroll@googlemail.com (Hans Ulli Kroll)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
Date: Mon, 13 Feb 2017 10:20:32 +0100 (CET)	[thread overview]
Message-ID: <alpine.LNX.2.00.1702131013210.25980@T420s> (raw)
In-Reply-To: <FC5B4F97116B48439B455474D032A2F1087BAD65@FTCPCS74.faraday.com.tw>

Hi John,

On Mon, 13 Feb 2017, John Feng-Hsin Chiang(???) wrote:

> Hi Hans,
> 
> > HI Linus,
> > 
> > On Sat, 11 Feb 2017, Linus Walleij wrote:
> > 
> > > On Mon, Jan 30, 2017 at 5:35 PM, Hans Ulli Kroll
> > > <ulli.kroll@googlemail.com> wrote:
> > > > On Tue, 24 Jan 2017, Florian Fainelli wrote:
> > > >> On 01/24/2017 12:47 PM, Linus Walleij wrote:
> > >
> > > >> >> This is a dual GMAC !
> > > >> >>
> > > >> >> They are two different base address for each GMAC and one shared
> > > >> >> base address for both of them.
> > > >> >> This is all in one address space which remaps the driver.
> > > >> >>
> > > >> >> And to make it worse two interrupt lines, one of them is also shared.
> > > >> >>
> > > >> >> Any ideas to "convert" this into DT ??
> > > >> >> Because I think it's impossible to split both GMAC interfaces ??
> > > >> >
> > > >> > Sounds odd.  Yeah hardware.h lists this:
> > > >> >
> > > >> > #define GEMINI_TOE_BASE         0x60000000
> > > >> > #define GEMINI_GMAC0_BASE       0x6000A000
> > > >> > #define GEMINI_GMAC1_BASE       0x6000E000
> > > >> >
> > > >> > I guess one approach is to make a driver handling all of it in
> > > >> > one, let it ioremap all regions and support one or two GMACs on
> > > >> > the same TOE. More complex solutions is to share the TOE using
> > > >> > syscons regmap mechanism but it looks cumbersome.
> > > >> >
> > > >> > {
> > > >> >    compatible = "cortina,genesis-gmac-ethernet";
> > > >> >    reg = <0x60000000 0xa000>, <0x6000a000 0x4000>,> <0x6000e000 0x4000>;
> > > >> >    interrupts = <1 IRQ_TYPE_LEVEL_HIGH>, <2> IRQ_TYPE_LEVEL_HIGH>;
> > > >> > }
> > > >> >
> > > >> > Or something like that?
> > > >
> > > > For addresses, base is here, for both interfaces
> > > > #define GEMINI_TOE_BASE                 0x60000000
> > > > and now for each interface, offset to the above code is from the
> > > > headerfile of the openwrt driver.
> > > > #define TOE_GMAC_DMA_BASE(x)            (0x8000 + 0x4000 * (x))
> > > > #define TOE_GMAC_BASE(x)                (0xA000 + 0x4000 * (x))
> > > >
> > > > maybe some other registers to
> > > > #define TOE_NONTOE_QUE_HDR_BASE         0x2000
> > > > #define TOE_TOE_QUE_HDR_BASE            0x3000
> > > > #define TOE_V_BIT_BASE                  0x4000
> > > > #define TOE_A_BIT_BASE                  0x6000
> > > >
> > > > AFAICR
> > > > The TOE part was "invented" for the gigabit interface.
> > > > They need to speed up the NIC because without TCP offloading you
> > > > will get only fast ethernet speed on a gigabit NIC.
> > >
> > > I was suspecting that this ethernet is related to the Faraday ethernet
> > > driver that was merged in drivers/net/ethernet/faraday since so many
> > > other Gemini parts seems to be coming essentially directly from Faraday.
> 
> 1. Faraday have no TOE design in GMAC, and the GMAC in Gemini is very old one (licensed to Storlink about 13 years ago)
> 2. Storlink may modify the GMC design and add TOE function in it to fit their SoC.
> 

Yeah, this was also my idea.
Storlink need to speed up their GMAC NIC, so they do some tricks here.

> > >
> > > I looked through the header files etc there but the registers seem
> > > quite different ... :/
> > >
> > > Still it is using the same "GMAC" naming and I strongly suspect this
> > > is an older Faraday IP that should go into the same driver folder.
> 
> Yes, This is not the same one as Faraday's.
> 
> > >
> > > Cc:ing some Faraday and Andestech emails to see if we can get some
> > > clarity in this. It would be nice if someone could atleast say "oh
> > > it's this IP FTxxx from Faraday" so we know what to name it.
> > >
> 
> You should think this IP is from Storlink
> 

I'll do. Thanks for the hint here, John.

Greetings
Hans Ulli Kroll

  reply	other threads:[~2017-02-13  9:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-22 12:15 [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform Linus Walleij
2017-01-22 18:42 ` Florian Fainelli
2017-01-22 22:44   ` Linus Walleij
2017-01-24 17:24     ` Hans Ulli Kroll
2017-01-24 20:47       ` Linus Walleij
2017-01-24 20:49         ` Florian Fainelli
2017-01-30 16:35           ` Hans Ulli Kroll
2017-02-11 13:20             ` Linus Walleij
2017-02-11 17:57               ` Hans Ulli Kroll
2017-02-13  3:22                 ` John Feng-Hsin Chiang(江峰興)
2017-02-13  9:20                   ` Hans Ulli Kroll [this message]
2017-02-08 13:13 ` Hans Ulli Kroll
2017-02-10 12:26   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LNX.2.00.1702131013210.25980@T420s \
    --to=ulli.kroll@googlemail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox