mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	All kernel configs are refreshed by 'make kernel_oldconfig CONFIG_TARGET=target' and 'make kernel_oldconfig CONFIG_TARGET=subtarget'. upstreamed patches: 010-v5.17-spi-ar934x-fix-transfer-and-word-delays.patch 011-v5.17-spi-ar934x-fix-transfer-size.patch 020-v5.18-spi-ath79-Implement-the-spi_mem-interface.patch 030-v5.18-ath79-add-support-for-booting-QCN550x.patch build and run tested on: ath79/generic/ar7241 ath79/generic/qca9563 ath79/nand/ar9344 Signed-off-by: Shiji Yang <yangshiji66@qq.com>
		
			
				
	
	
		
			97 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.5 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
 | |
| @@ -368,6 +368,12 @@ config GPIO_IXP4XX
 | |
|  
 | |
|  	  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
 | |
| @@ -544,6 +550,10 @@ config GPIO_ROCKCHIP
 | |
|  	help
 | |
|  	  Say yes here to support GPIO on Rockchip SoCs.
 | |
|  
 | |
| +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
 | |
| @@ -76,6 +76,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
 | |
| @@ -124,6 +125,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
 | |
| @@ -572,4 +572,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
 | |
| @@ -61,6 +61,7 @@ obj-$(CONFIG_MTD_NAND_PL35X)		+= pl35x-n
 | |
|  obj-$(CONFIG_MTD_NAND_RENESAS)		+= renesas-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
 |