All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
@ 2017-01-22 12:15 Linus Walleij
  2017-01-22 18:42 ` Florian Fainelli
  2017-02-08 13:13 ` Hans Ulli Kroll
  0 siblings, 2 replies; 13+ messages in thread
From: Linus Walleij @ 2017-01-22 12:15 UTC (permalink / raw)
  To: linux-arm-kernel

I got a Gemini platform from Florian Fainelli over at OpenWRT
some time back. I finally got around to "future-proofing" the
platform, which was the idea when he paintakingly sent the box
over to me.

This is the result: Gemini is converted to device tree and
multiplatform, all existing drivers are rewritten into their
proper subsystems and the old board-specific and machine-specific
code is deleted.

I would ideally like the irqchip, clocksource, gpio, rtc and MTD
patches (and bindings) to simply be merged into the respective
subsystem and the remaining ARM/ARM SoC patches funnelled to the
ARM SoC tree in a single pull request, lock stock and barrel,
with changes to board files and DTS additions in one go. But I
guess I could also switch the DTS files to a separate branch.

The OpenWRT tree still have a whole bunch of significant out-of
tree drivers:

- Watchdog
- GMAC (ethernet)
- FOT2G USB EHCI host
- PATA
- PCI

But I do not see any big obstacle in porting these over to be
probed from the device tree and upstreamed on top of this patch
series. I might tinker with it if I get time.

The out-of-tree code can be found here:
http://git.openwrt.org/?p=openwrt.git;a=tree;f=target/linux/gemini;h=b74c3d8f0100e2ac8a4d71c4d23c082db2993e63;hb=HEAD

Linus Walleij (22):
  ARM: gemini: convert to MULTI_IRQ_HANDLER
  irqchip: DT bindings for Cortina Gemini irqchip
  irqchip: add a driver for Cortina Gemini
  clocksource: add DT bindings for Cortina Gemini
  clocksource: Add driver for the Cortina Gemini
  gpio: add DT bindings for Cortina Gemini GPIO
  gpio: Add a driver for Cortina Systems Gemini GPIO
  rtc: Add device tree probing to the Gemini driver
  mtd: add DT bindings for the Cortina Systems Gemini Flash
  mtd: physmap_of: add a hook for Gemini flash probing
  ARM: dts: add top-level DT bindings for Cortina Gemini
  ARM: gemini: DT for the Cortina Gemini SoC platforms
  ARM: dts: add device tree for Gemini SoC and SQ201
  ARM: dts: add a devicetree for Raidsonic NAS IB-4220-B
  ARM: dts: add a devicetree for Teltonika RUT1xx
  ARM: dts: add a devicetree for Wiliboard WBD-111
  ARM: dts: add a devicetree for Wiliboard WBD-222
  ARM: gemini: delete all boardfiles
  ARM: gemini: switch to sparse IRQs
  ARM: gemini: select ARM_PATCH_PHYS_VIRT and AUTO_ZRELADDR
  ARM: gemini: convert to ARMv4 multiplatform
  ARM: configs: add a gemini defconfig

 Documentation/devicetree/bindings/arm/gemini.txt   |  58 +++++
 .../bindings/gpio/cortina,gemini-gpio.txt          |  24 ++
 .../cortina,gemini-interrupt-controller.txt        |  22 ++
 .../bindings/mtd/cortina,gemini-flash.txt          |  24 ++
 .../devicetree/bindings/rtc/cortina,gemini.txt     |  14 ++
 .../bindings/timer/cortina,gemini-timer.txt        |  22 ++
 arch/arm/Kconfig                                   |   9 -
 arch/arm/boot/dts/Makefile                         |   6 +
 arch/arm/boot/dts/gemini-nas4220b.dts              |  68 +++++
 arch/arm/boot/dts/gemini-rut1xx.dts                |  63 +++++
 arch/arm/boot/dts/gemini-sq201.dts                 |  94 +++++++
 arch/arm/boot/dts/gemini-wbd111.dts                | 101 ++++++++
 arch/arm/boot/dts/gemini-wbd222.dts                | 101 ++++++++
 arch/arm/boot/dts/gemini.dtsi                      |  96 +++++++
 arch/arm/configs/gemini_defconfig                  |  63 +++++
 arch/arm/mach-gemini/Kconfig                       |  52 +---
 arch/arm/mach-gemini/Makefile                      |  15 +-
 arch/arm/mach-gemini/Makefile.boot                 |   9 -
 arch/arm/mach-gemini/board-dt.c                    |  62 +++++
 arch/arm/mach-gemini/board-nas4220b.c              | 106 --------
 arch/arm/mach-gemini/board-rut1xx.c                |  92 -------
 arch/arm/mach-gemini/board-wbd111.c                | 133 ----------
 arch/arm/mach-gemini/board-wbd222.c                | 133 ----------
 arch/arm/mach-gemini/common.h                      |  33 ---
 arch/arm/mach-gemini/devices.c                     | 118 ---------
 arch/arm/mach-gemini/gpio.c                        | 231 -----------------
 arch/arm/mach-gemini/idle.c                        |  31 ---
 arch/arm/mach-gemini/include/mach/entry-macro.S    |  33 ---
 arch/arm/mach-gemini/include/mach/global_reg.h     | 278 ---------------------
 arch/arm/mach-gemini/include/mach/hardware.h       |  71 ------
 arch/arm/mach-gemini/include/mach/irqs.h           |  53 ----
 arch/arm/mach-gemini/include/mach/uncompress.h     |  42 ----
 arch/arm/mach-gemini/irq.c                         | 105 --------
 arch/arm/mach-gemini/mm.c                          |  82 ------
 arch/arm/mach-gemini/reset.c                       |  25 --
 drivers/clocksource/Kconfig                        |  10 +
 drivers/clocksource/Makefile                       |   1 +
 .../time.c => drivers/clocksource/timer-gemini.c   | 168 ++++++++-----
 drivers/gpio/Kconfig                               |   9 +
 drivers/gpio/Makefile                              |   1 +
 drivers/gpio/gpio-gemini.c                         | 236 +++++++++++++++++
 drivers/irqchip/Makefile                           |   1 +
 drivers/irqchip/irq-gemini.c                       | 190 ++++++++++++++
 drivers/mtd/maps/Kconfig                           |  10 +
 drivers/mtd/maps/Makefile                          |   3 +
 drivers/mtd/maps/physmap_of.c                      |   9 +-
 drivers/mtd/maps/physmap_of_gemini.c               | 120 +++++++++
 drivers/mtd/maps/physmap_of_gemini.h               |  16 ++
 drivers/rtc/rtc-gemini.c                           |   7 +
 49 files changed, 1545 insertions(+), 1705 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/gemini.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/cortina,gemini-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/cortina,gemini-interrupt-controller.txt
 create mode 100644 Documentation/devicetree/bindings/mtd/cortina,gemini-flash.txt
 create mode 100644 Documentation/devicetree/bindings/rtc/cortina,gemini.txt
 create mode 100644 Documentation/devicetree/bindings/timer/cortina,gemini-timer.txt
 create mode 100644 arch/arm/boot/dts/gemini-nas4220b.dts
 create mode 100644 arch/arm/boot/dts/gemini-rut1xx.dts
 create mode 100644 arch/arm/boot/dts/gemini-sq201.dts
 create mode 100644 arch/arm/boot/dts/gemini-wbd111.dts
 create mode 100644 arch/arm/boot/dts/gemini-wbd222.dts
 create mode 100644 arch/arm/boot/dts/gemini.dtsi
 create mode 100644 arch/arm/configs/gemini_defconfig
 delete mode 100644 arch/arm/mach-gemini/Makefile.boot
 create mode 100644 arch/arm/mach-gemini/board-dt.c
 delete mode 100644 arch/arm/mach-gemini/board-nas4220b.c
 delete mode 100644 arch/arm/mach-gemini/board-rut1xx.c
 delete mode 100644 arch/arm/mach-gemini/board-wbd111.c
 delete mode 100644 arch/arm/mach-gemini/board-wbd222.c
 delete mode 100644 arch/arm/mach-gemini/common.h
 delete mode 100644 arch/arm/mach-gemini/devices.c
 delete mode 100644 arch/arm/mach-gemini/gpio.c
 delete mode 100644 arch/arm/mach-gemini/idle.c
 delete mode 100644 arch/arm/mach-gemini/include/mach/entry-macro.S
 delete mode 100644 arch/arm/mach-gemini/include/mach/global_reg.h
 delete mode 100644 arch/arm/mach-gemini/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-gemini/include/mach/irqs.h
 delete mode 100644 arch/arm/mach-gemini/include/mach/uncompress.h
 delete mode 100644 arch/arm/mach-gemini/irq.c
 delete mode 100644 arch/arm/mach-gemini/mm.c
 delete mode 100644 arch/arm/mach-gemini/reset.c
 rename arch/arm/mach-gemini/time.c => drivers/clocksource/timer-gemini.c (55%)
 create mode 100644 drivers/gpio/gpio-gemini.c
 create mode 100644 drivers/irqchip/irq-gemini.c
 create mode 100644 drivers/mtd/maps/physmap_of_gemini.c
 create mode 100644 drivers/mtd/maps/physmap_of_gemini.h

-- 
2.9.3

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  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-02-08 13:13 ` Hans Ulli Kroll
  1 sibling, 1 reply; 13+ messages in thread
From: Florian Fainelli @ 2017-01-22 18:42 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/22/2017 04:15 AM, Linus Walleij wrote:
> I got a Gemini platform from Florian Fainelli over at OpenWRT
> some time back. I finally got around to "future-proofing" the
> platform, which was the idea when he paintakingly sent the box
> over to me.

I would have happily tested that series ;) thanks a lot for making it
happen!

> 
> This is the result: Gemini is converted to device tree and
> multiplatform, all existing drivers are rewritten into their
> proper subsystems and the old board-specific and machine-specific
> code is deleted.
> 
> I would ideally like the irqchip, clocksource, gpio, rtc and MTD
> patches (and bindings) to simply be merged into the respective
> subsystem and the remaining ARM/ARM SoC patches funnelled to the
> ARM SoC tree in a single pull request, lock stock and barrel,
> with changes to board files and DTS additions in one go. But I
> guess I could also switch the DTS files to a separate branch.
> 
> The OpenWRT tree still have a whole bunch of significant out-of
> tree drivers:
> 
> - Watchdog
> - GMAC (ethernet)

Been wondering about the GMAC driver a little bit, and it does not
appear to be neither a Synopsys/Designware core (although not 100%
sure), nor the ftgmac100 either.

This submission does appear to be in a good shape:
https://lwn.net/Articles/437889/

> - FOT2G USB EHCI host
> - PATA
> - PCI
> 
> But I do not see any big obstacle in porting these over to be
> probed from the device tree and upstreamed on top of this patch
> series. I might tinker with it if I get time.
> 
> The out-of-tree code can be found here:
> http://git.openwrt.org/?p=openwrt.git;a=tree;f=target/linux/gemini;h=b74c3d8f0100e2ac8a4d71c4d23c082db2993e63;hb=HEAD
> 
> Linus Walleij (22):
>   ARM: gemini: convert to MULTI_IRQ_HANDLER
>   irqchip: DT bindings for Cortina Gemini irqchip
>   irqchip: add a driver for Cortina Gemini
>   clocksource: add DT bindings for Cortina Gemini
>   clocksource: Add driver for the Cortina Gemini
>   gpio: add DT bindings for Cortina Gemini GPIO
>   gpio: Add a driver for Cortina Systems Gemini GPIO
>   rtc: Add device tree probing to the Gemini driver
>   mtd: add DT bindings for the Cortina Systems Gemini Flash
>   mtd: physmap_of: add a hook for Gemini flash probing
>   ARM: dts: add top-level DT bindings for Cortina Gemini
>   ARM: gemini: DT for the Cortina Gemini SoC platforms
>   ARM: dts: add device tree for Gemini SoC and SQ201
>   ARM: dts: add a devicetree for Raidsonic NAS IB-4220-B
>   ARM: dts: add a devicetree for Teltonika RUT1xx
>   ARM: dts: add a devicetree for Wiliboard WBD-111
>   ARM: dts: add a devicetree for Wiliboard WBD-222
>   ARM: gemini: delete all boardfiles
>   ARM: gemini: switch to sparse IRQs
>   ARM: gemini: select ARM_PATCH_PHYS_VIRT and AUTO_ZRELADDR
>   ARM: gemini: convert to ARMv4 multiplatform
>   ARM: configs: add a gemini defconfig
> 
>  Documentation/devicetree/bindings/arm/gemini.txt   |  58 +++++
>  .../bindings/gpio/cortina,gemini-gpio.txt          |  24 ++
>  .../cortina,gemini-interrupt-controller.txt        |  22 ++
>  .../bindings/mtd/cortina,gemini-flash.txt          |  24 ++
>  .../devicetree/bindings/rtc/cortina,gemini.txt     |  14 ++
>  .../bindings/timer/cortina,gemini-timer.txt        |  22 ++
>  arch/arm/Kconfig                                   |   9 -
>  arch/arm/boot/dts/Makefile                         |   6 +
>  arch/arm/boot/dts/gemini-nas4220b.dts              |  68 +++++
>  arch/arm/boot/dts/gemini-rut1xx.dts                |  63 +++++
>  arch/arm/boot/dts/gemini-sq201.dts                 |  94 +++++++
>  arch/arm/boot/dts/gemini-wbd111.dts                | 101 ++++++++
>  arch/arm/boot/dts/gemini-wbd222.dts                | 101 ++++++++
>  arch/arm/boot/dts/gemini.dtsi                      |  96 +++++++
>  arch/arm/configs/gemini_defconfig                  |  63 +++++
>  arch/arm/mach-gemini/Kconfig                       |  52 +---
>  arch/arm/mach-gemini/Makefile                      |  15 +-
>  arch/arm/mach-gemini/Makefile.boot                 |   9 -
>  arch/arm/mach-gemini/board-dt.c                    |  62 +++++
>  arch/arm/mach-gemini/board-nas4220b.c              | 106 --------
>  arch/arm/mach-gemini/board-rut1xx.c                |  92 -------
>  arch/arm/mach-gemini/board-wbd111.c                | 133 ----------
>  arch/arm/mach-gemini/board-wbd222.c                | 133 ----------
>  arch/arm/mach-gemini/common.h                      |  33 ---
>  arch/arm/mach-gemini/devices.c                     | 118 ---------
>  arch/arm/mach-gemini/gpio.c                        | 231 -----------------
>  arch/arm/mach-gemini/idle.c                        |  31 ---
>  arch/arm/mach-gemini/include/mach/entry-macro.S    |  33 ---
>  arch/arm/mach-gemini/include/mach/global_reg.h     | 278 ---------------------
>  arch/arm/mach-gemini/include/mach/hardware.h       |  71 ------
>  arch/arm/mach-gemini/include/mach/irqs.h           |  53 ----
>  arch/arm/mach-gemini/include/mach/uncompress.h     |  42 ----
>  arch/arm/mach-gemini/irq.c                         | 105 --------
>  arch/arm/mach-gemini/mm.c                          |  82 ------
>  arch/arm/mach-gemini/reset.c                       |  25 --
>  drivers/clocksource/Kconfig                        |  10 +
>  drivers/clocksource/Makefile                       |   1 +
>  .../time.c => drivers/clocksource/timer-gemini.c   | 168 ++++++++-----
>  drivers/gpio/Kconfig                               |   9 +
>  drivers/gpio/Makefile                              |   1 +
>  drivers/gpio/gpio-gemini.c                         | 236 +++++++++++++++++
>  drivers/irqchip/Makefile                           |   1 +
>  drivers/irqchip/irq-gemini.c                       | 190 ++++++++++++++
>  drivers/mtd/maps/Kconfig                           |  10 +
>  drivers/mtd/maps/Makefile                          |   3 +
>  drivers/mtd/maps/physmap_of.c                      |   9 +-
>  drivers/mtd/maps/physmap_of_gemini.c               | 120 +++++++++
>  drivers/mtd/maps/physmap_of_gemini.h               |  16 ++
>  drivers/rtc/rtc-gemini.c                           |   7 +
>  49 files changed, 1545 insertions(+), 1705 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/gemini.txt
>  create mode 100644 Documentation/devicetree/bindings/gpio/cortina,gemini-gpio.txt
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/cortina,gemini-interrupt-controller.txt
>  create mode 100644 Documentation/devicetree/bindings/mtd/cortina,gemini-flash.txt
>  create mode 100644 Documentation/devicetree/bindings/rtc/cortina,gemini.txt
>  create mode 100644 Documentation/devicetree/bindings/timer/cortina,gemini-timer.txt
>  create mode 100644 arch/arm/boot/dts/gemini-nas4220b.dts
>  create mode 100644 arch/arm/boot/dts/gemini-rut1xx.dts
>  create mode 100644 arch/arm/boot/dts/gemini-sq201.dts
>  create mode 100644 arch/arm/boot/dts/gemini-wbd111.dts
>  create mode 100644 arch/arm/boot/dts/gemini-wbd222.dts
>  create mode 100644 arch/arm/boot/dts/gemini.dtsi
>  create mode 100644 arch/arm/configs/gemini_defconfig
>  delete mode 100644 arch/arm/mach-gemini/Makefile.boot
>  create mode 100644 arch/arm/mach-gemini/board-dt.c
>  delete mode 100644 arch/arm/mach-gemini/board-nas4220b.c
>  delete mode 100644 arch/arm/mach-gemini/board-rut1xx.c
>  delete mode 100644 arch/arm/mach-gemini/board-wbd111.c
>  delete mode 100644 arch/arm/mach-gemini/board-wbd222.c
>  delete mode 100644 arch/arm/mach-gemini/common.h
>  delete mode 100644 arch/arm/mach-gemini/devices.c
>  delete mode 100644 arch/arm/mach-gemini/gpio.c
>  delete mode 100644 arch/arm/mach-gemini/idle.c
>  delete mode 100644 arch/arm/mach-gemini/include/mach/entry-macro.S
>  delete mode 100644 arch/arm/mach-gemini/include/mach/global_reg.h
>  delete mode 100644 arch/arm/mach-gemini/include/mach/hardware.h
>  delete mode 100644 arch/arm/mach-gemini/include/mach/irqs.h
>  delete mode 100644 arch/arm/mach-gemini/include/mach/uncompress.h
>  delete mode 100644 arch/arm/mach-gemini/irq.c
>  delete mode 100644 arch/arm/mach-gemini/mm.c
>  delete mode 100644 arch/arm/mach-gemini/reset.c
>  rename arch/arm/mach-gemini/time.c => drivers/clocksource/timer-gemini.c (55%)
>  create mode 100644 drivers/gpio/gpio-gemini.c
>  create mode 100644 drivers/irqchip/irq-gemini.c
>  create mode 100644 drivers/mtd/maps/physmap_of_gemini.c
>  create mode 100644 drivers/mtd/maps/physmap_of_gemini.h
> 

-- 
Florian

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-01-22 18:42 ` Florian Fainelli
@ 2017-01-22 22:44   ` Linus Walleij
  2017-01-24 17:24     ` Hans Ulli Kroll
  0 siblings, 1 reply; 13+ messages in thread
From: Linus Walleij @ 2017-01-22 22:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Jan 22, 2017 at 7:42 PM, Florian Fainelli <f.fainelli@gmail.com> wrote:
> On 01/22/2017 04:15 AM, Linus Walleij wrote:
>> I got a Gemini platform from Florian Fainelli over at OpenWRT
>> some time back. I finally got around to "future-proofing" the
>> platform, which was the idea when he paintakingly sent the box
>> over to me.
>
> I would have happily tested that series ;) thanks a lot for making it
> happen!

There is a git branch here:
https://git.kernel.org/cgit/linux/kernel/git/linusw/linux-nomadik.git/log/?h=gemini

I collect info and instructions to get it running here:
https://dflund.se/~triad/krad/gemini/

>> The OpenWRT tree still have a whole bunch of significant out-of
>> tree drivers:
>>
>> - Watchdog
>> - GMAC (ethernet)
>
> Been wondering about the GMAC driver a little bit, and it does not
> appear to be neither a Synopsys/Designware core (although not 100%
> sure), nor the ftgmac100 either.
>
> This submission does appear to be in a good shape:
> https://lwn.net/Articles/437889/

Hm what makes people stop submissions like that in mid-air?
Maybe we can shape it up and resend on top of the device tree
baseline.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-01-22 22:44   ` Linus Walleij
@ 2017-01-24 17:24     ` Hans Ulli Kroll
  2017-01-24 20:47       ` Linus Walleij
  0 siblings, 1 reply; 13+ messages in thread
From: Hans Ulli Kroll @ 2017-01-24 17:24 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

thanks for the work converting Gemini to DT.

On Sun, 22 Jan 2017, Linus Walleij wrote:

> On Sun, Jan 22, 2017 at 7:42 PM, Florian Fainelli <f.fainelli@gmail.com> wrote:
> > On 01/22/2017 04:15 AM, Linus Walleij wrote:
> >> I got a Gemini platform from Florian Fainelli over at OpenWRT
> >> some time back. I finally got around to "future-proofing" the
> >> platform, which was the idea when he paintakingly sent the box
> >> over to me.
> >
> > I would have happily tested that series ;) thanks a lot for making it
> > happen!
> 
> There is a git branch here:
> https://git.kernel.org/cgit/linux/kernel/git/linusw/linux-nomadik.git/log/?h=gemini
> 
> I collect info and instructions to get it running here:
> https://dflund.se/~triad/krad/gemini/
> 
> >> The OpenWRT tree still have a whole bunch of significant out-of
> >> tree drivers:
> >>
> >> - Watchdog
> >> - GMAC (ethernet)
> >
> > Been wondering about the GMAC driver a little bit, and it does not
> > appear to be neither a Synopsys/Designware core (although not 100%
> > sure), nor the ftgmac100 either.
> >
> > This submission does appear to be in a good shape:
> > https://lwn.net/Articles/437889/
> 

AFAICR
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 ??

Greetings
Hans Ulli Kroll

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-01-24 17:24     ` Hans Ulli Kroll
@ 2017-01-24 20:47       ` Linus Walleij
  2017-01-24 20:49         ` Florian Fainelli
  0 siblings, 1 reply; 13+ messages in thread
From: Linus Walleij @ 2017-01-24 20:47 UTC (permalink / raw)
  To: linux-arm-kernel

Hans, Florian et al: does any of you have a copy of the kernel source
dump(s) from Teltonika, Raidsonic or Wiliboard?

Would be nice to have the stuff that vendors are using.

On Tue, Jan 24, 2017 at 6:24 PM, Hans Ulli Kroll
<ulli.kroll@googlemail.com> wrote:

> AFAICR
> 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?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-01-24 20:47       ` Linus Walleij
@ 2017-01-24 20:49         ` Florian Fainelli
  2017-01-30 16:35           ` Hans Ulli Kroll
  0 siblings, 1 reply; 13+ messages in thread
From: Florian Fainelli @ 2017-01-24 20:49 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/24/2017 12:47 PM, Linus Walleij wrote:
> Hans, Florian et al: does any of you have a copy of the kernel source
> dump(s) from Teltonika, Raidsonic or Wiliboard?
> 
> Would be nice to have the stuff that vendors are using.
> 
> On Tue, Jan 24, 2017 at 6:24 PM, Hans Ulli Kroll
> <ulli.kroll@googlemail.com> wrote:
> 
>> AFAICR
>> 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?

I'd recommend looking at how mv643xx_eth does it, there are shared and
individual portions of the register set in there, with concepts of
"ports" which result in network device instances.
-- 
Florian

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-01-24 20:49         ` Florian Fainelli
@ 2017-01-30 16:35           ` Hans Ulli Kroll
  2017-02-11 13:20             ` Linus Walleij
  0 siblings, 1 reply; 13+ messages in thread
From: Hans Ulli Kroll @ 2017-01-30 16:35 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Florian, Linus,

sorry for delay, busy last week ...

On Tue, 24 Jan 2017, Florian Fainelli wrote:

> On 01/24/2017 12:47 PM, Linus Walleij wrote:
> > Hans, Florian et al: does any of you have a copy of the kernel source
> > dump(s) from Teltonika, Raidsonic or Wiliboard?
> > 
> > Would be nice to have the stuff that vendors are using.
> > 
> > On Tue, Jan 24, 2017 at 6:24 PM, Hans Ulli Kroll
> > <ulli.kroll@googlemail.com> wrote:
> > 
> >> AFAICR
> >> 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'd recommend looking at how mv643xx_eth does it, there are shared and
> individual portions of the register set in there, with concepts of
> "ports" which result in network device instances.

Thanks will look at it.

Hans

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  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-02-08 13:13 ` Hans Ulli Kroll
  2017-02-10 12:26   ` Linus Walleij
  1 sibling, 1 reply; 13+ messages in thread
From: Hans Ulli Kroll @ 2017-02-08 13:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus

On Sun, 22 Jan 2017, Linus Walleij wrote:

> I got a Gemini platform from Florian Fainelli over at OpenWRT
> some time back. I finally got around to "future-proofing" the
> platform, which was the idea when he paintakingly sent the box
> over to me.
> 

now I've got my toolchain cleaned up and working ...
Tested on may nas 4220
  
here my
Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>

> - FOT2G USB EHCI host

The fotg2 driver is already upstream.
I've added DT support and this driver works.
The only problem here is dis/reconnect of usb devices, but I think this 
is some driver problem here.

I must clean up my DT support patches to send them of.

Greetings
Hans Ulli Kroll

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-02-08 13:13 ` Hans Ulli Kroll
@ 2017-02-10 12:26   ` Linus Walleij
  0 siblings, 0 replies; 13+ messages in thread
From: Linus Walleij @ 2017-02-10 12:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Feb 8, 2017 at 2:13 PM, Hans Ulli Kroll
<ulli.kroll@googlemail.com> wrote:

> now I've got my toolchain cleaned up and working ...
> Tested on may nas 4220
>
> here my
> Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>

Thanks! I'll add it throughout.

>> - FOT2G USB EHCI host
>
> The fotg2 driver is already upstream.
> I've added DT support and this driver works.

I saw some patches flying, awesome. I'll probably stack them up in
my git tree. I can't test them: the SQ201 I'm using has a separate
VIA USB on PCI for some reason, I guess they just didn't trust the
built-in USB and just threw money at the problem.

With the patches in transit the upstream TODO (not started) is just
down to:
- SATA
- Ethernet
- Crypto

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-01-30 16:35           ` Hans Ulli Kroll
@ 2017-02-11 13:20             ` Linus Walleij
  2017-02-11 17:57               ` Hans Ulli Kroll
  0 siblings, 1 reply; 13+ messages in thread
From: Linus Walleij @ 2017-02-11 13:20 UTC (permalink / raw)
  To: linux-arm-kernel

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.

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.

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.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-02-11 13:20             ` Linus Walleij
@ 2017-02-11 17:57               ` Hans Ulli Kroll
  2017-02-13  3:22                 ` John Feng-Hsin Chiang(江峰興)
  0 siblings, 1 reply; 13+ messages in thread
From: Hans Ulli Kroll @ 2017-02-11 17:57 UTC (permalink / raw)
  To: linux-arm-kernel

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.
> 
> 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.
> 
> 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.
> 

I must look/seach for the nas2000 SDK, maybe this brings some light.

Greetings Hans Ulli Kroll

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  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
  0 siblings, 1 reply; 13+ messages in thread
From: John Feng-Hsin Chiang(江峰興) @ 2017-02-13  3:22 UTC (permalink / raw)
  To: linux-arm-kernel

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.

> >
> > 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 must look/seach for the nas2000 SDK, maybe this brings some light.
> 
> Greetings Hans Ulli Kroll

Greetings John


============================================================================
********************* Confidentiality Notice ************************
This electronic message and any attachments may contain
confidential and legally privileged information or
information which is otherwise protected from disclosure.
If you are not the intended recipient, please do not disclose
the contents, either in whole or in part, to anyone, and
immediately delete the message and any attachments from
your computer system and destroy all hard copies.
Thank you for your cooperation.
***********************************************************************

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/22] Conversion of ARMv4 Gemini to DT and multiplatform
  2017-02-13  3:22                 ` John Feng-Hsin Chiang(江峰興)
@ 2017-02-13  9:20                   ` Hans Ulli Kroll
  0 siblings, 0 replies; 13+ messages in thread
From: Hans Ulli Kroll @ 2017-02-13  9:20 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-02-13  9:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2017-02-08 13:13 ` Hans Ulli Kroll
2017-02-10 12:26   ` Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.