Changeset 8366


Ignore:
Timestamp:
2007-08-07T11:12:09+02:00 (9 years ago)
Author:
florian
Message:

Fix the gpio handling and flash resource declaration, thanks to Daniel Gimpelevich

Location:
trunk/target/linux/rdc-2.6
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/rdc-2.6/Makefile

    r8356 r8366  
    2323ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) 
    2424    define Kernel/SetInitramfs 
    25         echo "r6040 parent=wlan0" > $(BUILD_DIR)/root/etc/modules.d/99-r6040 
    26         rm -f $(BUILD_DIR)/root/sbin/init 
    27         ln -s /etc/preinit $(BUILD_DIR)/root/sbin/init 
    28         sed -i 's,exec /sbin/init,exec /bin/busybox init,g' $(BUILD_DIR)/root/etc/preinit 
    29         sed -i 's,/sbin/init,/bin/busybox init,g' $(BUILD_DIR)/root/init 
    30         sed -i 's,eth0,eth1,g' $(BUILD_DIR)/root/etc/config/network 
     25        echo "r6040 parent=wlan0" > $(TARGET_DIR)/etc/modules.d/99-r6040 
     26        $(RM) -f $(TARGET_DIR)/sbin/init 
     27        ln -s /etc/preinit $(TARGET_DIR)/sbin/init 
     28        sed -i 's,exec /sbin/init,exec /bin/busybox init,g' $(TARGET_DIR)/etc/preinit 
     29        sed -i 's,/sbin/init,/bin/busybox init,g' $(TARGET_DIR)/init 
     30        sed -i 's,eth0,eth1,g' $(TARGET_DIR)/etc/config/network 
    3131    endef 
    3232endif 
  • trunk/target/linux/rdc-2.6/files/arch/i386/mach-rdc/gpio.c

    r8348 r8366  
    2323        unsigned int val; 
    2424 
    25         val = 0x80000000 | (7 << 11) | ((0x48)); 
     25        val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x84:0x48)); 
    2626        outl(val, RDC3210_CFGREG_ADDR); 
    2727        udelay(10); 
    2828        val = inl(RDC3210_CFGREG_DATA); 
    29         val |= (0x1 << gpio); 
     29        val |= (0x1 << (gpio & 0x1F)); 
    3030        outl(val, RDC3210_CFGREG_DATA); 
    3131        udelay(10); 
    32         val = 0x80000000 | (7 << 11) | ((0x4C)); 
     32        val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x88:0x4C)); 
    3333        outl(val, RDC3210_CFGREG_ADDR); 
    3434        udelay(10); 
     
    3838} 
    3939 
    40 void rdc_gpio_write(unsigned int val) 
     40static void rdc_gpio_write(unsigned int val) 
    4141{ 
    4242        if (val) { 
     
    4848int rdc_gpio_get_value(unsigned gpio) 
    4949{ 
    50         return ((int)rdc_gpio_read(gpio)); 
     50        return (gpio>0x3A?-EINVAL:(int)rdc_gpio_read(gpio)); 
    5151} 
    5252EXPORT_SYMBOL(rdc_gpio_get_value); 
     
    5656        unsigned int val; 
    5757 
     58        if (gpio > 0x3A) return; 
    5859        val = rdc_gpio_read(gpio); 
    5960 
    6061        if (value) 
    61                 val &= ~(0x1 << gpio); 
     62                val &= ~(0x1 << (gpio & 0x1F)); 
    6263        else 
    63                 val |= (0x1 << gpio); 
     64                val |= (0x1 << (gpio & 0x1F)); 
    6465 
    6566        rdc_gpio_write(val); 
  • trunk/target/linux/rdc-2.6/files/arch/i386/mach-rdc/platform.c

    r8348 r8366  
    3131 
    3232#include <asm/gpio.h> 
    33 #include <asm/mach-rdc/rdc321x_defs.h> 
    3433 
    3534/* FIXME : Flash */ 
    3635static struct resource rdc_flash_resource[] = { 
    3736        [0] = { 
    38                 .start = RDC_FLASH_BASE, 
    39                 .end = RDC_FLASH_BASE+CONFIG_MTD_RDC3210_SIZE-1, 
     37                .start = (u32)-CONFIG_MTD_RDC3210_SIZE, 
     38                .end = (u32)-1, 
    4039                .flags = IORESOURCE_MEM, 
    4140        }, 
  • trunk/target/linux/rdc-2.6/files/drivers/leds/leds-rdc3211.c

    r8358 r8366  
    2020 
    2121/* This is just for testing purpose */ 
    22 int gpio; 
     22int gpio=-1; 
    2323module_param(gpio, int, 0444); 
    2424MODULE_PARM_DESC(gpio, " GPIO line"); 
     
    5959        int ret; 
    6060 
    61         ret = platform_driver_register(&rdc321x_leds_driver); 
     61        ret = gpio+1?platform_driver_register(&rdc321x_leds_driver):-EINVAL; 
    6262 
    6363        return ret; 
  • trunk/target/linux/rdc-2.6/files/include/asm-i386/mach-rdc/rdc321x_defs.h

    r8348 r8366  
    1 #define RDC_FLASH_BASE          0xffc00000 
  • trunk/target/linux/rdc-2.6/image/Makefile

    r8362 r8366  
    2626        mv $(KDIR)/root.$(1) $(KDIR)/root.tmp 
    2727        dd of=$(KDIR)/root.$(1) if=$(KDIR)/root.tmp $(call trxalign/$(1)) conv=sync 
    28         rm -f $(KDIR)/root.tmp 
     28        $(RM) -f $(KDIR)/root.tmp 
    2929        $(STAGING_DIR_HOST)/bin/airlink -b 1 -j $(shell bash -c 'echo $$[$(3)]') $(KDIR)/bzImage $(KDIR)/root.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1)-$(2).img 
    3030endef 
Note: See TracChangeset for help on using the changeset viewer.