dump 2.6.25 support
SVN-Revision: 17816
This commit is contained in:
		| @@ -1,176 +0,0 @@ | |||||||
| # CONFIG_ARCH_HAS_ILOG2_U32 is not set |  | ||||||
| # CONFIG_ARCH_HAS_ILOG2_U64 is not set |  | ||||||
| CONFIG_BASE_SMALL=0 |  | ||||||
| CONFIG_BITREVERSE=y |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BOUNCE=y |  | ||||||
| # CONFIG_BRIDGE is not set |  | ||||||
| CONFIG_CLASSIC_RCU=y |  | ||||||
| CONFIG_CRIS=y |  | ||||||
| # CONFIG_CRIS_MACH_ARTPEC3 is not set |  | ||||||
| # CONFIG_ETRAX100LX is not set |  | ||||||
| CONFIG_ETRAX100LX_V2=y |  | ||||||
| # CONFIG_ETRAXFS is not set |  | ||||||
| CONFIG_ETRAX_ARCH_V10=y |  | ||||||
| # CONFIG_ETRAX_ARCH_V32 is not set |  | ||||||
| CONFIG_ETRAX_AXISFLASHMAP=y |  | ||||||
| CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200" |  | ||||||
| # CONFIG_ETRAX_CSP0_LEDS is not set |  | ||||||
| # CONFIG_ETRAX_DEBUG_PORT0 is not set |  | ||||||
| # CONFIG_ETRAX_DEBUG_PORT1 is not set |  | ||||||
| # CONFIG_ETRAX_DEBUG_PORT2 is not set |  | ||||||
| # CONFIG_ETRAX_DEBUG_PORT3 is not set |  | ||||||
| CONFIG_ETRAX_DEBUG_PORT_NULL=y |  | ||||||
| CONFIG_ETRAX_DEF_R_BUS_CONFIG=0x4 |  | ||||||
| CONFIG_ETRAX_DEF_R_PORT_PA_DATA=0xf0 |  | ||||||
| CONFIG_ETRAX_DEF_R_PORT_PA_DIR=0x1c |  | ||||||
| CONFIG_ETRAX_DEF_R_PORT_PB_CONFIG=0x00 |  | ||||||
| CONFIG_ETRAX_DEF_R_PORT_PB_DATA=0x03 |  | ||||||
| CONFIG_ETRAX_DEF_R_PORT_PB_DIR=0xce |  | ||||||
| CONFIG_ETRAX_DEF_R_SDRAM_CONFIG=0x09603737 |  | ||||||
| CONFIG_ETRAX_DEF_R_SDRAM_TIMING=0x80008002 |  | ||||||
| CONFIG_ETRAX_DEF_R_WAITSTATES=0x95f8 |  | ||||||
| CONFIG_ETRAX_DRAM_SIZE=32 |  | ||||||
| CONFIG_ETRAX_DRAM_VIRTUAL_BASE=c0000000 |  | ||||||
| CONFIG_ETRAX_ETHERNET=y |  | ||||||
| CONFIG_ETRAX_FAST_TIMER=y |  | ||||||
| CONFIG_ETRAX_FLASH1_SIZE=0 |  | ||||||
| CONFIG_ETRAX_FLASH_BUSWIDTH=2 |  | ||||||
| CONFIG_ETRAX_GPIO=y |  | ||||||
| # CONFIG_ETRAX_I2C is not set |  | ||||||
| # CONFIG_ETRAX_I2C_GVC is not set |  | ||||||
| # CONFIG_ETRAX_KMALLOCED_MODULES is not set |  | ||||||
| CONFIG_ETRAX_LED1G=2 |  | ||||||
| CONFIG_ETRAX_LED1R=2 |  | ||||||
| CONFIG_ETRAX_LED2G=3 |  | ||||||
| CONFIG_ETRAX_LED2R=3 |  | ||||||
| CONFIG_ETRAX_LED3G=2 |  | ||||||
| CONFIG_ETRAX_LED3R=2 |  | ||||||
| CONFIG_ETRAX_NANDFLASH_BUSWIDTH=1 |  | ||||||
| CONFIG_ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY=y |  | ||||||
| # CONFIG_ETRAX_NETWORK_LED_ON_WHEN_LINK is not set |  | ||||||
| # CONFIG_ETRAX_NO_LEDS is not set |  | ||||||
| CONFIG_ETRAX_PA_BUTTON_BITMASK=02 |  | ||||||
| CONFIG_ETRAX_PA_CHANGEABLE_BITS=0xFF |  | ||||||
| CONFIG_ETRAX_PA_CHANGEABLE_DIR=0xFF |  | ||||||
| CONFIG_ETRAX_PA_LEDS=y |  | ||||||
| CONFIG_ETRAX_PB_CHANGEABLE_BITS=0xFF |  | ||||||
| CONFIG_ETRAX_PB_CHANGEABLE_DIR=0xFF |  | ||||||
| # CONFIG_ETRAX_PB_LEDS is not set |  | ||||||
| CONFIG_ETRAX_PTABLE_SECTOR=0 |  | ||||||
| CONFIG_ETRAX_RESCUE_SER0=y |  | ||||||
| # CONFIG_ETRAX_RESCUE_SER1 is not set |  | ||||||
| # CONFIG_ETRAX_RESCUE_SER2 is not set |  | ||||||
| # CONFIG_ETRAX_RESCUE_SER3 is not set |  | ||||||
| # CONFIG_ETRAX_RS485 is not set |  | ||||||
| CONFIG_ETRAX_SDRAM=y |  | ||||||
| CONFIG_ETRAX_SER0_CD_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER0_CD_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER0_DSR_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER0_DSR_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER0_DTR_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER0_DTR_ON_PB_BIT=-1 |  | ||||||
| # CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_MIXED is not set |  | ||||||
| CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE=y |  | ||||||
| # CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PA is not set |  | ||||||
| # CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PB is not set |  | ||||||
| CONFIG_ETRAX_SER0_RI_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER0_RI_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_CD_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_CD_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_DSR_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_DSR_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_DTR_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_DTR_ON_PB_BIT=-1 |  | ||||||
| # CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_MIXED is not set |  | ||||||
| CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE=y |  | ||||||
| # CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PA is not set |  | ||||||
| # CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PB is not set |  | ||||||
| CONFIG_ETRAX_SER2_RI_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER2_RI_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_CD_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_CD_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_DSR_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_DSR_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_DTR_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_DTR_ON_PB_BIT=-1 |  | ||||||
| # CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_MIXED is not set |  | ||||||
| CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE=y |  | ||||||
| # CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PA is not set |  | ||||||
| # CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PB is not set |  | ||||||
| CONFIG_ETRAX_SER3_RI_ON_PA_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SER3_RI_ON_PB_BIT=-1 |  | ||||||
| CONFIG_ETRAX_SERIAL=y |  | ||||||
| # CONFIG_ETRAX_SERIAL_FAST_TIMER is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST is not set |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT0=y |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT0_DMA0_OUT is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT0_DMA1_IN is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT0_DMA6_OUT is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT0_DMA7_IN is not set |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_IN=y |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_OUT=y |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT1 is not set |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT2=y |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT2_DMA2_OUT=y |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT2_DMA3_IN=y |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT2_DMA6_OUT is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT2_DMA7_IN is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_IN is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_OUT is not set |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT3=y |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT3_DMA2_OUT is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT3_DMA3_IN is not set |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT3_DMA4_OUT=y |  | ||||||
| CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN=y |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT3_DMA8_OUT is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT3_DMA9_IN is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_IN is not set |  | ||||||
| # CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_OUT is not set |  | ||||||
| CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=1 |  | ||||||
| # CONFIG_ETRAX_SOFT_SHUTDOWN is not set |  | ||||||
| # CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set |  | ||||||
| CONFIG_ETRAX_USB_HOST=y |  | ||||||
| CONFIG_ETRAX_USB_HOST_PORT1=y |  | ||||||
| CONFIG_ETRAX_USB_HOST_PORT2=y |  | ||||||
| # CONFIG_ETRAX_VCS_SIM is not set |  | ||||||
| # CONFIG_ETRAX_WATCHDOG is not set |  | ||||||
| CONFIG_EXT2_FS=y |  | ||||||
| CONFIG_FORCE_MAX_ZONEORDER=6 |  | ||||||
| CONFIG_GENERIC_FIND_NEXT_BIT=y |  | ||||||
| CONFIG_GENERIC_IOMAP=y |  | ||||||
| # CONFIG_GEN_RTC is not set |  | ||||||
| # CONFIG_HAMRADIO is not set |  | ||||||
| CONFIG_HAS_DMA=y |  | ||||||
| CONFIG_HAS_IOMEM=y |  | ||||||
| CONFIG_HAVE_IDE=y |  | ||||||
| # CONFIG_HAVE_KPROBES is not set |  | ||||||
| # CONFIG_HAVE_KRETPROBES is not set |  | ||||||
| # CONFIG_HAVE_OPROFILE is not set |  | ||||||
| # CONFIG_HW_RANDOM is not set |  | ||||||
| # CONFIG_I2C is not set |  | ||||||
| # CONFIG_IDE is not set |  | ||||||
| CONFIG_INITRAMFS_SOURCE="" |  | ||||||
| CONFIG_MTDRAM_ABS_POS=0x0 |  | ||||||
| CONFIG_MTDRAM_ERASE_SIZE=128 |  | ||||||
| CONFIG_MTDRAM_TOTAL_SIZE=0 |  | ||||||
| # CONFIG_MTD_CFI_INTELEXT is not set |  | ||||||
| CONFIG_MTD_CONCAT=y |  | ||||||
| CONFIG_MTD_MTDRAM=y |  | ||||||
| # CONFIG_NETDEV_1000 is not set |  | ||||||
| CONFIG_NO_IOPORT=y |  | ||||||
| # CONFIG_OOM_REBOOT is not set |  | ||||||
| # CONFIG_RTC is not set |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |  | ||||||
| # CONFIG_SERIAL_8250 is not set |  | ||||||
| CONFIG_SLABINFO=y |  | ||||||
| # CONFIG_SVINTO_SIM is not set |  | ||||||
| # CONFIG_SYSTEM_PROFILER is not set |  | ||||||
| CONFIG_UID16=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| # CONFIG_USB_ARCH_HAS_EHCI is not set |  | ||||||
| # CONFIG_USB_ARCH_HAS_HCD is not set |  | ||||||
| # CONFIG_USB_ARCH_HAS_OHCI is not set |  | ||||||
| # CONFIG_VLAN_8021Q is not set |  | ||||||
| # CONFIG_WLAN_80211 is not set |  | ||||||
| @@ -1,49 +0,0 @@ | |||||||
| #ifndef _LINUX_ETRAXI2C_H |  | ||||||
| #define _LINUX_ETRAXI2C_H |  | ||||||
|  |  | ||||||
| /* etraxi2c _IOC_TYPE, bits 8 to 15 in ioctl cmd */ |  | ||||||
|  |  | ||||||
| #define ETRAXI2C_IOCTYPE 44 |  | ||||||
|  |  | ||||||
| /* supported ioctl _IOC_NR's */ |  | ||||||
|  |  | ||||||
| /* in write operations, the argument contains both i2c |  | ||||||
|  * slave, register and value. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| #define I2C_WRITEARG(slave, reg, value) (((slave) << 16) | ((reg) << 8) | (value)) |  | ||||||
| #define I2C_READARG(slave, reg) (((slave) << 16) | ((reg) << 8)) |  | ||||||
|  |  | ||||||
| #define I2C_ARGSLAVE(arg) ((arg) >> 16) |  | ||||||
| #define I2C_ARGREG(arg) (((arg) >> 8) & 0xff) |  | ||||||
| #define I2C_ARGVALUE(arg) ((arg) & 0xff) |  | ||||||
|  |  | ||||||
| #define I2C_WRITEREG    0x1   /* write to an I2C register */ |  | ||||||
| #define I2C_READREG     0x2   /* read from an I2C register */ |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| EXAMPLE usage: |  | ||||||
|  |  | ||||||
|     i2c_arg = I2C_WRITEARG(STA013_WRITE_ADDR, reg, val); |  | ||||||
|     ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_WRITEREG), i2c_arg); |  | ||||||
|  |  | ||||||
|     i2c_arg = I2C_READARG(STA013_READ_ADDR, reg); |  | ||||||
|     val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg); |  | ||||||
|  |  | ||||||
| */ |  | ||||||
|  |  | ||||||
| /* Extended part */ |  | ||||||
| #define I2C_READ        0x4     /* reads from I2C device */ |  | ||||||
| #define I2C_WRITE       0x3     /* writes to I2C device */ |  | ||||||
| #define I2C_WRITEREAD   0x5	    /* writes to I2C device where to start reading */ |  | ||||||
|  |  | ||||||
| typedef struct _I2C_DATA  |  | ||||||
| { |  | ||||||
|     unsigned char slave;        /* I2C address (8-bit representation) of slave device */ |  | ||||||
|     unsigned char wbuf[256];    /* Write buffer (length = 256 bytes) */ |  | ||||||
| 	unsigned int  wlen;         /* Number of bytes to write from wbuf[] */    |  | ||||||
| 	unsigned char rbuf[256];    /* Read buffer (length = 256 bytes) */ |  | ||||||
|     unsigned int  rlen;         /* Number of bytes to read into rbuf[] */ |  | ||||||
| } I2C_DATA; |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
| @@ -1,20 +0,0 @@ | |||||||
| #ifndef _I2C_ERRNO_H |  | ||||||
| #define _I2C_ERRNO_H |  | ||||||
|  |  | ||||||
| #define EI2CNOERRORS  0     /* All fine */ |  | ||||||
| #define EI2CBUSNFREE  1     /* I2C bus not free */ |  | ||||||
| #define EI2CWADDRESS  2     /* Address write failed */ |  | ||||||
| #define EI2CRADDRESS  3     /* Address read failed */ |  | ||||||
| #define EI2CSENDDATA  4     /* Sending data failed */ |  | ||||||
| #define EI2CRECVDATA  5     /* Receiving data failed */ |  | ||||||
| #define EI2CSTRTCOND  6     /* Start condition failed */ |  | ||||||
| #define EI2CRSTACOND  7     /* Repeated start condition failed */ |  | ||||||
| #define EI2CSTOPCOND  8     /* Stop condition failed */ |  | ||||||
| #define EI2CNOSNDBYT  9     /* Number of send bytes is 0, while there's a send buffer defined */  |  | ||||||
| #define EI2CNOSNDBUF  10    /* No send buffer defined, while number of send bytes is not 0 */ |  | ||||||
| #define EI2CNORCVBYT  11    /* Number of receive bytes is 0, while there's a receive buffer defined */ |  | ||||||
| #define EI2CNORCVBUF  12    /* No receive buffer defined, while number of receive bytes is not 0 */ |  | ||||||
| #define EI2CNOACKNLD  13    /* No acknowledge received from slave */ |  | ||||||
| #define EI2CNOMNUMBR  14    /* No MAJOR number received from kernel while registering the device */ |  | ||||||
|  |  | ||||||
| #endif /* _I2C_ERRNO_H */ |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,30 +0,0 @@ | |||||||
| #ifndef _I2C_H |  | ||||||
| #define _I2C_H |  | ||||||
|  |  | ||||||
| int i2c_init(void); |  | ||||||
|  |  | ||||||
| /* High level I2C actions */ |  | ||||||
| int i2c_writereg(unsigned char theSlave, unsigned char theReg, unsigned char theValue); |  | ||||||
| unsigned char i2c_readreg(unsigned char theSlave, unsigned char theReg); |  | ||||||
|  |  | ||||||
| /* Low level I2C */ |  | ||||||
| int i2c_start(void); |  | ||||||
| int i2c_stop(void); |  | ||||||
| int i2c_outbyte(unsigned char x); |  | ||||||
| unsigned char i2c_inbyte(void); |  | ||||||
| int i2c_getack(void); |  | ||||||
| void i2c_sendack(void); |  | ||||||
| void i2c_sendnack(void); |  | ||||||
|  |  | ||||||
| /**GVC**/ |  | ||||||
| /* New low level I2C functions */ |  | ||||||
| int i2c_read( unsigned char slave, unsigned char* rbuf, unsigned char rlen ); |  | ||||||
| int i2c_write( unsigned char slave, unsigned char* wbuf, unsigned char wlen ); |  | ||||||
| int i2c_writeread( unsigned char  slave |  | ||||||
|                  , unsigned char* wbuf |  | ||||||
|                  , unsigned char  wlen |  | ||||||
|                  , unsigned char* rbuf |  | ||||||
|                  , unsigned char  rlen |  | ||||||
|                  ); |  | ||||||
| /**END GVC**/ |  | ||||||
| #endif /* _I2C_H */ |  | ||||||
| @@ -1,141 +0,0 @@ | |||||||
|  |  | ||||||
| /* macros for debug output */ |  | ||||||
|  |  | ||||||
| #define hcd_dbg(hcd, fmt, args...) \ |  | ||||||
| 	dev_info(hcd->self.controller, fmt, ## args) |  | ||||||
| #define hcd_err(hcd, fmt, args...) \ |  | ||||||
| 	dev_err(hcd->self.controller, fmt, ## args) |  | ||||||
| #define hcd_info(hcd, fmt, args...) \ |  | ||||||
| 	dev_info(hcd->self.controller, fmt, ## args) |  | ||||||
| #define hcd_warn(hcd, fmt, args...) \ |  | ||||||
| 	dev_warn(hcd->self.controller, fmt, ## args) |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| #define devdrv_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "usb_devdrv dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define devdrv_dbg(fmt, args...) {} |  | ||||||
|  |  | ||||||
| #define devdrv_err(fmt, args...) \ |  | ||||||
|         printk(KERN_ERR "usb_devdrv error: ");printk(fmt, ## args) |  | ||||||
| #define devdrv_info(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "usb_devdrv: ");printk(fmt, ## args) |  | ||||||
|  |  | ||||||
| #define irq_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_irq dbg: ");printk(fmt, ## args) |  | ||||||
| #define irq_err(fmt, args...) \ |  | ||||||
|         printk(KERN_ERR "crisv10_irq error: ");printk(fmt, ## args) |  | ||||||
| #define irq_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_irq warn: ");printk(fmt, ## args) |  | ||||||
| #define irq_info(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_hcd: ");printk(fmt, ## args) |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| #define rh_dbg(fmt, args...) \ |  | ||||||
|   printk(KERN_DEBUG "crisv10_rh dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define rh_dbg(fmt, args...) {} |  | ||||||
|  |  | ||||||
| #define rh_err(fmt, args...) \ |  | ||||||
|         printk(KERN_ERR "crisv10_rh error: ");printk(fmt, ## args) |  | ||||||
| #define rh_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_rh warning: ");printk(fmt, ## args) |  | ||||||
| #define rh_info(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_rh: ");printk(fmt, ## args) |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| #define tc_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_tc dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define tc_dbg(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
| #define tc_err(fmt, args...) \ |  | ||||||
|         printk(KERN_ERR "crisv10_tc error: ");printk(fmt, ## args) |  | ||||||
| /* |  | ||||||
| #define tc_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_tc warning: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define tc_warn(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
| #define tc_info(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_tc: ");printk(fmt, ## args) |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Debug print-outs for various traffic types */ |  | ||||||
|  |  | ||||||
| #define intr_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_intr warning: ");printk(fmt, ## args) |  | ||||||
| /* |  | ||||||
| #define intr_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_DEBUG "crisv10_intr dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define intr_dbg(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #define isoc_err(fmt, args...) \ |  | ||||||
|         printk(KERN_ERR "crisv10_isoc error: ");printk(fmt, ## args) |  | ||||||
| /* |  | ||||||
| #define isoc_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_isoc warning: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define isoc_warn(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| #define isoc_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_isoc dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define isoc_dbg(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| #define timer_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_timer warning: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define timer_warn(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
| /* |  | ||||||
| #define timer_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_timer dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define timer_dbg(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Debug printouts for events related to late finishing of URBs */ |  | ||||||
| /* |  | ||||||
| #define late_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_late dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define late_dbg(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
| #define late_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_late warning: ");printk(fmt, ## args) |  | ||||||
| /* |  | ||||||
| #define errno_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_errno dbg: ");printk(fmt, ## args) |  | ||||||
| */ |  | ||||||
| #define errno_dbg(fmt, args...) {while(0){}} |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #define dma_dbg(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_dma dbg: ");printk(fmt, ## args) |  | ||||||
| #define dma_err(fmt, args...) \ |  | ||||||
|         printk(KERN_ERR "crisv10_dma error: ");printk(fmt, ## args) |  | ||||||
| #define dma_warn(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_dma warning: ");printk(fmt, ## args) |  | ||||||
| #define dma_info(fmt, args...) \ |  | ||||||
|         printk(KERN_INFO "crisv10_dma: ");printk(fmt, ## args) |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #define str_dir(pipe) \ |  | ||||||
| 	(usb_pipeout(pipe) ? "out" : "in") |  | ||||||
| #define str_type(pipe) \ |  | ||||||
| 	({								\ |  | ||||||
| 		char *s = "?";						\ |  | ||||||
| 		switch (usb_pipetype(pipe)) {				\ |  | ||||||
| 		case PIPE_ISOCHRONOUS:	s = "iso";  break;		\ |  | ||||||
| 		case PIPE_INTERRUPT:	s = "intr"; break;		\ |  | ||||||
| 		case PIPE_CONTROL:	s = "ctrl"; break;		\ |  | ||||||
| 		case PIPE_BULK:		s = "bulk"; break;		\ |  | ||||||
| 		};							\ |  | ||||||
| 		s;							\ |  | ||||||
| 	}) |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,333 +0,0 @@ | |||||||
| #ifndef __LINUX_ETRAX_USB_H |  | ||||||
| #define __LINUX_ETRAX_USB_H |  | ||||||
|  |  | ||||||
| #include <linux/types.h> |  | ||||||
| #include <linux/list.h> |  | ||||||
|  |  | ||||||
| struct USB_IN_Desc { |  | ||||||
|   volatile __u16 sw_len; |  | ||||||
|   volatile __u16 command; |  | ||||||
|   volatile unsigned long next; |  | ||||||
|   volatile unsigned long buf; |  | ||||||
|   volatile __u16 hw_len; |  | ||||||
|   volatile __u16 status; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| struct USB_SB_Desc { |  | ||||||
|   volatile __u16 sw_len; |  | ||||||
|   volatile __u16 command; |  | ||||||
|   volatile unsigned long next; |  | ||||||
|   volatile unsigned long buf; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| struct USB_EP_Desc { |  | ||||||
|   volatile __u16 hw_len; |  | ||||||
|   volatile __u16 command; |  | ||||||
|   volatile unsigned long sub; |  | ||||||
|   volatile unsigned long next; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Root Hub port status struct */ |  | ||||||
| struct crisv10_rh { |  | ||||||
|   volatile __u16 wPortChange[2]; |  | ||||||
|   volatile __u16 wPortStatusPrev[2]; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| /* HCD description */ |  | ||||||
| struct crisv10_hcd { |  | ||||||
|   spinlock_t		lock; |  | ||||||
|   __u8			num_ports; |  | ||||||
|   __u8                  running; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Endpoint HC private data description */ |  | ||||||
| struct crisv10_ep_priv { |  | ||||||
|   int epid; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| /* Additional software state info for a USB Controller epid */ |  | ||||||
| struct etrax_epid { |  | ||||||
|   __u8 inuse;       /* !0 = setup in Etrax and used for a endpoint */ |  | ||||||
|   __u8 disabled;    /* !0 = Temporarly disabled to avoid resubmission */ |  | ||||||
|   __u8 type;        /* Setup as: PIPE_BULK, PIPE_CONTROL ... */ |  | ||||||
|   __u8 out_traffic; /* !0 = This epid is for out traffic */ |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| /* Struct to hold information of scheduled later URB completion */ |  | ||||||
| struct urb_later_data { |  | ||||||
|   struct delayed_work dws; |  | ||||||
|   struct usb_hcd *hcd; |  | ||||||
|   struct urb *urb; |  | ||||||
|   int urb_num; |  | ||||||
|   int status; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| typedef enum { |  | ||||||
|   STARTED, |  | ||||||
|   NOT_STARTED, |  | ||||||
|   UNLINK, |  | ||||||
| } crisv10_urb_state_t; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| struct crisv10_urb_priv { |  | ||||||
|   /* Sequence number for this URB. Every new submited URB gets this from |  | ||||||
|      a incrementing counter. Used when a URB is scheduled for later finish to |  | ||||||
|      be sure that the intended URB hasn't already been completed (device |  | ||||||
|      drivers has a tendency to reuse URBs once they are completed, causing us |  | ||||||
|      to not be able to single old ones out only based on the URB pointer.) */ |  | ||||||
|   __u32 urb_num; |  | ||||||
|  |  | ||||||
|   /* The first_sb field is used for freeing all SB descriptors belonging |  | ||||||
|      to an urb. The corresponding ep descriptor's sub pointer cannot be |  | ||||||
|      used for this since the DMA advances the sub pointer as it processes |  | ||||||
|      the sb list. */ |  | ||||||
|   struct USB_SB_Desc *first_sb; |  | ||||||
|  |  | ||||||
|   /* The last_sb field referes to the last SB descriptor that belongs to |  | ||||||
|      this urb. This is important to know so we can free the SB descriptors |  | ||||||
|      that ranges between first_sb and last_sb. */ |  | ||||||
|   struct USB_SB_Desc *last_sb; |  | ||||||
|    |  | ||||||
|   /* The rx_offset field is used in ctrl and bulk traffic to keep track |  | ||||||
|      of the offset in the urb's transfer_buffer where incoming data should be |  | ||||||
|      copied to. */ |  | ||||||
|   __u32 rx_offset; |  | ||||||
|    |  | ||||||
|   /* Counter used in isochronous transfers to keep track of the |  | ||||||
|      number of packets received/transmitted.  */ |  | ||||||
|   __u32 isoc_packet_counter; |  | ||||||
|  |  | ||||||
|   /* Flag that marks if this Isoc Out URB has finished it's transfer. Used |  | ||||||
|      because several URBs can be finished before list is processed */ |  | ||||||
|   __u8  isoc_out_done; |  | ||||||
|    |  | ||||||
|   /* This field is used to pass information about the urb's current state |  | ||||||
|      between the various interrupt handlers (thus marked volatile). */ |  | ||||||
|   volatile crisv10_urb_state_t urb_state; |  | ||||||
|    |  | ||||||
|   /* In Ctrl transfers consist of (at least) 3 packets: SETUP, IN and ZOUT. |  | ||||||
|      When DMA8 sub-channel 2 has processed the SB list for this sequence we |  | ||||||
|      get a interrupt. We also get a interrupt for In transfers and which |  | ||||||
|      one of these interrupts that comes first depends of data size and device. |  | ||||||
|      To be sure that we have got both interrupts before we complete the URB |  | ||||||
|      we have these to flags that shows which part that has completed. |  | ||||||
|      We can then check when we get one of the interrupts that if the other has |  | ||||||
|      occured it's safe for us to complete the URB, otherwise we set appropriate |  | ||||||
|      flag and do the completion when we get the other interrupt. */ |  | ||||||
|   volatile unsigned char ctrl_zout_done; |  | ||||||
|   volatile unsigned char ctrl_rx_done; |  | ||||||
|  |  | ||||||
|   /* Connection between the submitted urb and ETRAX epid number */ |  | ||||||
|   __u8 epid; |  | ||||||
|    |  | ||||||
|   /* The rx_data_list field is used for periodic traffic, to hold |  | ||||||
|      received data for later processing in the the complete_urb functions, |  | ||||||
|      where the data us copied to the urb's transfer_buffer. Basically, we |  | ||||||
|      use this intermediate storage because we don't know when it's safe to |  | ||||||
|      reuse the transfer_buffer (FIXME?). */ |  | ||||||
|   struct list_head rx_data_list; |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   /* The interval time rounded up to closest 2^N */ |  | ||||||
|   int interval; |  | ||||||
|  |  | ||||||
|   /* Pool of EP descriptors needed if it's a INTR transfer. |  | ||||||
|      Amount of EPs in pool correspons to how many INTR that should |  | ||||||
|      be inserted in TxIntrEPList (max 128, defined by MAX_INTR_INTERVAL) */ |  | ||||||
|   struct USB_EP_Desc* intr_ep_pool[128]; |  | ||||||
|  |  | ||||||
|   /* The mount of EPs allocated for this INTR URB */ |  | ||||||
|   int intr_ep_pool_length; |  | ||||||
|  |  | ||||||
|   /* Pointer to info struct if URB is scheduled to be finished later */ |  | ||||||
|   struct urb_later_data* later_data; |  | ||||||
|  |  | ||||||
|   /* Allocated bandwidth for isochronous and interrupt traffic */ |  | ||||||
|   int bandwidth; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* This struct is for passing data from the top half to the bottom half irq |  | ||||||
|    handlers */ |  | ||||||
| struct crisv10_irq_reg { |  | ||||||
|   struct usb_hcd* hcd; |  | ||||||
|   __u32 r_usb_epid_attn; |  | ||||||
|   __u8 r_usb_status; |  | ||||||
|   __u16 r_usb_rh_port_status_1; |  | ||||||
|   __u16 r_usb_rh_port_status_2; |  | ||||||
|   __u32 r_usb_irq_mask_read; |  | ||||||
|   __u32 r_usb_fm_number; |  | ||||||
|   struct work_struct usb_bh; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* This struct is for passing data from the isoc top half to the isoc bottom |  | ||||||
|    half. */ |  | ||||||
| struct crisv10_isoc_complete_data { |  | ||||||
|   struct usb_hcd *hcd; |  | ||||||
|   struct urb *urb; |  | ||||||
|   struct work_struct usb_bh; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| /* Entry item for URB lists for each endpint */ |  | ||||||
| typedef struct urb_entry |  | ||||||
| { |  | ||||||
| 	struct urb *urb; |  | ||||||
| 	struct list_head list; |  | ||||||
| } urb_entry_t; |  | ||||||
|  |  | ||||||
| /* --------------------------------------------------------------------------- |  | ||||||
|    Virtual Root HUB |  | ||||||
|    ------------------------------------------------------------------------- */ |  | ||||||
| /* destination of request */ |  | ||||||
| #define RH_INTERFACE               0x01 |  | ||||||
| #define RH_ENDPOINT                0x02 |  | ||||||
| #define RH_OTHER                   0x03 |  | ||||||
|  |  | ||||||
| #define RH_CLASS                   0x20 |  | ||||||
| #define RH_VENDOR                  0x40 |  | ||||||
|  |  | ||||||
| /* Requests: bRequest << 8 | bmRequestType */ |  | ||||||
| #define RH_GET_STATUS           0x0080 |  | ||||||
| #define RH_CLEAR_FEATURE        0x0100 |  | ||||||
| #define RH_SET_FEATURE          0x0300 |  | ||||||
| #define RH_SET_ADDRESS		0x0500 |  | ||||||
| #define RH_GET_DESCRIPTOR	0x0680 |  | ||||||
| #define RH_SET_DESCRIPTOR       0x0700 |  | ||||||
| #define RH_GET_CONFIGURATION	0x0880 |  | ||||||
| #define RH_SET_CONFIGURATION	0x0900 |  | ||||||
| #define RH_GET_STATE            0x0280 |  | ||||||
| #define RH_GET_INTERFACE        0x0A80 |  | ||||||
| #define RH_SET_INTERFACE        0x0B00 |  | ||||||
| #define RH_SYNC_FRAME           0x0C80 |  | ||||||
| /* Our Vendor Specific Request */ |  | ||||||
| #define RH_SET_EP               0x2000 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /* Hub port features */ |  | ||||||
| #define RH_PORT_CONNECTION         0x00 |  | ||||||
| #define RH_PORT_ENABLE             0x01 |  | ||||||
| #define RH_PORT_SUSPEND            0x02 |  | ||||||
| #define RH_PORT_OVER_CURRENT       0x03 |  | ||||||
| #define RH_PORT_RESET              0x04 |  | ||||||
| #define RH_PORT_POWER              0x08 |  | ||||||
| #define RH_PORT_LOW_SPEED          0x09 |  | ||||||
| #define RH_C_PORT_CONNECTION       0x10 |  | ||||||
| #define RH_C_PORT_ENABLE           0x11 |  | ||||||
| #define RH_C_PORT_SUSPEND          0x12 |  | ||||||
| #define RH_C_PORT_OVER_CURRENT     0x13 |  | ||||||
| #define RH_C_PORT_RESET            0x14 |  | ||||||
|  |  | ||||||
| /* Hub features */ |  | ||||||
| #define RH_C_HUB_LOCAL_POWER       0x00 |  | ||||||
| #define RH_C_HUB_OVER_CURRENT      0x01 |  | ||||||
|  |  | ||||||
| #define RH_DEVICE_REMOTE_WAKEUP    0x00 |  | ||||||
| #define RH_ENDPOINT_STALL          0x01 |  | ||||||
|  |  | ||||||
| /* Our Vendor Specific feature */ |  | ||||||
| #define RH_REMOVE_EP               0x00 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #define RH_ACK                     0x01 |  | ||||||
| #define RH_REQ_ERR                 -1 |  | ||||||
| #define RH_NACK                    0x00 |  | ||||||
|  |  | ||||||
| /* Field definitions for */ |  | ||||||
|  |  | ||||||
| #define USB_IN_command__eol__BITNR      0 /* command macros */ |  | ||||||
| #define USB_IN_command__eol__WIDTH      1 |  | ||||||
| #define USB_IN_command__eol__no         0 |  | ||||||
| #define USB_IN_command__eol__yes        1 |  | ||||||
|  |  | ||||||
| #define USB_IN_command__intr__BITNR     3 |  | ||||||
| #define USB_IN_command__intr__WIDTH     1 |  | ||||||
| #define USB_IN_command__intr__no        0 |  | ||||||
| #define USB_IN_command__intr__yes       1 |  | ||||||
|  |  | ||||||
| #define USB_IN_status__eop__BITNR       1 /* status macros. */ |  | ||||||
| #define USB_IN_status__eop__WIDTH       1 |  | ||||||
| #define USB_IN_status__eop__no          0 |  | ||||||
| #define USB_IN_status__eop__yes         1 |  | ||||||
|  |  | ||||||
| #define USB_IN_status__eot__BITNR       5 |  | ||||||
| #define USB_IN_status__eot__WIDTH       1 |  | ||||||
| #define USB_IN_status__eot__no          0 |  | ||||||
| #define USB_IN_status__eot__yes         1 |  | ||||||
|  |  | ||||||
| #define USB_IN_status__error__BITNR     6 |  | ||||||
| #define USB_IN_status__error__WIDTH     1 |  | ||||||
| #define USB_IN_status__error__no        0 |  | ||||||
| #define USB_IN_status__error__yes       1 |  | ||||||
|  |  | ||||||
| #define USB_IN_status__nodata__BITNR    7 |  | ||||||
| #define USB_IN_status__nodata__WIDTH    1 |  | ||||||
| #define USB_IN_status__nodata__no       0 |  | ||||||
| #define USB_IN_status__nodata__yes      1 |  | ||||||
|  |  | ||||||
| #define USB_IN_status__epid__BITNR      8 |  | ||||||
| #define USB_IN_status__epid__WIDTH      5 |  | ||||||
|  |  | ||||||
| #define USB_EP_command__eol__BITNR      0 |  | ||||||
| #define USB_EP_command__eol__WIDTH      1 |  | ||||||
| #define USB_EP_command__eol__no         0 |  | ||||||
| #define USB_EP_command__eol__yes        1 |  | ||||||
|  |  | ||||||
| #define USB_EP_command__eof__BITNR      1 |  | ||||||
| #define USB_EP_command__eof__WIDTH      1 |  | ||||||
| #define USB_EP_command__eof__no         0 |  | ||||||
| #define USB_EP_command__eof__yes        1 |  | ||||||
|  |  | ||||||
| #define USB_EP_command__intr__BITNR     3 |  | ||||||
| #define USB_EP_command__intr__WIDTH     1 |  | ||||||
| #define USB_EP_command__intr__no        0 |  | ||||||
| #define USB_EP_command__intr__yes       1 |  | ||||||
|  |  | ||||||
| #define USB_EP_command__enable__BITNR   4 |  | ||||||
| #define USB_EP_command__enable__WIDTH   1 |  | ||||||
| #define USB_EP_command__enable__no      0 |  | ||||||
| #define USB_EP_command__enable__yes     1 |  | ||||||
|  |  | ||||||
| #define USB_EP_command__hw_valid__BITNR 5 |  | ||||||
| #define USB_EP_command__hw_valid__WIDTH 1 |  | ||||||
| #define USB_EP_command__hw_valid__no    0 |  | ||||||
| #define USB_EP_command__hw_valid__yes   1 |  | ||||||
|  |  | ||||||
| #define USB_EP_command__epid__BITNR     8 |  | ||||||
| #define USB_EP_command__epid__WIDTH     5 |  | ||||||
|  |  | ||||||
| #define USB_SB_command__eol__BITNR      0 /* command macros. */ |  | ||||||
| #define USB_SB_command__eol__WIDTH      1 |  | ||||||
| #define USB_SB_command__eol__no         0 |  | ||||||
| #define USB_SB_command__eol__yes        1 |  | ||||||
|  |  | ||||||
| #define USB_SB_command__eot__BITNR      1 |  | ||||||
| #define USB_SB_command__eot__WIDTH      1 |  | ||||||
| #define USB_SB_command__eot__no         0 |  | ||||||
| #define USB_SB_command__eot__yes        1 |  | ||||||
|  |  | ||||||
| #define USB_SB_command__intr__BITNR     3 |  | ||||||
| #define USB_SB_command__intr__WIDTH     1 |  | ||||||
| #define USB_SB_command__intr__no        0 |  | ||||||
| #define USB_SB_command__intr__yes       1 |  | ||||||
|  |  | ||||||
| #define USB_SB_command__tt__BITNR       4 |  | ||||||
| #define USB_SB_command__tt__WIDTH       2 |  | ||||||
| #define USB_SB_command__tt__zout        0 |  | ||||||
| #define USB_SB_command__tt__in          1 |  | ||||||
| #define USB_SB_command__tt__out         2 |  | ||||||
| #define USB_SB_command__tt__setup       3 |  | ||||||
|  |  | ||||||
|  |  | ||||||
| #define USB_SB_command__rem__BITNR      8 |  | ||||||
| #define USB_SB_command__rem__WIDTH      6 |  | ||||||
|  |  | ||||||
| #define USB_SB_command__full__BITNR     6 |  | ||||||
| #define USB_SB_command__full__WIDTH     1 |  | ||||||
| #define USB_SB_command__full__no        0 |  | ||||||
| #define USB_SB_command__full__yes       1 |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
| @@ -1,74 +0,0 @@ | |||||||
| Index: linux-2.6.25.16/arch/cris/arch-v10/drivers/ds1302.c |  | ||||||
| =================================================================== |  | ||||||
| --- linux-2.6.25.16.o/arch/cris/arch-v10/drivers/ds1302.c	2008-10-26 15:54:02.000000000 +0100 |  | ||||||
| +++ linux-2.6.25.16/arch/cris/arch-v10/drivers/ds1302.c	2008-10-26 15:59:37.000000000 +0100 |  | ||||||
| @@ -21,6 +21,7 @@ |  | ||||||
|  #include <linux/delay.h> |  | ||||||
|  #include <linux/bcd.h> |  | ||||||
|  #include <linux/capability.h> |  | ||||||
| +#include <linux/device.h> |  | ||||||
|   |  | ||||||
|  #include <asm/uaccess.h> |  | ||||||
|  #include <asm/system.h> |  | ||||||
| @@ -489,6 +490,10 @@ |  | ||||||
|  	return 0; |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| +#ifdef CONFIG_SYSFS |  | ||||||
| +static struct class *rtc_class; |  | ||||||
| +#endif |  | ||||||
| + |  | ||||||
|  static int __init ds1302_register(void) |  | ||||||
|  { |  | ||||||
|  	ds1302_init(); |  | ||||||
| @@ -497,6 +502,12 @@ |  | ||||||
|  		       ds1302_name, RTC_MAJOR_NR); |  | ||||||
|  		return -1; |  | ||||||
|  	} |  | ||||||
| +	#ifdef CONFIG_SYSFS |  | ||||||
| +	rtc_class = class_create(THIS_MODULE, "rtc"); |  | ||||||
| +	class_device_create(rtc_class, NULL, MKDEV(RTC_MAJOR_NR, 0), |  | ||||||
| +		NULL, "rtc"); |  | ||||||
| +	#endif |  | ||||||
| + |  | ||||||
|          return 0; |  | ||||||
|   |  | ||||||
|  } |  | ||||||
| Index: linux-2.6.25.16/arch/cris/arch-v10/drivers/gpio.c |  | ||||||
| =================================================================== |  | ||||||
| --- linux-2.6.25.16.o/arch/cris/arch-v10/drivers/gpio.c	2008-10-26 15:56:28.000000000 +0100 |  | ||||||
| +++ linux-2.6.25.16/arch/cris/arch-v10/drivers/gpio.c	2008-10-26 15:57:41.000000000 +0100 |  | ||||||
| @@ -20,6 +20,7 @@ |  | ||||||
|  #include <linux/poll.h> |  | ||||||
|  #include <linux/init.h> |  | ||||||
|  #include <linux/interrupt.h> |  | ||||||
| +#include <linux/device.h> |  | ||||||
|   |  | ||||||
|  #include <asm/etraxgpio.h> |  | ||||||
|  #include <asm/arch/svinto.h> |  | ||||||
| @@ -768,6 +769,10 @@ |  | ||||||
|   |  | ||||||
|  /* main driver initialization routine, called from mem.c */ |  | ||||||
|   |  | ||||||
| +#ifdef CONFIG_SYSFS |  | ||||||
| +static struct class *gpio_class; |  | ||||||
| +#endif |  | ||||||
| + |  | ||||||
|  static int __init gpio_init(void) |  | ||||||
|  { |  | ||||||
|  	int res; |  | ||||||
| @@ -781,6 +786,13 @@ |  | ||||||
|  		return res; |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| +#ifdef CONFIG_SYSFS |  | ||||||
| +	gpio_class = class_create(THIS_MODULE, "gpio"); |  | ||||||
| +	class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 0), NULL, "gpioa"); |  | ||||||
| +	class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 1), NULL, "gpiob"); |  | ||||||
| +	class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 2), NULL, "leds"); |  | ||||||
| +	class_device_create(gpio_class, NULL, MKDEV(GPIO_MAJOR, 3), NULL, "gpiog"); |  | ||||||
| +#endif |  | ||||||
|  	/* Clear all leds */ |  | ||||||
|  #if defined (CONFIG_ETRAX_CSP0_LEDS) ||  defined (CONFIG_ETRAX_PA_LEDS) || defined (CONFIG_ETRAX_PB_LEDS) |  | ||||||
|  	CRIS_LED_NETWORK_SET(0); |  | ||||||
|  |  | ||||||
| @@ -1,302 +0,0 @@ | |||||||
| --- a/arch/cris/Makefile |  | ||||||
| +++ b/arch/cris/Makefile |  | ||||||
| @@ -33,7 +33,7 @@ endif |  | ||||||
|   |  | ||||||
|  LD = $(CROSS_COMPILE)ld -mcrislinux |  | ||||||
|   |  | ||||||
| -OBJCOPYFLAGS := -O binary -R .note -R .comment -S |  | ||||||
| +OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S |  | ||||||
|   |  | ||||||
|  CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) |  | ||||||
|   |  | ||||||
| --- a/arch/cris/arch-v10/boot/Makefile |  | ||||||
| +++ b/arch/cris/arch-v10/boot/Makefile |  | ||||||
| @@ -2,9 +2,6 @@ |  | ||||||
|  # arch/cris/arch-v10/boot/Makefile |  | ||||||
|  # |  | ||||||
|   |  | ||||||
| -OBJCOPY = objcopy-cris |  | ||||||
| -OBJCOPYFLAGS = -O binary --remove-section=.bss |  | ||||||
| - |  | ||||||
|  subdir- := compressed rescue |  | ||||||
|  targets := Image |  | ||||||
|   |  | ||||||
| @@ -14,7 +11,6 @@ $(obj)/Image: vmlinux FORCE |  | ||||||
|   |  | ||||||
|  $(obj)/compressed/vmlinux: $(obj)/Image FORCE |  | ||||||
|  	$(Q)$(MAKE) $(build)=$(obj)/compressed $@ |  | ||||||
| -	$(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin |  | ||||||
|   |  | ||||||
|  $(obj)/zImage:  $(obj)/compressed/vmlinux |  | ||||||
|  	@cp $< $@ |  | ||||||
| --- a/arch/cris/arch-v10/boot/compressed/Makefile |  | ||||||
| +++ b/arch/cris/arch-v10/boot/compressed/Makefile |  | ||||||
| @@ -2,13 +2,9 @@ |  | ||||||
|  # arch/cris/arch-v10/boot/compressed/Makefile |  | ||||||
|  # |  | ||||||
|   |  | ||||||
| -CC = gcc-cris -melf $(LINUXINCLUDE) |  | ||||||
|  ccflags-y += -O2 |  | ||||||
| -LD = ld-cris |  | ||||||
|  ldflags-y += -T $(obj)/decompress.ld |  | ||||||
|  OBJECTS = $(obj)/head.o $(obj)/misc.o |  | ||||||
| -OBJCOPY = objcopy-cris |  | ||||||
| -OBJCOPYFLAGS = -O binary --remove-section=.bss |  | ||||||
|   |  | ||||||
|  quiet_cmd_image = BUILD   $@ |  | ||||||
|  cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@ |  | ||||||
| @@ -21,12 +17,6 @@ |  | ||||||
|  $(obj)/decompress.bin: $(obj)/decompress.o FORCE |  | ||||||
|  	$(call if_changed,objcopy) |  | ||||||
|   |  | ||||||
| -$(obj)/head.o: $(obj)/head.S .config |  | ||||||
| -	@$(CC) -D__ASSEMBLY__ -traditional -c $< -o $@ |  | ||||||
| - |  | ||||||
| -$(obj)/misc.o: $(obj)/misc.c .config |  | ||||||
| -	@$(CC) -D__KERNEL__ -c $< -o $@ |  | ||||||
| - |  | ||||||
|  $(obj)/vmlinux: $(obj)/piggy.gz $(obj)/decompress.bin FORCE |  | ||||||
|  	$(call if_changed,image) |  | ||||||
|   |  | ||||||
| --- a/arch/cris/arch-v10/boot/compressed/decompress.ld |  | ||||||
| +++ b/arch/cris/arch-v10/boot/compressed/decompress.ld |  | ||||||
| @@ -1,4 +1,4 @@ |  | ||||||
| -OUTPUT_FORMAT(elf32-us-cris) |  | ||||||
| +OUTPUT_FORMAT(elf32-cris) |  | ||||||
|   |  | ||||||
|  MEMORY  |  | ||||||
|  	{ |  | ||||||
| --- a/arch/cris/arch-v10/boot/compressed/head.S |  | ||||||
| +++ b/arch/cris/arch-v10/boot/compressed/head.S |  | ||||||
| @@ -10,13 +10,14 @@ |  | ||||||
|   |  | ||||||
|  #define ASSEMBLER_MACROS_ONLY |  | ||||||
|  #include <asm/arch/sv_addr_ag.h> |  | ||||||
| +#include <linux/autoconf.h> |  | ||||||
|   |  | ||||||
|  #define RAM_INIT_MAGIC 0x56902387 |  | ||||||
|  #define COMMAND_LINE_MAGIC 0x87109563 |  | ||||||
|   |  | ||||||
|  	;; Exported symbols |  | ||||||
|  	 |  | ||||||
| -	.globl	_input_data |  | ||||||
| +	.globl	input_data |  | ||||||
|   |  | ||||||
|  	 |  | ||||||
|  	.text |  | ||||||
| @@ -26,7 +27,7 @@ |  | ||||||
|   |  | ||||||
|  ;; We need to initialze DRAM registers before we start using the DRAM |  | ||||||
|  	 |  | ||||||
| -	cmp.d	RAM_INIT_MAGIC, r8	; Already initialized? |  | ||||||
| +	cmp.d	RAM_INIT_MAGIC, $r8	; Already initialized? |  | ||||||
|  	beq	dram_init_finished |  | ||||||
|  	nop |  | ||||||
|  	 |  | ||||||
| @@ -36,91 +37,91 @@ dram_init_finished:	 |  | ||||||
|  		 |  | ||||||
|  	;; Initiate the PA and PB ports |  | ||||||
|   |  | ||||||
| -	move.b   CONFIG_ETRAX_DEF_R_PORT_PA_DATA, r0 |  | ||||||
| -	move.b   r0, [R_PORT_PA_DATA] |  | ||||||
| +	move.b   CONFIG_ETRAX_DEF_R_PORT_PA_DATA, $r0 |  | ||||||
| +	move.b   $r0, [R_PORT_PA_DATA] |  | ||||||
|   |  | ||||||
| -	move.b   CONFIG_ETRAX_DEF_R_PORT_PA_DIR, r0 |  | ||||||
| -	move.b   r0, [R_PORT_PA_DIR] |  | ||||||
| +	move.b   CONFIG_ETRAX_DEF_R_PORT_PA_DIR, $r0 |  | ||||||
| +	move.b   $r0, [R_PORT_PA_DIR] |  | ||||||
|   |  | ||||||
| -	move.b   CONFIG_ETRAX_DEF_R_PORT_PB_DATA, r0 |  | ||||||
| -	move.b   r0, [R_PORT_PB_DATA] |  | ||||||
| +	move.b   CONFIG_ETRAX_DEF_R_PORT_PB_DATA, $r0 |  | ||||||
| +	move.b   $r0, [R_PORT_PB_DATA] |  | ||||||
|   |  | ||||||
| -	move.b   CONFIG_ETRAX_DEF_R_PORT_PB_DIR, r0 |  | ||||||
| -	move.b   r0, [R_PORT_PB_DIR] |  | ||||||
| +	move.b   CONFIG_ETRAX_DEF_R_PORT_PB_DIR, $r0 |  | ||||||
| +	move.b   $r0, [R_PORT_PB_DIR] |  | ||||||
|   |  | ||||||
|  	;; Setup the stack to a suitably high address. |  | ||||||
|  	;; We assume 8 MB is the minimum DRAM in an eLinux |  | ||||||
|  	;; product and put the sp at the top for now. |  | ||||||
|   |  | ||||||
| -	move.d	0x40800000, sp |  | ||||||
| +	move.d	0x40800000, $sp |  | ||||||
|   |  | ||||||
|  	;; Figure out where the compressed piggyback image is |  | ||||||
|  	;; in the flash (since we wont try to copy it to DRAM |  | ||||||
|  	;; before unpacking). It is at _edata, but in flash. |  | ||||||
|  	;; Use (_edata - basse) as offset to the current PC. |  | ||||||
|  	 |  | ||||||
| -basse:	move.d	pc, r5 |  | ||||||
| -	and.d	0x7fffffff, r5	; strip any non-cache bit |  | ||||||
| -	subq	2, r5		; compensate for the move.d pc instr |  | ||||||
| -	move.d	r5, r0		; save for later - flash address of 'basse' |  | ||||||
| -	add.d	_edata, r5 |  | ||||||
| -	sub.d	basse, r5	; r5 = flash address of '_edata' |  | ||||||
| +basse:	move.d	$pc, $r5 |  | ||||||
| +	and.d	0x7fffffff, $r5	; strip any non-cache bit |  | ||||||
| +	subq	2, $r5		; compensate for the move.d pc instr |  | ||||||
| +	move.d	$r5, $r0		; save for later - flash address of 'basse' |  | ||||||
| +	add.d	_edata, $r5 |  | ||||||
| +	sub.d	basse, $r5	; r5 = flash address of '_edata' |  | ||||||
|  	 |  | ||||||
|  	;; Copy text+data to DRAM |  | ||||||
|  	 |  | ||||||
| -	move.d	basse, r1	; destination |  | ||||||
| -	move.d	_edata, r2	; end destination |  | ||||||
| -1:	move.w	[r0+], r3 |  | ||||||
| -	move.w	r3, [r1+] |  | ||||||
| -	cmp.d	r2, r1 |  | ||||||
| +	move.d	basse, $r1	; destination |  | ||||||
| +	move.d	_edata, $r2	; end destination |  | ||||||
| +1:	move.w	[$r0+], $r3 |  | ||||||
| +	move.w	$r3, [$r1+] |  | ||||||
| +	cmp.d	$r2, $r1 |  | ||||||
|  	bcs	1b |  | ||||||
|  	nop |  | ||||||
|   |  | ||||||
| -	move.d	r5, [_input_data] ; for the decompressor |  | ||||||
| +	move.d	$r5, [input_data] ; for the decompressor |  | ||||||
|   |  | ||||||
|   |  | ||||||
|  	;; Clear the decompressors BSS (between _edata and _end) |  | ||||||
|  	 |  | ||||||
| -	moveq	0, r0 |  | ||||||
| -	move.d	_edata, r1 |  | ||||||
| -	move.d	_end, r2 |  | ||||||
| -1:	move.w	r0, [r1+] |  | ||||||
| -	cmp.d	r2, r1 |  | ||||||
| +	moveq	0, $r0 |  | ||||||
| +	move.d	_edata, $r1 |  | ||||||
| +	move.d	_end, $r2 |  | ||||||
| +1:	move.w	$r0, [$r1+] |  | ||||||
| +	cmp.d	$r2, $r1 |  | ||||||
|  	bcs	1b |  | ||||||
|  	nop |  | ||||||
|   |  | ||||||
|  	;;  Save command line magic and address. |  | ||||||
| -	move.d	_cmd_line_magic, $r12 |  | ||||||
| +	move.d	cmd_line_magic, $r12 |  | ||||||
|  	move.d  $r10, [$r12] |  | ||||||
| -	move.d	_cmd_line_addr, $r12 |  | ||||||
| +	move.d	cmd_line_addr, $r12 |  | ||||||
|  	move.d  $r11, [$r12] |  | ||||||
|  	 |  | ||||||
|  	;; Do the decompression and save compressed size in _inptr |  | ||||||
|   |  | ||||||
| -	jsr	_decompress_kernel |  | ||||||
| +	jsr	decompress_kernel |  | ||||||
|  	 |  | ||||||
|  	;; Put start address of root partition in r9 so the kernel can use it |  | ||||||
|  	;; when mounting from flash |  | ||||||
|   |  | ||||||
| -	move.d	[_input_data], r9	; flash address of compressed kernel |  | ||||||
| -	add.d	[_inptr], r9		; size of compressed kernel |  | ||||||
| +	move.d	[input_data], $r9	; flash address of compressed kernel |  | ||||||
| +	add.d	[inptr], $r9		; size of compressed kernel |  | ||||||
|   |  | ||||||
|  	;; Restore command line magic and address. |  | ||||||
| -	move.d  _cmd_line_magic, $r10 |  | ||||||
| +	move.d  cmd_line_magic, $r10 |  | ||||||
|  	move.d  [$r10], $r10 |  | ||||||
| -	move.d  _cmd_line_addr, $r11 |  | ||||||
| +	move.d  cmd_line_addr, $r11 |  | ||||||
|  	move.d  [$r11], $r11 |  | ||||||
|   |  | ||||||
|  	;; Enter the decompressed kernel |  | ||||||
| -	move.d	RAM_INIT_MAGIC, r8	; Tell kernel that DRAM is initialized |  | ||||||
| +	move.d	RAM_INIT_MAGIC, $r8	; Tell kernel that DRAM is initialized |  | ||||||
|  	jump	0x40004000	; kernel is linked to this address |  | ||||||
|  	 |  | ||||||
|  	.data |  | ||||||
|   |  | ||||||
| -_input_data: |  | ||||||
| +input_data: |  | ||||||
|  	.dword	0		; used by the decompressor |  | ||||||
| -_cmd_line_magic: |  | ||||||
| +cmd_line_magic: |  | ||||||
|  	.dword 0 |  | ||||||
| -_cmd_line_addr: |  | ||||||
| +cmd_line_addr: |  | ||||||
|  	.dword 0 |  | ||||||
|  #include "../../lib/hw_settings.S" |  | ||||||
| --- a/arch/cris/arch-v10/boot/compressed/misc.c |  | ||||||
| +++ b/arch/cris/arch-v10/boot/compressed/misc.c |  | ||||||
| @@ -5,7 +5,7 @@ |  | ||||||
|   * adapted for Linux. |  | ||||||
|   * |  | ||||||
|   * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994 |  | ||||||
| - * puts by Nick Holloway 1993, better puts by Martin Mares 1995 |  | ||||||
| + * putstr by Nick Holloway 1993, better putstr by Martin Mares 1995 |  | ||||||
|   * adaptation for Linux/CRIS Axis Communications AB, 1999 |  | ||||||
|   * |  | ||||||
|   */ |  | ||||||
| @@ -99,12 +99,12 @@ static void error(char *m); |  | ||||||
|  static void gzip_mark(void **); |  | ||||||
|  static void gzip_release(void **); |  | ||||||
|    |  | ||||||
| -static void puts(const char *); |  | ||||||
| +static void putstr(const char *); |  | ||||||
|   |  | ||||||
|  /* the "heap" is put directly after the BSS ends, at end */ |  | ||||||
|     |  | ||||||
| -extern int end; |  | ||||||
| -static long free_mem_ptr = (long)&end; |  | ||||||
| +extern int _end; |  | ||||||
| +static long free_mem_ptr = (long)&_end; |  | ||||||
|    |  | ||||||
|  #include "../../../../../lib/inflate.c" |  | ||||||
|   |  | ||||||
| @@ -139,7 +139,7 @@ static void gzip_release(void **ptr) |  | ||||||
|  /* decompressor info and error messages to serial console */ |  | ||||||
|   |  | ||||||
|  static void |  | ||||||
| -puts(const char *s) |  | ||||||
| +putstr(const char *s) |  | ||||||
|  { |  | ||||||
|  #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL |  | ||||||
|  	while(*s) { |  | ||||||
| @@ -209,9 +209,9 @@ flush_window() |  | ||||||
|  static void |  | ||||||
|  error(char *x) |  | ||||||
|  { |  | ||||||
| -	puts("\n\n"); |  | ||||||
| -	puts(x); |  | ||||||
| -	puts("\n\n -- System halted\n"); |  | ||||||
| +	putstr("\n\n"); |  | ||||||
| +	putstr(x); |  | ||||||
| +	putstr("\n\n -- System halted\n"); |  | ||||||
|   |  | ||||||
|  	while(1);	/* Halt */ |  | ||||||
|  } |  | ||||||
| @@ -257,14 +257,7 @@ decompress_kernel() |  | ||||||
|   |  | ||||||
|  	makecrc(); |  | ||||||
|   |  | ||||||
| -	__asm__ volatile ("move vr,%0" : "=rm" (revision)); |  | ||||||
| -	if (revision < 10) |  | ||||||
| -	{ |  | ||||||
| -		puts("You need an ETRAX 100LX to run linux 2.6\n"); |  | ||||||
| -		while(1); |  | ||||||
| -	} |  | ||||||
| - |  | ||||||
| -	puts("Uncompressing Linux...\n"); |  | ||||||
| +	putstr("Uncompressing Linux...\n"); |  | ||||||
|  	gunzip(); |  | ||||||
| -	puts("Done. Now booting the kernel.\n"); |  | ||||||
| +	putstr("Done. Now booting the kernel.\n"); |  | ||||||
|  } |  | ||||||
| --- a/arch/cris/arch-v10/mm/init.c |  | ||||||
| +++ b/arch/cris/arch-v10/mm/init.c |  | ||||||
| @@ -184,6 +184,9 @@ paging_init(void) |  | ||||||
|   |  | ||||||
|  	free_area_init_node(0, &contig_page_data, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0); |  | ||||||
|  } |  | ||||||
| +void free_initrd_mem(unsigned long start, unsigned long end) |  | ||||||
| +{ |  | ||||||
| +} |  | ||||||
|   |  | ||||||
|  /* Initialize remaps of some I/O-ports. It is important that this |  | ||||||
|   * is called before any driver is initialized. |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| --- a/drivers/net/cris/eth_v10.c |  | ||||||
| +++ b/drivers/net/cris/eth_v10.c |  | ||||||
| @@ -1707,7 +1707,7 @@ e100_set_network_leds(int active) |  | ||||||
|  static void |  | ||||||
|  e100_netpoll(struct net_device* netdev) |  | ||||||
|  { |  | ||||||
| -	e100rxtx_interrupt(NETWORK_DMA_TX_IRQ_NBR, netdev, NULL); |  | ||||||
| +	e100rxtx_interrupt(NETWORK_DMA_TX_IRQ_NBR, netdev); |  | ||||||
|  } |  | ||||||
|  #endif |  | ||||||
|   |  | ||||||
| @@ -1,11 +0,0 @@ | |||||||
| --- a/include/asm-cris/Kbuild |  | ||||||
| +++ b/include/asm-cris/Kbuild |  | ||||||
| @@ -1,7 +1,6 @@ |  | ||||||
|  include include/asm-generic/Kbuild.asm |  | ||||||
|   |  | ||||||
| -header-$(CONFIG_ETRAX_ARCH_V10) += arch-v10/ |  | ||||||
| -header-$(CONFIG_ETRAX_ARCH_V32) += arch-v32/ |  | ||||||
| +header-y += arch-v10/ arch-v32/ |  | ||||||
|   |  | ||||||
|  header-y += ethernet.h |  | ||||||
|  header-y += rtc.h |  | ||||||
| @@ -1,13 +0,0 @@ | |||||||
| --- a/drivers/mtd/chips/cfi_cmdset_0002.c |  | ||||||
| +++ b/drivers/mtd/chips/cfi_cmdset_0002.c |  | ||||||
| @@ -297,8 +297,8 @@ struct mtd_info *cfi_cmdset_0002(struct  |  | ||||||
|  			return NULL; |  | ||||||
|  		} |  | ||||||
|   |  | ||||||
| -		if (extp->MajorVersion != '1' || |  | ||||||
| -		    (extp->MinorVersion < '0' || extp->MinorVersion > '4')) { |  | ||||||
| +		if (extp->MajorVersion < '0' || extp->MajorVersion > '3' || |  | ||||||
| +			(extp->MinorVersion < '0' || extp->MinorVersion > '4')) { |  | ||||||
|  		        if (cfi->mfr == MANUFACTURER_SAMSUNG && |  | ||||||
|  			    (extp->MajorVersion == '3' && extp->MinorVersion == '3')) { |  | ||||||
|  			    printk(KERN_NOTICE "  Newer Samsung flash detected, " |  | ||||||
| @@ -1,88 +0,0 @@ | |||||||
| --- a/arch/cris/arch-v10/lib/hw_settings.S |  | ||||||
| +++ b/arch/cris/arch-v10/lib/hw_settings.S |  | ||||||
| @@ -60,3 +60,5 @@ |  | ||||||
|  	.dword R_PORT_PB_SET |  | ||||||
|  	.dword PB_SET_VALUE |  | ||||||
|  	.dword 0 ; No more register values |  | ||||||
| +	.ascii "ACME_PART_MAGIC"  |  | ||||||
| +	.dword 0xdeadc0de |  | ||||||
| --- a/arch/cris/arch-v10/drivers/axisflashmap.c |  | ||||||
| +++ b/arch/cris/arch-v10/drivers/axisflashmap.c |  | ||||||
| @@ -113,7 +113,7 @@ static struct map_info map_cse1 = { |  | ||||||
|   |  | ||||||
|  /* If no partition-table was found, we use this default-set. */ |  | ||||||
|  #define MAX_PARTITIONS         7 |  | ||||||
| -#define NUM_DEFAULT_PARTITIONS 3 |  | ||||||
| +#define NUM_DEFAULT_PARTITIONS 2 |  | ||||||
|   |  | ||||||
|  /* |  | ||||||
|   * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the |  | ||||||
| @@ -122,19 +122,14 @@ static struct map_info map_cse1 = { |  | ||||||
|   */ |  | ||||||
|  static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = { |  | ||||||
|  	{ |  | ||||||
| -		.name = "boot firmware", |  | ||||||
| -		.size = CONFIG_ETRAX_PTABLE_SECTOR, |  | ||||||
| -		.offset = 0 |  | ||||||
| -	}, |  | ||||||
| -	{ |  | ||||||
|  		.name = "kernel", |  | ||||||
| -		.size = 0x200000 - (6 * CONFIG_ETRAX_PTABLE_SECTOR), |  | ||||||
| -		.offset = CONFIG_ETRAX_PTABLE_SECTOR |  | ||||||
| +		.size = 0x00, |  | ||||||
| +		.offset = 0 |  | ||||||
|  	}, |  | ||||||
|  	{ |  | ||||||
| -		.name = "filesystem", |  | ||||||
| -		.size = 5 * CONFIG_ETRAX_PTABLE_SECTOR, |  | ||||||
| -		.offset = 0x200000 - (5 * CONFIG_ETRAX_PTABLE_SECTOR) |  | ||||||
| +		.name = "rootfs", |  | ||||||
| +		.size = 0x200000 , |  | ||||||
| +		.offset = 0x200000 |  | ||||||
|  	} |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
| @@ -281,6 +276,11 @@ static int __init init_axis_flash(void) |  | ||||||
|  	struct partitiontable_entry *ptable; |  | ||||||
|  	int use_default_ptable = 1; /* Until proven otherwise. */ |  | ||||||
|  	const char pmsg[] = "  /dev/flash%d at 0x%08x, size 0x%08x\n"; |  | ||||||
| +	unsigned int kernel_part_size = 0; |  | ||||||
| +	unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR); |  | ||||||
| +	unsigned int flash_scan_count = 0; |  | ||||||
| +	const char *part_magic = "ACME_PART_MAGIC"; |  | ||||||
| +	unsigned int magic_len = strlen(part_magic); |  | ||||||
|   |  | ||||||
|  	if (!(mymtd = flash_probe())) { |  | ||||||
|  		/* There's no reason to use this module if no flash chip can |  | ||||||
| @@ -292,6 +292,31 @@ static int __init init_axis_flash(void) |  | ||||||
|  		       mymtd->name, mymtd->size); |  | ||||||
|  		axisflash_mtd = mymtd; |  | ||||||
|  	} |  | ||||||
| +	/* scan flash to findout where out partition starts */ |  | ||||||
| + |  | ||||||
| +	printk(KERN_INFO "Scanning flash for end of kernel magic\n"); |  | ||||||
| +	for(flash_scan_count = 0; flash_scan_count < 100000; flash_scan_count++){ |  | ||||||
| +		if(strncmp(&flash_mem[flash_scan_count], part_magic, magic_len - 1) == 0) |  | ||||||
| +		{ |  | ||||||
| +			kernel_part_size = flash_mem[flash_scan_count + magic_len ]; |  | ||||||
| +			kernel_part_size <<= 8; |  | ||||||
| +			kernel_part_size += flash_mem[flash_scan_count + magic_len + 2]; |  | ||||||
| +			kernel_part_size <<= 8; |  | ||||||
| +			kernel_part_size += flash_mem[flash_scan_count + magic_len + 1]; |  | ||||||
| +			kernel_part_size <<= 8; |  | ||||||
| +			kernel_part_size += flash_mem[flash_scan_count + magic_len + 3]; |  | ||||||
| +			printk(KERN_INFO "Kernel ends at 0x%.08X\n", kernel_part_size); |  | ||||||
| +			flash_scan_count = 1100000; |  | ||||||
| +		} |  | ||||||
| +	} |  | ||||||
| + |  | ||||||
| + |  | ||||||
| +	if(kernel_part_size){ |  | ||||||
| +		kernel_part_size = (kernel_part_size & 0xffff0000); |  | ||||||
| +		axis_default_partitions[0].size = kernel_part_size; |  | ||||||
| +		axis_default_partitions[1].size =  mymtd->size - axis_default_partitions[0].size; |  | ||||||
| +		axis_default_partitions[1].offset = axis_default_partitions[0].size; |  | ||||||
| +	} |  | ||||||
|   |  | ||||||
|  	if (mymtd) { |  | ||||||
|  		mymtd->owner = THIS_MODULE; |  | ||||||
| @@ -1,43 +0,0 @@ | |||||||
| --- a/drivers/serial/crisv10.c |  | ||||||
| +++ b/drivers/serial/crisv10.c |  | ||||||
| @@ -27,6 +27,7 @@ static char *serial_version = "$Revision |  | ||||||
|  #include <linux/kernel.h> |  | ||||||
|  #include <linux/mutex.h> |  | ||||||
|  #include <linux/bitops.h> |  | ||||||
| +#include <linux/device.h> |  | ||||||
|   |  | ||||||
|  #include <asm/io.h> |  | ||||||
|  #include <asm/irq.h> |  | ||||||
| @@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op |  | ||||||
|  	.tiocmset = rs_tiocmset |  | ||||||
|  }; |  | ||||||
|   |  | ||||||
| +static struct class *rs_class; |  | ||||||
|  static int __init |  | ||||||
|  rs_init(void) |  | ||||||
|  { |  | ||||||
| @@ -4518,6 +4520,24 @@ rs_init(void) |  | ||||||
|  #endif |  | ||||||
|  #endif /* CONFIG_SVINTO_SIM */ |  | ||||||
|   |  | ||||||
| +	rs_class = class_create(THIS_MODULE, "rs_tty"); |  | ||||||
| +#ifdef CONFIG_ETRAX_SERIAL_PORT0  |  | ||||||
| +	class_device_create(rs_class, NULL, |  | ||||||
| +		MKDEV(TTY_MAJOR, 64), NULL, "ttyS0"); |  | ||||||
| +#endif |  | ||||||
| +#ifdef CONFIG_ETRAX_SERIAL_PORT1  |  | ||||||
| +	class_device_create(rs_class, NULL, |  | ||||||
| +		MKDEV(TTY_MAJOR, 65), NULL, "ttyS1"); |  | ||||||
| +#endif |  | ||||||
| +#ifdef CONFIG_ETRAX_SERIAL_PORT2  |  | ||||||
| +	class_device_create(rs_class, NULL, |  | ||||||
| +		MKDEV(TTY_MAJOR, 66), NULL, "ttyS2"); |  | ||||||
| +#endif |  | ||||||
| +#ifdef CONFIG_ETRAX_SERIAL_PORT3  |  | ||||||
| +	class_device_create(rs_class, NULL, |  | ||||||
| +		MKDEV(TTY_MAJOR, 67), NULL, "ttyS3"); |  | ||||||
| +#endif |  | ||||||
| + |  | ||||||
|  	return 0; |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| @@ -1,33 +0,0 @@ | |||||||
| diff -Naur linux-2.6.26/drivers/usb/host/Makefile os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/host/Makefile |  | ||||||
| --- linux-2.6.26/drivers/usb/host/Makefile	2008-07-13 23:51:29.000000000 +0200 |  | ||||||
| +++ os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/host/Makefile	2008-08-21 10:39:44.000000000 +0200 |  | ||||||
| @@ -16,6 +16,7 @@ |  | ||||||
|  obj-$(CONFIG_USB_UHCI_HCD)	+= uhci-hcd.o |  | ||||||
|  obj-$(CONFIG_USB_SL811_HCD)	+= sl811-hcd.o |  | ||||||
|  obj-$(CONFIG_USB_SL811_CS)	+= sl811_cs.o |  | ||||||
| +obj-$(CONFIG_ETRAX_ARCH_V10)	+= hc-crisv10.o |  | ||||||
|  obj-$(CONFIG_USB_U132_HCD)	+= u132-hcd.o |  | ||||||
|  obj-$(CONFIG_USB_R8A66597_HCD)	+= r8a66597-hcd.o |  | ||||||
|  obj-$(CONFIG_USB_ISP1760_HCD)	+= isp1760.o |  | ||||||
| diff -Naur linux-2.6.26/drivers/usb/Kconfig os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Kconfig |  | ||||||
| --- linux-2.6.26/drivers/usb/Kconfig	2008-07-13 23:51:29.000000000 +0200 |  | ||||||
| +++ os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Kconfig	2008-06-10 11:18:30.000000000 +0200 |  | ||||||
| @@ -21,6 +21,7 @@ |  | ||||||
|  	default y if USB_ARCH_HAS_EHCI |  | ||||||
|  	default y if PCMCIA && !M32R			# sl811_cs |  | ||||||
|  	default y if ARM				# SL-811 |  | ||||||
| +	default y if ETRAXFS |  | ||||||
|  	default y if SUPERH				# r8a66597-hcd |  | ||||||
|  	default PCI |  | ||||||
|   |  | ||||||
| diff -Naur linux-2.6.26/drivers/usb/Makefile os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Makefile |  | ||||||
| --- linux-2.6.26/drivers/usb/Makefile	2008-07-13 23:51:29.000000000 +0200 |  | ||||||
| +++ os/linux-2.6-tag--devboard-R2_20-5/drivers/usb/Makefile	2008-10-01 10:56:43.000000000 +0200 |  | ||||||
| @@ -16,6 +16,7 @@ |  | ||||||
|  obj-$(CONFIG_USB_SL811_HCD)	+= host/ |  | ||||||
|  obj-$(CONFIG_USB_U132_HCD)	+= host/ |  | ||||||
|  obj-$(CONFIG_USB_R8A66597_HCD)	+= host/ |  | ||||||
| +obj-$(CONFIG_ETRAX_USB_HOST)	+= host/ |  | ||||||
|   |  | ||||||
|  obj-$(CONFIG_USB_C67X00_HCD)	+= c67x00/ |  | ||||||
|   |  | ||||||
| @@ -1,16 +0,0 @@ | |||||||
| Index: linux-2.6.25.20/arch/cris/Kconfig |  | ||||||
| =================================================================== |  | ||||||
| --- linux-2.6.25.20.orig/arch/cris/Kconfig	2008-11-10 19:50:34.000000000 +0100 |  | ||||||
| +++ linux-2.6.25.20/arch/cris/Kconfig	2009-01-30 13:03:46.000000000 +0100 |  | ||||||
| @@ -660,6 +660,10 @@ |  | ||||||
|   |  | ||||||
|  source "drivers/ide/Kconfig" |  | ||||||
|   |  | ||||||
| +source "drivers/scsi/Kconfig" |  | ||||||
| + |  | ||||||
| +source "drivers/media/Kconfig" |  | ||||||
| + |  | ||||||
|  source "drivers/net/Kconfig" |  | ||||||
|   |  | ||||||
|  source "drivers/i2c/Kconfig" |  | ||||||
|  |  | ||||||
| @@ -1,45 +0,0 @@ | |||||||
| Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig |  | ||||||
| =================================================================== |  | ||||||
| --- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Kconfig	2009-02-09 09:30:40.000000000 +0100 |  | ||||||
| +++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig	2009-02-09 21:23:12.000000000 +0100 |  | ||||||
| @@ -450,11 +450,18 @@ |  | ||||||
|  	  i2c_arg = I2C_READARG(STA013_READ_ADDR, reg); |  | ||||||
|  	  val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg); |  | ||||||
|   |  | ||||||
| +config ETRAX_I2C_GVC |  | ||||||
| +	bool "I2C GVC support" |  | ||||||
| +	depends on ETRAX_ARCH_V10 && !ETRAX_I2C |  | ||||||
| +	select ETRAX_I2C_USES_PB_NOT_PB_I2C |  | ||||||
| +	help |  | ||||||
| +	  Enables an I2C driver with Geert Vancompernolle improvement. |  | ||||||
| + |  | ||||||
|  # this is true for most products since PB-I2C seems to be somewhat |  | ||||||
|  # flawed.. |  | ||||||
|  config ETRAX_I2C_USES_PB_NOT_PB_I2C |  | ||||||
|  	bool "I2C uses PB not PB-I2C" |  | ||||||
| -	depends on ETRAX_I2C |  | ||||||
| +	depends on ETRAX_I2C || ETRAX_I2C_GVC |  | ||||||
|  	help |  | ||||||
|  	  Select whether to use the special I2C mode in the PB I/O register or |  | ||||||
|  	  not.  This option needs to be selected in order to use some drivers |  | ||||||
| @@ -478,7 +485,7 @@ |  | ||||||
|   |  | ||||||
|  config ETRAX_I2C_EEPROM |  | ||||||
|  	bool "I2C EEPROM (non-volatile RAM) support" |  | ||||||
| -	depends on ETRAX_I2C |  | ||||||
| +	depends on ETRAX_I2C || ETRAX_I2C_GVC |  | ||||||
|  	help |  | ||||||
|  	  Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C |  | ||||||
|  	  driver.  Select size option: Probed, 2k, 8k, 16k. |  | ||||||
| Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile |  | ||||||
| =================================================================== |  | ||||||
| --- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Makefile	2009-02-09 09:30:41.000000000 +0100 |  | ||||||
| +++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile	2009-02-09 09:35:39.000000000 +0100 |  | ||||||
| @@ -4,6 +4,7 @@ |  | ||||||
|   |  | ||||||
|  obj-$(CONFIG_ETRAX_AXISFLASHMAP)	+= axisflashmap.o |  | ||||||
|  obj-$(CONFIG_ETRAX_I2C)			+= i2c.o |  | ||||||
| +obj-$(CONFIG_ETRAX_I2C_GVC)		+= i2c_gvc.o |  | ||||||
|  obj-$(CONFIG_ETRAX_I2C_EEPROM)		+= eeprom.o |  | ||||||
|  obj-$(CONFIG_ETRAX_GPIO)		+= gpio.o |  | ||||||
|  obj-$(CONFIG_ETRAX_DS1302)		+= ds1302.o |  | ||||||
| @@ -73,38 +73,7 @@ define Host/Prepare/lzma | |||||||
| 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/ | 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/ | ||||||
| endef | endef | ||||||
|  |  | ||||||
| # XXX: the following are needed to build a cris toolchain | define Host/Prepare/post/cris | ||||||
| ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),lt,2.6.28)),1) |  | ||||||
|   define Host/Prepare/pre/cris |  | ||||||
| 	ln -sf $(HOST_BUILD_DIR)/include/asm-cris/arch-v10 $(HOST_BUILD_DIR)/include/asm-cris/arch |  | ||||||
| 	ln -sf $(HOST_BUILD_DIR)/include/asm-cris/arch-v10 $(HOST_BUILD_DIR)/arch/cris/arch |  | ||||||
|   endef |  | ||||||
|  |  | ||||||
|   define Host/Prepare/post/cris |  | ||||||
| 	$(CP) \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/linux/user.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/linux/autoconf.h \ |  | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/linux/ |  | ||||||
| 	$(CP) \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/elf.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/page.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/user.h \ |  | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/ |  | ||||||
| 	$(CP) \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-generic/memory_model.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-generic/page.h \ |  | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm-generic/ |  | ||||||
|  |  | ||||||
| 	mkdir -p $(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/arch |  | ||||||
| 	$(CP) \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/arch/elf.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/arch/page.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/arch/ptrace.h \ |  | ||||||
| 		$(HOST_BUILD_DIR)/include/asm-cris/arch/user.h \ |  | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/arch/ |  | ||||||
|   endef |  | ||||||
| else |  | ||||||
|   define Host/Prepare/post/cris |  | ||||||
| 	$(CP) \ | 	$(CP) \ | ||||||
| 		$(HOST_BUILD_DIR)/include/linux/user.h \ | 		$(HOST_BUILD_DIR)/include/linux/user.h \ | ||||||
| 		$(HOST_BUILD_DIR)/include/linux/autoconf.h \ | 		$(HOST_BUILD_DIR)/include/linux/autoconf.h \ | ||||||
| @@ -112,8 +81,7 @@ else | |||||||
| 	ln -snf $(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/arch-v10/arch \ | 	ln -snf $(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/arch-v10/arch \ | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/arch | 		$(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/arch | ||||||
| 	$(SED) '/#include <asm\/page\.h>/d' $(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/user.h | 	$(SED) '/#include <asm\/page\.h>/d' $(BUILD_DIR_TOOLCHAIN)/linux-dev/usr/include/asm/user.h | ||||||
|   endef | endef | ||||||
| endif |  | ||||||
|  |  | ||||||
| define Host/Prepare/post/ubicom32 | define Host/Prepare/post/ubicom32 | ||||||
| 	$(CP) \ | 	$(CP) \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Claudio Mignanti
					Claudio Mignanti