URL
https://opencores.org/ocsvn/gecko3/gecko3/trunk
Subversion Repositories gecko3
Compare Revisions
- This comparison shows the changes necessary to convert path
/gecko3/trunk/GECKO3COM/gecko3com-fw
- from Rev 28 to Rev 29
- ↔ Reverse comparison
Rev 28 → Rev 29
/firmware/include/gecko3com_gpif.h
78,7 → 78,7
GPIFTCB2 = 0x00; \ |
GPIFTCB1 = 0x00; \ |
GPIFTCB0 = 0x01; \ |
GPIFTRIG = bmGPIF_EP6_START | bmGPIF_READ; /* trigger FIFO out transfer */ \ |
GPIFTRIG = bmGPIF_EP6_START | bmGPIF_READ; /* trigger FIFO IN transfer */ \ |
/*SYNCDELAY;*/ \ |
} while (0) |
|
94,7 → 94,7
GPIFTCB2 = 0x00; \ |
GPIFTCB1 = 0x00; \ |
GPIFTCB0 = 0x01; \ |
GPIFTRIG = bmGPIF_EP2_START | bmGPIF_WRITE; /* trigger FIFO out transfer */ \ |
GPIFTRIG = bmGPIF_EP2_START | bmGPIF_WRITE; /* trigger FIFO OUT transfer*/ \ |
/*SYNCDELAY;*/ \ |
} while(0) |
|
/firmware/src/gecko3com_gpif.c
169,13 → 169,16
IFCONFIG = bmIFCLKSRC | bmIFCLKOE | bmGSTATE | bmIFGPIF; |
SYNCDELAY; |
|
/* we have to commit the currently processed packet BEFORE we switch to auto out mode */ |
/* we have to commit the currently processed packet BEFORE we switch |
*to auto out mode */ |
OUTPKTEND = bmSKIP | USB_TMC_EP_OUT; |
|
/*FIXME only here for testing */ |
//EP6AUTOINLENH = (20) >> 8; SYNCDELAY; /* this is the length for high speed */ |
//EP6AUTOINLENL = (20) & 0xff; SYNCDELAY; |
/* reset FIFOs */ |
|
FIFORESET = bmNAKALL; SYNCDELAY; |
FIFORESET = 6; SYNCDELAY; |
FIFORESET = 0; SYNCDELAY; |
|
/* enable autoout and autoin feature of the endpoints */ |
EP2FIFOCFG |= bmAUTOOUT; |
SYNCDELAY; |
194,6 → 197,12
EP2GPIFFLGSEL = bmFLAG_PROGRAMMABLE; |
//EP2GPIFFLGSEL = bmFLAG_EMPTY; |
SYNCDELAY; |
|
//EP6FIFOPFH = bmDECIS | 0x19; |
//EP6FIFOPFL = 0xFB; |
//SYNCDELAY; |
|
//EP6GPIFFLGSEL = bmFLAG_PROGRAMMABLE; |
EP6GPIFFLGSEL = bmFLAG_FULL; |
SYNCDELAY; |
|
211,7 → 220,8
GPIFIDLECTL = InitData[ 3 ]; |
/* Hmmm, what's InitData[ 4 ] ... */ |
GPIFWFSELECT = InitData[ 5 ]; |
/* GPIFREADYSTAT = InitData[ 6 ]; */ /* I think this register is read only... */ |
/* I think this register is read only... */ |
/* GPIFREADYSTAT = InitData[ 6 ]; */ |
|
for (i = 0; i < 128; i++){ |
GPIF_WAVE_DATA[i] = WaveData[i]; |
/firmware/src/gecko3com_common.c
117,8 → 117,8
|
/* set autoout length for EP2 and autoin length for EP6 */ |
if(USBCS & bmHSM){ |
EP6AUTOINLENH = (512) >> 8; SYNCDELAY; /* this is the length for high speed */ |
EP6AUTOINLENL = (512) & 0xff; SYNCDELAY; |
EP6AUTOINLENH = (512) >> 8; SYNCDELAY; /* this is the length for */ |
EP6AUTOINLENL = (512) & 0xff; SYNCDELAY; /* high speed */ |
} |
else { |
EP6AUTOINLENH = 0; SYNCDELAY; /* this is the length for full speed */ |
182,9 → 182,9
init_io_ext (void) |
{ |
xdata uint8_t cmd[2]; |
cmd[0] = 0x03; /* write to configuration register */ |
cmd[1] = 0x01; /* set Bit 0 (LSB) as input and Bit 1,2 as output, others be irrelevant */ |
i2c_write(I2C_DEV_IO, cmd, 2); |
cmd[0] = 0x03; /* write to configuration register */ |
cmd[1] = 0x01; /* set Bit 0 (LSB) as input and Bit */ |
i2c_write(I2C_DEV_IO, cmd, 2); /* 1,2 as output, others be irrelevant */ |
} |
|
void |
191,8 → 191,8
set_led_ext (const uint8_t color) |
{ |
xdata uint8_t cmd[2]; |
cmd[0] = 0x01; /* write to output port register */ |
cmd[1] = color; /* set LED */ |
cmd[0] = 0x01; /* write to output port register */ |
cmd[1] = color; /* set LED */ |
i2c_write(I2C_DEV_IO, cmd, 2); |
flLED = ~LEDS_OFF; |
} |
202,13 → 202,13
{ |
xdata uint8_t cmd[1]; |
|
cmd[0] = 0x00; /* set command byte to input port register */ |
cmd[0] = 0x00; /* set command byte to input port register */ |
|
i2c_write(I2C_DEV_IO, cmd, 1); |
|
i2c_read(I2C_DEV_IO, cmd, 1); |
|
if((cmd[0] & 0x01) == 1){ /* only bit 0 in the input register is used */ |
if((cmd[0] & 0x01) == 1){ /* only bit 0 in the input register is used */ |
return 1; |
} |
|
/gecko3com.iic
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream