 eea227c60d
			
		
	
	eea227c60d
	
	
	
		
			
			Add a generic mmio gpio controller based driver and probe it through device tree. Use aliases for base calculation until we converted all users to device tree or named gpios. Convert bcm63xx_enet's ephy-reset gpio to use a named gpio. While at it, remove the duplicate reset gpio defintion for livebox. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 44565
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 8879e209111192c5e9752d7bd203cf7582693328 Mon Sep 17 00:00:00 2001
 | |
| From: Jonas Gorski <jonas.gorski@gmail.com>
 | |
| Date: Thu, 3 May 2012 14:40:03 +0200
 | |
| Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
 | |
| 
 | |
| ---
 | |
|  arch/mips/bcm63xx/boards/board_bcm963xx.c           |    9 ++++++++-
 | |
|  arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h |   10 ++++++++++
 | |
|  2 files changed, 18 insertions(+), 1 deletion(-)
 | |
| 
 | |
| --- a/arch/mips/bcm63xx/boards/board_common.c
 | |
| +++ b/arch/mips/bcm63xx/boards/board_common.c
 | |
| @@ -36,6 +36,7 @@
 | |
|  #include <bcm63xx_dev_usb_ohci.h>
 | |
|  #include <bcm63xx_dev_usb_usbd.h>
 | |
|  #include <board_bcm963xx.h>
 | |
| +#include <pci_ath9k_fixup.h>
 | |
|  
 | |
|  #include "board_common.h"
 | |
|  
 | |
| @@ -196,6 +197,7 @@ int __init board_register_devices(void)
 | |
|  	int button_count = 0;
 | |
|  	int led_count = 0;
 | |
|  	int usbh_ports = 0;
 | |
| +	int i;
 | |
|  
 | |
|  #if CONFIG_OF
 | |
|  	if (of_have_populated_dt()) {
 | |
| @@ -296,6 +298,10 @@ int __init board_register_devices(void)
 | |
|  		platform_device_register(&bcm63xx_gpio_keys_device);
 | |
|  	}
 | |
|  
 | |
| +	/* register any fixups */
 | |
| +	for (i = 0; i < board.has_caldata; i++)
 | |
| +		pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset);
 | |
| +
 | |
|  	return 0;
 | |
|  }
 | |
|  
 | |
| --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
 | |
| +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
 | |
| @@ -10,6 +10,7 @@
 | |
|  #include <bcm63xx_dev_usb_usbd.h>
 | |
|  #include <bcm63xx_dev_dsp.h>
 | |
|  #include <bcm63xx_fallback_sprom.h>
 | |
| +#include <pci_ath9k_fixup.h>
 | |
|  
 | |
|  /*
 | |
|   * flash mapping
 | |
| @@ -17,6 +18,11 @@
 | |
|  #define BCM963XX_CFE_VERSION_OFFSET	0x570
 | |
|  #define BCM963XX_NVRAM_OFFSET		0x580
 | |
|  
 | |
| +struct ath9k_caldata {
 | |
| +	unsigned int	slot;
 | |
| +	u32		caldata_offset;
 | |
| +};
 | |
| +
 | |
|  /*
 | |
|   * board definition
 | |
|   */
 | |
| @@ -37,6 +43,10 @@ struct board_info {
 | |
|  	unsigned int	has_uart0:1;
 | |
|  	unsigned int	has_uart1:1;
 | |
|  	unsigned int	use_fallback_sprom:1;
 | |
| +	unsigned int	has_caldata:2;
 | |
| +
 | |
| +	/* wifi calibration data config */
 | |
| +	struct ath9k_caldata caldata[2];
 | |
|  
 | |
|  	/* ethernet config */
 | |
|  	struct bcm63xx_enet_platform_data enet0;
 |