source: trunk/target/linux/lantiq/patches-3.0/211-devices.patch @ 28405

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

[lantiq]

  • update patches to 3.0
  • add basic vr9 support
  • backport 3.1 fixes
  • backport 3.2 queue (falcon)
File size: 6.0 KB
  • arch/mips/lantiq/devices.c

    old new  
    2020#include <linux/io.h> 
    2121#include <linux/gpio.h> 
    2222#include <linux/leds.h> 
     23#include <linux/dma-mapping.h> 
    2324 
    2425#include <asm/bootinfo.h> 
    2526#include <asm/irq.h> 
     
    102103        pr_err("kernel is compiled without PCI support\n"); 
    103104} 
    104105#endif 
     106 
     107static unsigned int *cp1_base = 0; 
     108unsigned int* 
     109ltq_get_cp1_base(void) 
     110{ 
     111        return cp1_base; 
     112} 
     113EXPORT_SYMBOL(ltq_get_cp1_base); 
     114 
     115void __init 
     116ltq_register_tapi(void) 
     117{ 
     118#define CP1_SIZE       (1 << 20) 
     119        dma_addr_t dma; 
     120        cp1_base = 
     121                (void*)CPHYSADDR(dma_alloc_coherent(NULL, CP1_SIZE, &dma, GFP_ATOMIC)); 
     122} 
  • arch/mips/lantiq/devices.h

    old new  
    2323extern void ltq_register_wdt(void); 
    2424extern void ltq_register_asc(int port); 
    2525extern void ltq_register_pci(struct ltq_pci_data *data); 
     26extern void ltq_register_tapi(void); 
    2627 
    2728#endif 
  • arch/mips/lantiq/xway/Makefile

    old new  
    11obj-y := sysctrl.o reset.o gpio.o gpio_stp.o gpio_ebu.o devices.o dma.o nand.o timer.o 
    22 
     3obj-y += dev-dwc_otg.o 
     4 
    35obj-$(CONFIG_SOC_XWAY) += clk-xway.o prom-xway.o 
    46obj-$(CONFIG_SOC_AMAZON_SE) += clk-ase.o prom-ase.o 
    57obj-$(CONFIG_SOC_VR9) += clk-vr9.o prom-vr9.o 
  • arch/mips/lantiq/xway/devices.c

    old new  
    2121#include <linux/io.h> 
    2222#include <linux/gpio.h> 
    2323#include <linux/leds.h> 
     24#include <linux/spi/spi.h> 
    2425 
    2526#include <asm/bootinfo.h> 
    2627#include <asm/irq.h> 
     
    101102                platform_device_register(&ltq_etop); 
    102103        } 
    103104} 
     105 
     106/* madwifi */ 
     107int lantiq_emulate_madwifi_eep = 0; 
     108EXPORT_SYMBOL(lantiq_emulate_madwifi_eep); 
     109 
     110void __init 
     111ltq_register_madwifi_eep(void) 
     112{ 
     113        lantiq_emulate_madwifi_eep = 1; 
     114} 
     115 
     116/* ebu */ 
     117static struct resource ltq_ebu_resource = 
     118{ 
     119        .name   = "gpio_ebu", 
     120        .start  = LTQ_EBU_GPIO_START, 
     121        .end    = LTQ_EBU_GPIO_START + LTQ_EBU_GPIO_SIZE - 1, 
     122        .flags  = IORESOURCE_MEM, 
     123}; 
     124 
     125static struct platform_device ltq_ebu = 
     126{ 
     127        .name           = "ltq_ebu", 
     128        .resource       = &ltq_ebu_resource, 
     129        .num_resources  = 1, 
     130}; 
     131 
     132void __init 
     133ltq_register_gpio_ebu(unsigned int value) 
     134{ 
     135        ltq_ebu.dev.platform_data = (void*) value; 
     136        platform_device_register(&ltq_ebu); 
     137} 
     138 
     139/* gpio buttons */ 
     140static struct gpio_buttons_platform_data ltq_gpio_buttons_platform_data; 
     141 
     142static struct platform_device ltq_gpio_buttons_platform_device = 
     143{ 
     144        .name = "gpio-buttons", 
     145        .id = 0, 
     146        .dev = { 
     147                .platform_data = (void *) &ltq_gpio_buttons_platform_data, 
     148        }, 
     149}; 
     150 
     151void __init 
     152ltq_register_gpio_buttons(struct gpio_button *buttons, int cnt) 
     153{ 
     154        ltq_gpio_buttons_platform_data.buttons = buttons; 
     155        ltq_gpio_buttons_platform_data.nbuttons = cnt; 
     156        platform_device_register(&ltq_gpio_buttons_platform_device); 
     157} 
     158 
     159static struct resource ltq_spi_resources[] = { 
     160        { 
     161                .start  = LTQ_SSC_BASE_ADDR, 
     162                .end    = LTQ_SSC_BASE_ADDR + LTQ_SSC_SIZE - 1, 
     163                .flags  = IORESOURCE_MEM, 
     164        }, 
     165        IRQ_RES(spi_tx, LTQ_SSC_TIR), 
     166        IRQ_RES(spi_rx, LTQ_SSC_RIR), 
     167        IRQ_RES(spi_err, LTQ_SSC_EIR), 
     168}; 
     169 
     170static struct resource ltq_spi_resources_ar9[] = { 
     171        { 
     172                .start  = LTQ_SSC_BASE_ADDR, 
     173                .end    = LTQ_SSC_BASE_ADDR + LTQ_SSC_SIZE - 1, 
     174                .flags  = IORESOURCE_MEM, 
     175        }, 
     176        IRQ_RES(spi_tx, LTQ_SSC_TIR_AR9), 
     177        IRQ_RES(spi_rx, LTQ_SSC_RIR_AR9), 
     178        IRQ_RES(spi_err, LTQ_SSC_EIR), 
     179}; 
     180 
     181static struct platform_device ltq_spi = { 
     182        .name           = "ltq-spi", 
     183        .resource       = ltq_spi_resources, 
     184        .num_resources  = ARRAY_SIZE(ltq_spi_resources), 
     185}; 
     186 
     187void __init ltq_register_spi(struct ltq_spi_platform_data *pdata, 
     188                struct spi_board_info const *info, unsigned n) 
     189{ 
     190        if(ltq_is_ar9()) 
     191                ltq_spi.resource = ltq_spi_resources_ar9; 
     192        spi_register_board_info(info, n); 
     193        ltq_spi.dev.platform_data = pdata; 
     194        platform_device_register(&ltq_spi); 
     195} 
  • arch/mips/lantiq/xway/devices.h

    old new  
    1111 
    1212#include "../devices.h" 
    1313#include <linux/phy.h> 
     14#include <linux/spi/spi.h> 
     15#include <linux/gpio_buttons.h> 
    1416 
    1517extern void ltq_register_gpio(void); 
    1618extern void ltq_register_gpio_stp(void); 
    1719extern void ltq_register_ase_asc(void); 
    1820extern void ltq_register_etop(struct ltq_eth_data *eth); 
     21extern void ltq_register_gpio_ebu(unsigned int value); 
     22extern void ltq_register_spi(struct ltq_spi_platform_data *pdata, 
     23        struct spi_board_info const *info, unsigned n); 
     24extern void ltq_register_madwifi_eep(void); 
     25extern void ltq_register_gpio_buttons(struct gpio_button *buttons, int cnt); 
    1926 
    2027#endif 
  • arch/mips/lantiq/Makefile

    old new  
    44# under the terms of the GNU General Public License version 2 as published 
    55# by the Free Software Foundation. 
    66 
    7 obj-y := irq.o setup.o clk.o prom.o devices.o 
     7obj-y := irq.o setup.o clk.o prom.o devices.o dev-leds-gpio.o dev-gpio-buttons.o 
    88 
    99obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 
    1010 
Note: See TracBrowser for help on using the repository browser.