mbox series

[0/4] RFC: ath79: add support for Mikrotik RB91xG

Message ID 20210506162514.5913-1-denis281089@gmail.com
Headers show
Series RFC: ath79: add support for Mikrotik RB91xG | expand

Message

Denis K May 6, 2021, 4:25 p.m. UTC
When porting RB91xG ad hoc drivers (gpio-latch and rb91x-nand) from ar71xx
to ath79, I made a decision to rework this to more clear design in my opinion:
MFD driver that requests and controls the gpio lines, and separate NAND
driver and GPIO-latch driver that uses API of the MFD driver (like
how in rb4xx-clpd is done). ar71xx gpio-latch is very good, but somewhat hacky,
so I don't think that it can be general driver for gpio controller on a latch.
I could be wrong. Also it is my first attempt to port OpenWrt to a device, so
I need a review from the community. I've tested all these on my RB912UAG-2HPnD.
Gigabit Ethernet, 2.4GHz Wi-Fi, sysupgrade and LEDs:) are working for me.
Not working: beeper, button and USB port/mPCIe (has not tested yet).

Denis Kalashnikov (4):
  ath79: add MFD driver (NAND and GPIO) for Mikrotik RB91xG
  ath79: add GPIO-latch driver for Mikrotik RB91xG
  ath79: add NAND driver for Mikrotik RB91xG
  ath79: add support of Mikrotik RouterBoard 91xG series

 .../dts/ar9342_mikrotik_routerboard-912g.dts  | 314 +++++++++++++
 .../files/drivers/gpio/gpio-latch-rb91x.c     | 127 +++++
 .../linux/ath79/files/drivers/mfd/rb91x-ngl.c | 331 ++++++++++++++
 .../files/drivers/mtd/nand/raw/nand_rb91x.c   | 432 ++++++++++++++++++
 .../linux/ath79/files/include/mfd/rb91x-ngl.h |  59 +++
 target/linux/ath79/image/mikrotik.mk          |   9 +
 .../base-files/etc/board.d/02_network         |   2 +
 .../etc/hotplug.d/firmware/10-ath9k-eeprom    |   1 +
 .../base-files/lib/upgrade/platform.sh        |   1 +
 target/linux/ath79/mikrotik/config-default    |   3 +
 .../patches-5.4/939-mikrotik-rb91x.patch      |  65 +++
 11 files changed, 1344 insertions(+)
 create mode 100644 target/linux/ath79/dts/ar9342_mikrotik_routerboard-912g.dts
 create mode 100644 target/linux/ath79/files/drivers/gpio/gpio-latch-rb91x.c
 create mode 100644 target/linux/ath79/files/drivers/mfd/rb91x-ngl.c
 create mode 100644 target/linux/ath79/files/drivers/mtd/nand/raw/nand_rb91x.c
 create mode 100644 target/linux/ath79/files/include/mfd/rb91x-ngl.h
 create mode 100644 target/linux/ath79/patches-5.4/939-mikrotik-rb91x.patch

Comments

Sergey Ryazanov May 14, 2021, 2:54 a.m. UTC | #1
Hello Denis,

On Thu, May 6, 2021 at 7:31 PM Denis Kalashnikov <denis281089@gmail.com> wrote:
> When porting RB91xG ad hoc drivers (gpio-latch and rb91x-nand) from ar71xx
> to ath79, I made a decision to rework this to more clear design in my opinion:
> MFD driver that requests and controls the gpio lines, and separate NAND
> driver and GPIO-latch driver that uses API of the MFD driver (like
> how in rb4xx-clpd is done). ar71xx gpio-latch is very good, but somewhat hacky,
> so I don't think that it can be general driver for gpio controller on a latch.
> I could be wrong. Also it is my first attempt to port OpenWrt to a device, so
> I need a review from the community. I've tested all these on my RB912UAG-2HPnD.
> Gigabit Ethernet, 2.4GHz Wi-Fi, sysupgrade and LEDs:) are working for me.
> Not working: beeper, button and USB port/mPCIe (has not tested yet).

Thank you for this considerable work!

Besides the per patch comments, please check checkpatch.pl report, it
produces some useful inputs.

--
Sergey