Changeset 18940


Ignore:
Timestamp:
2009-12-26T15:19:13+01:00 (8 years ago)
Author:
juhosg
Message:

ar71xx: move USB host device support into a separate file

Location:
trunk/target/linux/ar71xx
Files:
2 added
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/config-2.6.30

    r18937 r18940  
    1111CONFIG_AR71XX_DEV_M25P80=y 
    1212CONFIG_AR71XX_DEV_PB42_PCI=y 
     13CONFIG_AR71XX_DEV_USB=y 
    1314CONFIG_AR71XX_MACH_AP81=y 
    1415CONFIG_AR71XX_MACH_AP83=y 
  • trunk/target/linux/ar71xx/config-2.6.31

    r18937 r18940  
    1313CONFIG_AR71XX_DEV_M25P80=y 
    1414CONFIG_AR71XX_DEV_PB42_PCI=y 
     15CONFIG_AR71XX_DEV_USB=y 
    1516CONFIG_AR71XX_MACH_AP81=y 
    1617CONFIG_AR71XX_MACH_AP83=y 
  • trunk/target/linux/ar71xx/config-2.6.32

    r18937 r18940  
    1313CONFIG_AR71XX_DEV_M25P80=y 
    1414CONFIG_AR71XX_DEV_PB42_PCI=y 
     15CONFIG_AR71XX_DEV_USB=y 
    1516CONFIG_AR71XX_MACH_AP81=y 
    1617CONFIG_AR71XX_MACH_AP83=y 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig

    r18937 r18940  
    99        select AR71XX_DEV_GPIO_BUTTONS 
    1010        select AR71XX_DEV_LEDS_GPIO 
     11        select AR71XX_DEV_USB 
    1112        default y 
    1213 
     
    1617        select AR71XX_DEV_GPIO_BUTTONS 
    1718        select AR71XX_DEV_LEDS_GPIO 
     19        select AR71XX_DEV_USB 
    1820        default y 
    1921 
     
    3234        select AR71XX_DEV_GPIO_BUTTONS 
    3335        select AR71XX_DEV_LEDS_GPIO 
     36        select AR71XX_DEV_USB 
    3437        default y 
    3538 
     
    4649        select AR71XX_DEV_PB42_PCI if PCI 
    4750        select AR71XX_DEV_LEDS_GPIO 
     51        select AR71XX_DEV_USB 
    4852        default y 
    4953 
     
    6771        select AR71XX_DEV_PB42_PCI if PCI 
    6872        select AR71XX_DEV_LEDS_GPIO 
     73        select AR71XX_DEV_USB 
    6974        default y 
    7075 
     
    7580        select AR71XX_DEV_GPIO_BUTTONS 
    7681        select AR71XX_DEV_LEDS_GPIO 
     82        select AR71XX_DEV_USB 
    7783        default y 
    7884 
     
    8894        select AR71XX_DEV_GPIO_BUTTONS 
    8995        select AR71XX_DEV_LEDS_GPIO 
     96        select AR71XX_DEV_USB 
    9097        default y 
    9198 
     
    96103        select AR71XX_DEV_GPIO_BUTTONS 
    97104        select AR71XX_DEV_LEDS_GPIO 
     105        select AR71XX_DEV_USB 
    98106        default y 
    99107 
     
    112120        select AR71XX_DEV_GPIO_BUTTONS 
    113121        select AR71XX_DEV_LEDS_GPIO 
     122        select AR71XX_DEV_USB 
    114123        default y 
    115124 
     
    152161        select AR71XX_DEV_GPIO_BUTTONS 
    153162        select AR71XX_DEV_LEDS_GPIO 
     163        select AR71XX_DEV_USB 
    154164        default y 
    155165 
     
    169179        select AR71XX_DEV_LEDS_GPIO 
    170180        select AR71XX_DEV_PB42_PCI if PCI 
     181        select AR71XX_DEV_USB 
    171182        default y 
    172183 
     
    194205        def_bool n 
    195206 
     207config AR71XX_DEV_USB 
     208        def_bool n 
     209 
    196210endif 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile

    r18937 r18940  
    2121obj-$(CONFIG_AR71XX_DEV_M25P80)         += dev-m25p80.o 
    2222obj-$(CONFIG_AR71XX_DEV_PB42_PCI)       += dev-pb42-pci.o 
     23obj-$(CONFIG_AR71XX_DEV_USB)            += dev-usb.o 
    2324 
    2425obj-$(CONFIG_AR71XX_MACH_AP81)          += mach-ap81.o 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/devices.c

    r18937 r18940  
    1515#include <linux/init.h> 
    1616#include <linux/delay.h> 
    17 #include <linux/dma-mapping.h> 
    1817#include <linux/etherdevice.h> 
    1918#include <linux/platform_device.h> 
     
    2524 
    2625static u8 ar71xx_mac_base[ETH_ALEN] __initdata; 
    27  
    28 /* 
    29  * OHCI (USB full speed host controller) 
    30  */ 
    31 static struct resource ar71xx_ohci_resources[] = { 
    32         [0] = { 
    33                 .start  = AR71XX_OHCI_BASE, 
    34                 .end    = AR71XX_OHCI_BASE + AR71XX_OHCI_SIZE - 1, 
    35                 .flags  = IORESOURCE_MEM, 
    36         }, 
    37         [1] = { 
    38                 .start  = AR71XX_MISC_IRQ_OHCI, 
    39                 .end    = AR71XX_MISC_IRQ_OHCI, 
    40                 .flags  = IORESOURCE_IRQ, 
    41         }, 
    42 }; 
    43  
    44 static struct resource ar7240_ohci_resources[] = { 
    45         [0] = { 
    46                 .start  = AR7240_OHCI_BASE, 
    47                 .end    = AR7240_OHCI_BASE + AR7240_OHCI_SIZE - 1, 
    48                 .flags  = IORESOURCE_MEM, 
    49         }, 
    50         [1] = { 
    51                 .start  = AR71XX_CPU_IRQ_USB, 
    52                 .end    = AR71XX_CPU_IRQ_USB, 
    53                 .flags  = IORESOURCE_IRQ, 
    54         }, 
    55 }; 
    56  
    57 static u64 ar71xx_ohci_dmamask = DMA_BIT_MASK(32); 
    58 static struct platform_device ar71xx_ohci_device = { 
    59         .name           = "ar71xx-ohci", 
    60         .id             = -1, 
    61         .resource       = ar71xx_ohci_resources, 
    62         .num_resources  = ARRAY_SIZE(ar71xx_ohci_resources), 
    63         .dev = { 
    64                 .dma_mask               = &ar71xx_ohci_dmamask, 
    65                 .coherent_dma_mask      = DMA_BIT_MASK(32), 
    66         }, 
    67 }; 
    68  
    69 /* 
    70  * EHCI (USB full speed host controller) 
    71  */ 
    72 static struct resource ar71xx_ehci_resources[] = { 
    73         [0] = { 
    74                 .start  = AR71XX_EHCI_BASE, 
    75                 .end    = AR71XX_EHCI_BASE + AR71XX_EHCI_SIZE - 1, 
    76                 .flags  = IORESOURCE_MEM, 
    77         }, 
    78         [1] = { 
    79                 .start  = AR71XX_CPU_IRQ_USB, 
    80                 .end    = AR71XX_CPU_IRQ_USB, 
    81                 .flags  = IORESOURCE_IRQ, 
    82         }, 
    83 }; 
    84  
    85  
    86 static u64 ar71xx_ehci_dmamask = DMA_BIT_MASK(32); 
    87 static struct ar71xx_ehci_platform_data ar71xx_ehci_data; 
    88  
    89 static struct platform_device ar71xx_ehci_device = { 
    90         .name           = "ar71xx-ehci", 
    91         .id             = -1, 
    92         .resource       = ar71xx_ehci_resources, 
    93         .num_resources  = ARRAY_SIZE(ar71xx_ehci_resources), 
    94         .dev = { 
    95                 .dma_mask               = &ar71xx_ehci_dmamask, 
    96                 .coherent_dma_mask      = DMA_BIT_MASK(32), 
    97                 .platform_data          = &ar71xx_ehci_data, 
    98         }, 
    99 }; 
    100  
    101 #define AR71XX_USB_RESET_MASK \ 
    102         (RESET_MODULE_USB_HOST | RESET_MODULE_USB_PHY \ 
    103         | RESET_MODULE_USB_OHCI_DLL) 
    104  
    105 #define AR7240_USB_RESET_MASK \ 
    106         (RESET_MODULE_USB_HOST | RESET_MODULE_USB_OHCI_DLL_7240) 
    107  
    108 static void __init ar71xx_usb_setup(void) 
    109 { 
    110         ar71xx_device_stop(AR71XX_USB_RESET_MASK); 
    111         mdelay(1000); 
    112         ar71xx_device_start(AR71XX_USB_RESET_MASK); 
    113  
    114         /* Turning on the Buff and Desc swap bits */ 
    115         ar71xx_usb_ctrl_wr(USB_CTRL_REG_CONFIG, 0xf0000); 
    116  
    117         /* WAR for HW bug. Here it adjusts the duration between two SOFS */ 
    118         ar71xx_usb_ctrl_wr(USB_CTRL_REG_FLADJ, 0x20c00); 
    119  
    120         mdelay(900); 
    121 } 
    122  
    123 static void __init ar7240_usb_setup(void) 
    124 { 
    125         ar71xx_ohci_device.resource = ar7240_ohci_resources; 
    126  
    127         ar71xx_device_stop(AR7240_USB_RESET_MASK); 
    128         mdelay(1000); 
    129         ar71xx_device_start(AR7240_USB_RESET_MASK); 
    130  
    131         /* WAR for HW bug. Here it adjusts the duration between two SOFS */ 
    132         ar71xx_usb_ctrl_wr(USB_CTRL_REG_FLADJ, 0x3); 
    133 } 
    134  
    135 static void __init ar91xx_usb_setup(void) 
    136 { 
    137         ar71xx_device_stop(RESET_MODULE_USBSUS_OVERRIDE); 
    138         mdelay(10); 
    139  
    140         ar71xx_device_start(RESET_MODULE_USB_HOST); 
    141         mdelay(10); 
    142  
    143         ar71xx_device_start(RESET_MODULE_USB_PHY); 
    144         mdelay(10); 
    145 } 
    146  
    147 void __init ar71xx_add_device_usb(void) 
    148 { 
    149         switch (ar71xx_soc) { 
    150         case AR71XX_SOC_AR7240: 
    151                 ar7240_usb_setup(); 
    152                 platform_device_register(&ar71xx_ohci_device); 
    153                 break; 
    154  
    155         case AR71XX_SOC_AR7130: 
    156         case AR71XX_SOC_AR7141: 
    157         case AR71XX_SOC_AR7161: 
    158                 ar71xx_usb_setup(); 
    159                 platform_device_register(&ar71xx_ohci_device); 
    160                 platform_device_register(&ar71xx_ehci_device); 
    161                 break; 
    162  
    163         case AR71XX_SOC_AR9130: 
    164         case AR71XX_SOC_AR9132: 
    165                 ar91xx_usb_setup(); 
    166                 ar71xx_ehci_data.is_ar91xx = 1; 
    167                 platform_device_register(&ar71xx_ehci_device); 
    168                 break; 
    169  
    170         default: 
    171                 BUG(); 
    172         } 
    173 } 
    17426 
    17527static struct resource ar71xx_uart_resources[] = { 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/devices.h

    r18937 r18940  
    3939void ar71xx_add_device_mdio(u32 phy_mask) __init; 
    4040 
    41 void ar71xx_add_device_usb(void) __init; 
    4241void ar71xx_add_device_uart(void) __init; 
    4342 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c

    r18939 r18940  
    2121#include "dev-gpio-buttons.h" 
    2222#include "dev-leds-gpio.h" 
     23#include "dev-usb.h" 
    2324 
    2425#define AP81_GPIO_LED_STATUS    1 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap83.c

    r18937 r18940  
    2626#include "dev-gpio-buttons.h" 
    2727#include "dev-leds-gpio.h" 
     28#include "dev-usb.h" 
    2829 
    2930#define AP83_GPIO_LED_WLAN      6 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-dir-825-b1.c

    r18937 r18940  
    2525#include "dev-gpio-buttons.h" 
    2626#include "dev-leds-gpio.h" 
     27#include "dev-usb.h" 
    2728 
    2829#define DIR825B1_GPIO_LED_BLUE_USB              0 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-mzk-w04nu.c

    r18939 r18940  
    2020#include "dev-leds-gpio.h" 
    2121#include "dev-m25p80.h" 
     22#include "dev-usb.h" 
    2223 
    2324#define MZK_W04NU_GPIO_LED_USB          0 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb42.c

    r18939 r18940  
    1717#include "dev-gpio-buttons.h" 
    1818#include "dev-pb42-pci.h" 
     19#include "dev-usb.h" 
    1920 
    2021#define PB42_BUTTONS_POLL_INTERVAL      20 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-pb44.c

    r18937 r18940  
    2727#include "dev-gpio-buttons.h" 
    2828#include "dev-leds-gpio.h" 
     29#include "dev-usb.h" 
    2930 
    3031#define PB44_PCF8757_VSC7395_CS 0 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c

    r18937 r18940  
    2424#include "dev-gpio-buttons.h" 
    2525#include "dev-leds-gpio.h" 
     26#include "dev-usb.h" 
    2627 
    2728#define RB4XX_GPIO_USER_LED     4 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr1043nd.c

    r18939 r18940  
    2020#include "dev-gpio-buttons.h" 
    2121#include "dev-leds-gpio.h" 
     22#include "dev-usb.h" 
    2223 
    2324#define TL_WR1043ND_GPIO_LED_USB        1 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ubnt.c

    r18939 r18940  
    2020#include "dev-pb42-pci.h" 
    2121#include "dev-leds-gpio.h" 
     22#include "dev-usb.h" 
    2223 
    2324#define UBNT_RS_GPIO_LED_RF     2 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c

    r18937 r18940  
    2424#include "dev-gpio-buttons.h" 
    2525#include "dev-leds-gpio.h" 
     26#include "dev-usb.h" 
    2627 
    2728#define WNDR3700_GPIO_LED_WPS_ORANGE    0 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wp543.c

    r18939 r18940  
    2121#include "dev-gpio-buttons.h" 
    2222#include "dev-leds-gpio.h" 
     23#include "dev-usb.h" 
    2324 
    2425#define WP543_GPIO_SW6          2 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wrt160nl.c

    r18939 r18940  
    2020#include "dev-gpio-buttons.h" 
    2121#include "dev-leds-gpio.h" 
     22#include "dev-usb.h" 
    2223 
    2324#define WRT160NL_GPIO_LED_POWER         14 
Note: See TracChangeset for help on using the changeset viewer.