Changeset 12134


Ignore:
Timestamp:
2008-08-05T13:16:46+02:00 (10 years ago)
Author:
juhosg
Message:

[adm5120] experimental gpiodev support (closes #3613)

Location:
trunk/target/linux/adm5120/files
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/board.c

    r11939 r12134  
    9494        platform_device_register(&adm5120_switch_device); 
    9595 
     96        if (adm5120_package_pqfp()) 
     97                adm5120_gpiodev_resource.start &= ~0xf0; 
     98 
     99        platform_device_register(&adm5120_gpiodev_device); 
     100 
    96101        /* setup PCI irq map */ 
    97102        adm5120_pci_set_irq_map(board->pci_nr_irqs, board->pci_irq_map); 
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/boards/cellvision.c

    r10307 r12134  
    2222#include <adm5120_platform.h> 
    2323#include <adm5120_irq.h> 
     24 
     25#define CAS6XX_GPIO_DEV_MASK    (1 << ADM5120_GPIO_PIN5) 
     26#define CAS7XX_GPIO_DEV_MASK    (1 << ADM5120_GPIO_PIN5) 
     27#define NFS_GPIO_DEV_MASK       (1 << ADM5120_GPIO_PIN5) 
    2428 
    2529static void switch_bank_gpio5(unsigned bank) 
     
    105109        adm5120_flash0_data.parts = cas6xx_partitions; 
    106110 
     111        adm5120_gpiodev_resource.start &= ~CAS6XX_GPIO_DEV_MASK; 
     112 
    107113        /* TODO: setup mac address */ 
    108114} 
     
    118124        adm5120_flash0_data.parts = cas7xx_partitions; 
    119125 
     126        adm5120_gpiodev_resource.start &= ~CAS7XX_GPIO_DEV_MASK; 
     127 
    120128        /* TODO: setup mac address */ 
    121129} 
     
    130138        adm5120_flash0_data.nr_parts = ARRAY_SIZE(cas6xx_partitions); 
    131139        adm5120_flash0_data.parts = cas6xx_partitions; 
     140 
     141        adm5120_gpiodev_resource.start &= ~NFS_GPIO_DEV_MASK; 
    132142 
    133143        /* TODO: setup mac address */ 
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/boards/compex.c

    r11402 r12134  
    2222#include <adm5120_platform.h> 
    2323#include <adm5120_irq.h> 
     24 
     25#define NP27G_GPIO_DEV_MASK     (1 << ADM5120_GPIO_PIN5) 
     26#define NP28G_GPIO_DEV_MASK     ( 1 << ADM5120_GPIO_PIN5 \ 
     27                                | 1 << ADM5120_GPIO_PIN4) 
     28 
     29#define WP54_GPIO_DEV_MASK      ( 1 << ADM5120_GPIO_PIN5 \ 
     30                                | 1 << ADM5120_GPIO_PIN3) 
    2431 
    2532static struct adm5120_pci_irq wp54_pci_irqs[] __initdata = { 
     
    105112        /* setup data for flash0 device */ 
    106113        adm5120_flash0_data.switch_bank = switch_bank_gpio5; 
     114        adm5120_gpiodev_resource.start &= ~NP27G_GPIO_DEV_MASK; 
    107115 
    108116        /* TODO: setup mac address */ 
     
    119127        /* setup data for flash0 device */ 
    120128        adm5120_flash0_data.switch_bank = switch_bank_gpio5; 
     129 
     130        adm5120_gpiodev_resource.start &= ~NP28G_GPIO_DEV_MASK; 
    121131 
    122132        /* TODO: setup mac address */ 
     
    137147        adm5120_buttons[0].desc = "reset button"; 
    138148        adm5120_buttons[0].gpio = ADM5120_GPIO_PIN2; 
     149 
     150        adm5120_gpiodev_resource.start &= ~WP54_GPIO_DEV_MASK; 
    139151 
    140152        /* TODO: setup mac address */ 
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/boards/infineon.c

    r10996 r12134  
    2424#include <adm5120_platform.h> 
    2525#include <adm5120_info.h> 
     26 
     27#define EASY_PQFP_GPIO_DEV_MASK (1 << ADM5120_GPIO_PIN3) 
     28#define EASY_BGA_GPIO_DEV_MASK  (1 << ADM5120_GPIO_PIN5) 
    2629 
    2730static void switch_bank_gpio3(unsigned bank) 
     
    100103        adm5120_flash0_data.parts = easy_partitions; 
    101104 
     105        adm5120_gpiodev_resource.start &= ~EASY_PQFP_GPIO_DEV_MASK; 
     106 
    102107        /* TODO: setup mac addresses */ 
    103108} 
     
    112117        adm5120_flash0_data.nr_parts = ARRAY_SIZE(easy_partitions); 
    113118        adm5120_flash0_data.parts = easy_partitions; 
     119 
     120        adm5120_gpiodev_resource.start &= ~EASY_BGA_GPIO_DEV_MASK; 
    114121 
    115122        /* TODO: setup mac addresses */ 
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c

    r12095 r12134  
    4545#define RB150_GPIO_NAND_CLE     ADM5120_GPIO_P2L2 
    4646#define RB150_GPIO_NAND_ALE     ADM5120_GPIO_P3L2 
     47#define RB150_GPIO_DEV_MASK     ( 1 << RB150_GPIO_NAND_READY    \ 
     48                                | 1 << RB150_GPIO_NAND_NCE      \ 
     49                                | 1 << RB150_GPIO_NAND_CLE      \ 
     50                                | 1 << RB150_GPIO_NAND_ALE) 
    4751 
    4852#define RB150_NAND_DELAY        100 
     
    5054#define RB150_NAND_WRITE(v) \ 
    5155        writeb((v), (void __iomem *)KSEG1ADDR(RB150_NAND_BASE)) 
     56 
     57#define RB153_GPIO_DEV_MASK     ( 1 << ADM5120_GPIO_PIN0 \ 
     58                                | 1 << ADM5120_GPIO_PIN3 \ 
     59                                | 1 << ADM5120_GPIO_PIN4 ) 
    5260 
    5361/*--------------------------------------------------------------------------*/ 
     
    280288        adm5120_buttons[0].gpio = ADM5120_GPIO_PIN1; /* FIXME: valid? */ 
    281289 
     290        adm5120_gpiodev_resource.start &= ~RB150_GPIO_DEV_MASK; 
     291 
    282292        adm5120_flash0_data.window_size = 512*1024; 
    283293 
     
    294304 
    295305        rb1xx_setup(); 
     306 
     307        adm5120_gpiodev_resource.start &= ~RB153_GPIO_DEV_MASK; 
    296308} 
    297309 
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/boards/zyxel.c

    r10305 r12134  
    2222#include <adm5120_platform.h> 
    2323#include <adm5120_irq.h> 
     24 
     25#define P33X_GPIO_DEV_MASK      (1 << ADM5120_GPIO_PIN5) 
    2426 
    2527static void switch_bank_gpio5(unsigned bank) 
     
    8486        adm5120_flash0_data.parts = p33x_partitions; 
    8587 
     88        adm5120_gpiodev_resource.start &= ~P33X_GPIO_DEV_MASK; 
    8689        /* TODO: setup mac address */ 
    8790} 
  • trunk/target/linux/adm5120/files/arch/mips/adm5120/platform.c

    r11966 r12134  
    217217}; 
    218218 
     219/* GPIO char device */ 
     220struct resource adm5120_gpiodev_resource = { 
     221        .start  = 0x3fffff, 
     222}; 
     223 
     224struct platform_device adm5120_gpiodev_device = { 
     225        .name           = "GPIODEV", 
     226        .id             = -1, 
     227        .num_resources  = 1, 
     228        .resource       = &adm5120_gpiodev_resource, 
     229}; 
     230 
    219231void adm5120_uart_set_mctrl(struct amba_device *dev, void __iomem *base, 
    220232                unsigned int mctrl) 
  • trunk/target/linux/adm5120/files/include/asm-mips/mach-adm5120/adm5120_platform.h

    r11521 r12134  
    6565#define ADM5120_NUM_BUTTONS     5 
    6666 
     67extern struct resource adm5120_gpiodev_resource; 
     68 
    6769extern struct adm5120_flash_platform_data adm5120_flash0_data; 
    6870extern struct adm5120_flash_platform_data adm5120_flash1_data; 
     
    8082extern struct platform_device adm5120_switch_device; 
    8183extern struct platform_device adm5120_buttons_device; 
     84extern struct platform_device adm5120_gpiodev_device; 
    8285extern struct amba_device adm5120_uart0_device; 
    8386extern struct amba_device adm5120_uart1_device; 
Note: See TracChangeset for help on using the changeset viewer.