source: branches/backfire/target/linux/lantiq/patches-2.6.32/150-falcon-easy98020.patch @ 27546

Last change on this file since 27546 was 27546, checked in by blogic, 5 years ago

add new lantiq target

File size: 3.4 KB
  • new file arch/mips/lantiq/falcon/mach-easy98020.c

    - +  
     1#include <linux/init.h> 
     2#include <linux/platform_device.h> 
     3#include <linux/leds.h> 
     4#include <linux/gpio.h> 
     5#include <linux/gpio_buttons.h> 
     6#include <linux/mtd/mtd.h> 
     7#include <linux/mtd/partitions.h> 
     8#include <linux/input.h> 
     9#include <linux/interrupt.h> 
     10#include <linux/spi/spi.h> 
     11#include <linux/spi/flash.h> 
     12#include "../machtypes.h" 
     13 
     14#include "devices.h" 
     15#include "dev-leds-gpio.h" 
     16 
     17#define EASY98020_GPIO_LED_0 9 
     18#define EASY98020_GPIO_LED_1 10 
     19#define EASY98020_GPIO_LED_2 11 
     20#define EASY98020_GPIO_LED_3 12 
     21#define EASY98020_GPIO_LED_GE0_ACT 110 
     22#define EASY98020_GPIO_LED_GE0_LINK 109 
     23#define EASY98020_GPIO_LED_GE1_ACT 106 
     24#define EASY98020_GPIO_LED_GE1_LINK 105 
     25 
     26#ifdef CONFIG_MTD_PARTITIONS 
     27static struct mtd_partition easy98020_spi_partitions[] = 
     28{ 
     29        { 
     30                .name   = "uboot", 
     31                .offset = 0x0, 
     32                .size   = 0x40000, 
     33        }, 
     34        { 
     35                .name   = "uboot_env", 
     36                .offset = 0x40000, 
     37                .size   = 0x40000,      /* 2 sectors for redundant env. */ 
     38        }, 
     39        { 
     40                .name   = "linux", 
     41                .offset = 0x80000, 
     42                .size   = 0xF80000,     /* map only 16 MiB */ 
     43        }, 
     44}; 
     45 
     46static struct flash_platform_data easy98020_spi_flash_platform_data = { 
     47        .name = "sflash", 
     48        .parts = easy98020_spi_partitions, 
     49        .nr_parts = ARRAY_SIZE(easy98020_spi_partitions) 
     50}; 
     51#endif 
     52 
     53static struct spi_board_info easy98020_spi_flash_data __initdata = { 
     54        .modalias               = "m25p80", 
     55        .bus_num                = 0, 
     56        .chip_select            = 0, 
     57        .max_speed_hz           = 10 * 1000 * 1000, 
     58        .mode                   = SPI_MODE_3, 
     59#ifdef CONFIG_MTD_PARTITIONS 
     60        .platform_data          = &easy98020_spi_flash_platform_data 
     61#endif 
     62}; 
     63 
     64static struct gpio_led easy98020_leds_gpio[] __initdata = { 
     65        { 
     66                .name           = "easy98020:green:0", 
     67                .gpio           = EASY98020_GPIO_LED_0, 
     68                .active_low     = 0, 
     69        }, { 
     70                .name           = "easy98020:green:1", 
     71                .gpio           = EASY98020_GPIO_LED_1, 
     72                .active_low     = 0, 
     73        }, { 
     74                .name           = "easy98020:green:2", 
     75                .gpio           = EASY98020_GPIO_LED_2, 
     76                .active_low     = 0, 
     77        }, { 
     78                .name           = "easy98020:green:3", 
     79                .gpio           = EASY98020_GPIO_LED_3, 
     80                .active_low     = 0, 
     81        }, { 
     82                .name           = "easy98020:ge0_act", 
     83                .gpio           = EASY98020_GPIO_LED_GE0_ACT, 
     84                .active_low     = 0, 
     85        }, { 
     86                .name           = "easy98020:ge0_link", 
     87                .gpio           = EASY98020_GPIO_LED_GE0_LINK, 
     88                .active_low     = 0, 
     89        }, { 
     90                .name           = "easy98020:ge1_act", 
     91                .gpio           = EASY98020_GPIO_LED_GE1_ACT, 
     92                .active_low     = 0, 
     93        }, { 
     94                .name           = "easy98020:ge1_link", 
     95                .gpio           = EASY98020_GPIO_LED_GE1_LINK, 
     96                .active_low     = 0, 
     97        } 
     98}; 
     99 
     100static void __init easy98020_init(void) 
     101{ 
     102        falcon_register_asc(0); 
     103        falcon_register_gpio(); 
     104        falcon_register_wdt(); 
     105        falcon_register_i2c(); 
     106        falcon_register_spi_flash(&easy98020_spi_flash_data); 
     107        ltq_add_device_leds_gpio(-1, ARRAY_SIZE(easy98020_leds_gpio), 
     108                                        easy98020_leds_gpio); 
     109        falcon_register_crypto(); 
     110} 
     111 
     112MIPS_MACHINE(LANTIQ_MACH_EASY98020, 
     113                        "EASY98020", 
     114                        "EASY98020 Eval Board", 
     115                        easy98020_init); 
  • arch/mips/lantiq/falcon/Kconfig

    a b config LANTIQ_MACH_EASY98000 
    66        bool "Easy98000" 
    77        default y 
    88 
     9config LANTIQ_MACH_EASY98020 
     10        bool "Easy98020" 
     11        default y 
     12 
    913endmenu 
    1014 
    1115endif 
  • arch/mips/lantiq/falcon/Makefile

    a b obj-y += softdog_vpe.o 
    33obj-$(CONFIG_LANTIQ_MACH_EASY98000) += addon-easy98000.o 
    44obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o 
    55obj-$(CONFIG_LANTIQ_MACH_EASY98000) += dev-leds-easy98000-cpld.o 
     6obj-$(CONFIG_LANTIQ_MACH_EASY98020) += mach-easy98020.o 
Note: See TracBrowser for help on using the repository browser.