--- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1899,5 +1899,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 @@ -241,3 +241,4 @@ obj-$(CONFIG_MFD_SC27XX_PMIC) += sprd-sc obj-$(CONFIG_RAVE_SP_CORE) += rave-sp.o obj-$(CONFIG_MFD_ROHM_BD718XX) += rohm-bd718x7.o +obj-$(CONFIG_MFD_RB4XX_CPLD) += rb4xx-cpld.o --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1371,6 +1371,12 @@ config GPIO_XRA1403 help GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. +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 "USB GPIO expanders" --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -159,3 +159,4 @@ obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o obj-$(CONFIG_GPIO_ZX) += gpio-zx.o obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o +obj-$(CONFIG_GPIO_RB4XX) += gpio-rb4xx.o --- a/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig @@ -569,4 +569,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_NAND --- a/drivers/mtd/nand/raw/Makefile +++ b/drivers/mtd/nand/raw/Makefile @@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_QCOM) += qcom_nan obj-$(CONFIG_MTD_NAND_MTK) += mtk_ecc.o mtk_nand.o obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_nand.o obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o +obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o nand-objs := nand_base.o nand_bbt.o nand_timings.o nand_ids.o nand-objs += nand_amd.o