mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
ba6096d04b
OpenWRT's developer guide prefers having actual patches so they an be sent upstream more easily. However, in this case, Adding proper fields also allows for `git am` to properly function. Some of these patches are quite old, and lack much traceable history. This commit tries to rectify that, by digging in the history to find where and how it was first added. It is by no means perfect and also shows some patches that should have been long gone. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
98 lines
3.6 KiB
Diff
98 lines
3.6 KiB
Diff
From: Denis Kalashnikov <denis281089@gmail.com>
|
|
Subject: [PATCH] ath79: add support for reset key on MikroTik RB912UAG-2HPnD
|
|
|
|
On MikroTik RB91x board series a reset key shares SoC gpio
|
|
line #15 with NAND ALE and NAND IO7. So we need a custom
|
|
gpio driver to manage this non-trivial connection schema.
|
|
Also rb91x-nand needs to have an ability to disable a polling
|
|
of the key while it works with NAND.
|
|
|
|
While we've been integrating rb91x-key into a firmware, we've
|
|
figured out that:
|
|
* In the gpio-latch driver we need to add a "cansleep" suffix to
|
|
several gpiolib calls,
|
|
* When gpio-latch and rb91x-nand fail to get a gpio and an error
|
|
is -EPROBE_DEFER, they shouldn't report about this, since this
|
|
actually is not an error and occurs when the gpio-latch probe
|
|
function is called before the rb91x-key probe.
|
|
We fix these related things here too.
|
|
|
|
Submitted-by: Denis Kalashnikov <denis281089@gmail.com>
|
|
Reviewed-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
|
|
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
|
|
---
|
|
drivers/gpio/Kconfig | 11 +++++++++++
|
|
drivers/gpio/Makefile | 2 ++
|
|
drivers/mtd/nand/raw/Kconfig | 6 ++++++
|
|
drivers/mtd/nand/raw/Makefile | 1 +
|
|
7 files changed, 20 insertions(+)
|
|
|
|
--- a/drivers/gpio/Kconfig
|
|
+++ b/drivers/gpio/Kconfig
|
|
@@ -341,6 +341,13 @@ config GPIO_IXP4XX
|
|
IXP4xx series of chips.
|
|
|
|
If unsure, say N.
|
|
+
|
|
+config GPIO_LATCH
|
|
+ tristate "MikroTik RouterBOARD GPIO latch support"
|
|
+ depends on ATH79
|
|
+ help
|
|
+ GPIO driver for latch on some MikroTik RouterBOARDs.
|
|
+
|
|
config GPIO_LOGICVC
|
|
tristate "Xylon LogiCVC GPIO support"
|
|
depends on MFD_SYSCON && OF
|
|
@@ -495,6 +502,10 @@ config GPIO_REG
|
|
A 32-bit single register GPIO fixed in/out implementation. This
|
|
can be used to represent any register as a set of GPIO signals.
|
|
|
|
+config GPIO_RB91X_KEY
|
|
+ tristate "MikroTik RB91x board series reset key support"
|
|
+ depends on ATH79
|
|
+
|
|
config GPIO_SAMA5D2_PIOBU
|
|
tristate "SAMA5D2 PIOBU GPIO support"
|
|
depends on MFD_SYSCON
|
|
--- a/drivers/gpio/Makefile
|
|
+++ b/drivers/gpio/Makefile
|
|
@@ -73,6 +73,7 @@ obj-$(CONFIG_GPIO_IT87) += gpio-it87.o
|
|
obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4xx.o
|
|
obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
|
|
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
|
|
+obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o
|
|
obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o
|
|
obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o
|
|
obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o
|
|
@@ -122,6 +123,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio
|
|
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
|
|
obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o
|
|
obj-$(CONFIG_GPIO_RB4XX) += gpio-rb4xx.o
|
|
+obj-$(CONFIG_GPIO_RB91X_KEY) += gpio-rb91x-key.o
|
|
obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
|
|
obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o
|
|
obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
|
|
--- a/drivers/mtd/nand/raw/Kconfig
|
|
+++ b/drivers/mtd/nand/raw/Kconfig
|
|
@@ -571,4 +571,10 @@ config MTD_NAND_RB4XX
|
|
Enables support for the NAND flash chip on Mikrotik Routerboard
|
|
RB4xx series.
|
|
|
|
+config MTD_NAND_RB91X
|
|
+ tristate "MikroTik RB91x NAND driver support"
|
|
+ depends on ATH79 && MTD_RAW_NAND
|
|
+ help
|
|
+ Enables support for the NAND flash chip on MikroTik RB91x series.
|
|
+
|
|
endif # MTD_RAW_NAND
|
|
--- a/drivers/mtd/nand/raw/Makefile
|
|
+++ b/drivers/mtd/nand/raw/Makefile
|
|
@@ -60,6 +60,7 @@ obj-$(CONFIG_MTD_NAND_CADENCE) += caden
|
|
obj-$(CONFIG_MTD_NAND_ARASAN) += arasan-nand-controller.o
|
|
obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o
|
|
obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o
|
|
+obj-$(CONFIG_MTD_NAND_RB91X) += rb91x_nand.o
|
|
|
|
nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o
|
|
nand-objs += nand_onfi.o
|