--- 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