123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- From: Christopher Hill <[email protected]>
- Subject: [PATCH] ath79: add Mikrotik rb4xx series drivers
- 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 <[email protected]>
- Module-author: Imre Kaloz <[email protected]>
- Module-author: Bert Vermeulen <[email protected]>
- 2. Next several ar71xx patches were applied bringing the code current.
- commit 7bbf4117c6fe4b764d9d7c62fb2bcf6dd93bff2c
- Submitted-by: Hauke Mehrtens <[email protected]>
- commit af79fdbe4af32a287798b579141204bda056b8aa
- commit 889272d92db689fd9c910243635e44c9d8323095
- commit e21cb649a235180563363b8af5ba8296b9ac0baa
- commit 7c09fa4a7492ca436f2c94bd9a465b7c5bbeed6f
- Submitted-by: Felix Fietkau <[email protected]>
- 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 <[email protected]>
- Submitted-by: Christopher Hill <[email protected]>
- ---
- drivers/mfd/Kconfig | 8 ++++++++
- drivers/mfd/Makefile | 1 +
- drivers/gpio/Kconfig | 6 ++++++
- drivers/gpio/Makefile | 1 +
- drivers/mtd/nand/raw/Kconfig | 7 +++++++
- drivers/mtd/nand/raw/Makefile | 1 +
- 6 files changed, 24 insertions(+)
- --- a/drivers/mfd/Kconfig
- +++ b/drivers/mfd/Kconfig
- @@ -2176,6 +2176,14 @@ 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.
- +
- config SGI_MFD_IOC3
- bool "SGI IOC3 core driver"
- depends on PCI && MIPS && 64BIT
- --- a/drivers/mfd/Makefile
- +++ b/drivers/mfd/Makefile
- @@ -267,6 +267,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) += khadas-
- obj-$(CONFIG_MFD_ACER_A500_EC) += acer-ec-a500.o
- obj-$(CONFIG_MFD_QCOM_PM8008) += qcom-pm8008.o
-
- +obj-$(CONFIG_MFD_RB4XX_CPLD) += rb4xx-cpld.o
- obj-$(CONFIG_SGI_MFD_IOC3) += ioc3.o
- obj-$(CONFIG_MFD_SIMPLE_MFD_I2C) += simple-mfd-i2c.o
- obj-$(CONFIG_MFD_INTEL_M10_BMC) += intel-m10-bmc.o
- --- a/drivers/gpio/Kconfig
- +++ b/drivers/gpio/Kconfig
- @@ -1574,6 +1574,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
- @@ -122,6 +122,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_RDA) += gpio-rda.o
- --- a/drivers/mtd/nand/raw/Kconfig
- +++ b/drivers/mtd/nand/raw/Kconfig
- @@ -563,4 +563,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
- @@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM) += inte
- obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rockchip-nand-controller.o
- obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.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
|