mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
fa70b3a4bb
This adds 3 Mikrotik rb4xx series drivers as follows: rb4xx-cpld: This is in the mfd subsystem, and is the parent CPLD device that interfaces between the SoC SPI bus and its two children below. rb4xx-gpio: This is the GPIO expander. rb4xx-nand: This is the NAND driver. The history of this code comes in three phases. 1. The first is a May 2015 attempt to push the equivalient ar71xx rb4xx drivers upstream. See https://lore.kernel.org/patchwork/patch/940880/. Module-author: Gabor Juhos <juhosg@openwrt.org> Module-author: Imre Kaloz <kaloz@openwrt.org> Module-author: Bert Vermeulen <bert@biot.com> 2. Next several ar71xx patches were applied bringing the code current. commit7bbf4117c6
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> commitaf79fdbe4a
commit889272d92d
commite21cb649a2
commit7c09fa4a74
Signed-off-by: Felix Fietkau <nbd@nbd.name> 3. Finally a heavy refactor to split the driver into the three new subsystems, and updated to work with the device tree configuration, plus updates and review feedback incorporated Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: Christopher Hill <ch6574@gmail.com>
73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
--- a/drivers/mfd/Kconfig
|
|
+++ b/drivers/mfd/Kconfig
|
|
@@ -2012,5 +2012,13 @@ config RAVE_SP_CORE
|
|
Select this to get support for the Supervisory Processor
|
|
device found on several devices in RAVE line of hardware.
|
|
|
|
+config MFD_RB4XX_CPLD
|
|
+ tristate "CPLD driver for Mikrotik RB4xx series boards
|
|
+ select MFD_CORE
|
|
+ depends on ATH79 || COMPILE_TEST
|
|
+ help
|
|
+ Enables support for the CPLD chip (NAND & GPIO) on Mikrotik
|
|
+ Routerboard RB4xx series.
|
|
+
|
|
endmenu
|
|
endif
|
|
--- a/drivers/mfd/Makefile
|
|
+++ b/drivers/mfd/Makefile
|
|
@@ -256,3 +256,4 @@ obj-$(CONFIG_MFD_ROHM_BD70528) += rohm-b
|
|
obj-$(CONFIG_MFD_ROHM_BD718XX) += rohm-bd718x7.o
|
|
obj-$(CONFIG_MFD_STMFX) += stmfx.o
|
|
|
|
+obj-$(CONFIG_MFD_RB4XX_CPLD) += rb4xx-cpld.o
|
|
--- a/drivers/gpio/Kconfig
|
|
+++ b/drivers/gpio/Kconfig
|
|
@@ -1406,6 +1406,12 @@ config GPIO_SODAVILLE
|
|
help
|
|
Say Y here to support Intel Sodaville GPIO.
|
|
|
|
+config GPIO_RB4XX
|
|
+ tristate "GPIO expander for Mikrotik RB4xx series boards"
|
|
+ depends on MFD_RB4XX_CPLD
|
|
+ help
|
|
+ GPIO driver for Mikrotik Routerboard RB4xx series.
|
|
+
|
|
endmenu
|
|
|
|
menu "SPI GPIO expanders"
|
|
--- a/drivers/gpio/Makefile
|
|
+++ b/drivers/gpio/Makefile
|
|
@@ -113,6 +113,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061.
|
|
obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o
|
|
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_RC5T583) += gpio-rc5t583.o
|
|
obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o
|
|
obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
|
|
--- a/drivers/mtd/nand/raw/Kconfig
|
|
+++ b/drivers/mtd/nand/raw/Kconfig
|
|
@@ -552,4 +552,11 @@ config MTD_NAND_AR934X
|
|
Enables support for NAND controller on Qualcomm Atheros SoCs.
|
|
This controller is found on AR934x and QCA955x SoCs.
|
|
|
|
+config MTD_NAND_RB4XX
|
|
+ tristate "Support for NAND driver for Mikrotik RB4xx series boards"
|
|
+ depends on MFD_RB4XX_CPLD
|
|
+ help
|
|
+ Enables support for the NAND flash chip on Mikrotik Routerboard
|
|
+ RB4xx series.
|
|
+
|
|
endif # MTD_RAW_NAND
|
|
--- a/drivers/mtd/nand/raw/Makefile
|
|
+++ b/drivers/mtd/nand/raw/Makefile
|
|
@@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_n
|
|
obj-$(CONFIG_MTD_NAND_STM32_FMC2) += stm32_fmc2_nand.o
|
|
obj-$(CONFIG_MTD_NAND_MESON) += meson_nand.o
|
|
obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o
|
|
+obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o
|
|
|
|
nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o
|
|
nand-objs += nand_onfi.o
|