[PATCH 0/3] ath79: add support for MikroTik RouterBOARD 912UAG-2HPnD

Denis Kalashnikov denis281089 at gmail.com
Thu May 27 01:16:43 PDT 2021

From: Denis Kalashnikov <denis281089 at gmail.com>

RB912 needs two ad hoc drivers: gpio-latch and rb91x_nand. So I've ported them
from ar71xx and added DTS.

In RFC v1 I added a MFD driver that provided API for manipulating shared gpio
lines to gpio-latch and nand drivers. In RFC v2 I just ported gpio-latch and
rb91x_nand drivers from ar71xx to ath79 by adding DTS support and usage of
a new gpio API (gpiod_*). This way is turned to be more clear and compact.
So, I've tried to fix what you guys advised me and here is my patches v1.

All seems to be working on my RB912UAG-2HPnD. Except a button and a beeper. The
beeper seems is not important thing, but the button is. The button shares gpio
15 with NAND ALE and NAND IO7, but this is not easily supported by the current
drivers. May be we need ad hoc driver for button. Or may be there is a more
general solution for this problem (like rb91x-gpio driver that arbitrates
all gpio lines instead of gpio-latch). This can be fixed in the next patches.

Denis Kalashnikov (3):
  ath79: add gpio-latch driver for MikroTik RouterBOARDs
  ath79: add NAND driver for MikroTik RB91xG series
  ath79: add support for MikroTik RouterBOARD 912UAG-2HPnD

 ...9342_mikrotik_routerboard-912uag-2hpnd.dts | 214 ++++++++++
 .../ath79/files/drivers/gpio/gpio-latch.c     | 203 ++++++++++
 .../files/drivers/mtd/nand/raw/rb91x_nand.c   | 375 ++++++++++++++++++
 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    |   1 +
 .../patches-5.10/939-mikrotik-rb91x.patch     |  49 +++
 .../patches-5.4/939-mikrotik-rb91x.patch      |  44 ++
 10 files changed, 899 insertions(+)
 create mode 100644 target/linux/ath79/dts/ar9342_mikrotik_routerboard-912uag-2hpnd.dts
 create mode 100644 target/linux/ath79/files/drivers/gpio/gpio-latch.c
 create mode 100644 target/linux/ath79/files/drivers/mtd/nand/raw/rb91x_nand.c
 create mode 100644 target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch
 create mode 100644 target/linux/ath79/patches-5.4/939-mikrotik-rb91x.patch


More information about the openwrt-devel mailing list