summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* - we increase the DFU size from 4k to 16k size. This is mainly due to thelaforge2006-09-228-29/+159
| | | | | | | | | | | | | | | | | | | SAM7S128 and SAM7S256 being restricted to 16k lock region size. If we want to lock the bootloader, it has to be 16k aligned. This wastes a lot of memory, since a non-debug DFU implementation fits currently into less than 4k. But anyway, we have lots of flexibility for the future given that amount of space. - The DFU size change introduces also a change in dfu_api location to 0x103fd0 - Allow GETSTATE and GETSTATUS from runtime mode (optional in DFU spec) - Make dfu_status a .data.shared variable, since it is used from GETSTATUS which we already support in runtime mode - do some led switching while flashing via DFU - disable all non-usb/dbgu interrupts when switching to DFU mode - fix interrupt-storm problem when dbgu is used in DFU loader - add missing linker script for SAM7S128 git-svn-id: https://svn.openpcd.org:2342/trunk@218 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* fix completely broken logic of processing pending outbound packets. We now dolaforge2006-09-221-17/+5
| | | | | | | | | | | | | | | | | | all the req_ctx state changes from within pcd_handler.c and only expose the refill_ep() functions. It's questionable whether we need to keep calling those functions all the time either. Once kicked off, the tx completion interrupts of the UDC will refill the pipe as long as there is data available. So realistically speaking, we'd only need to trigger tx once (and keep triggering until no EBUSY or other error is signalled anymore). Some form of state machine would be fine for doing this, one that registers a timer with the core OS timer (once we have something equivalent to 'struct timer_list'. git-svn-id: https://svn.openpcd.org:2342/trunk@217 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* fix a wrong memset length (we want length of atqa, not length of the pointer ↵laforge2006-09-221-1/+1
| | | | | | to it). git-svn-id: https://svn.openpcd.org:2342/trunk@216 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* DFU works (fix various bugs such as forgetting to shift the page number, ↵laforge2006-09-217-93/+176
| | | | | | checking for invalid page numbers, off-by-one error in flash page calculation, etc.) git-svn-id: https://svn.openpcd.org:2342/trunk@215 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* some code cleanuplaforge2006-09-211-7/+15
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@214 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* use POSITIVE_EDGE as a workaround to the irq storm if HIGH_LEVEL is used. ↵laforge2006-09-211-1/+5
| | | | | | This basically disables any input from the dbgu serial port, but we don't need it in DFU anyway. git-svn-id: https://svn.openpcd.org:2342/trunk@213 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add some debugging output to flash_page()laforge2006-09-211-1/+6
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@212 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add dfu flash header filelaforge2006-09-201-0/+4
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@211 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add support for flashing to DFUlaforge2006-09-204-54/+59
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@210 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* re-set SAK during every chaining iteration (Henryk Ploetz)laforge2006-09-201-0/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@209 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - Add OpenPICC register definition (and USB command handling)laforge2006-09-2028-186/+486
| | | | | | | | | | | | | | | | | | | - Add automatic generation of include/compile.h with svn revision and compiletime - Add openpcd_compile_version structure to obtain version via USB - Move LED commands into new CMD_CLS_GENERIC family - Update TODO - Add support for large (2048 byte) request contexts in addition to 64byte - Shrink req_ctx size by collapsing rx and tx buffer into one - move definition of DFU_API_LOCATION to header file - Implement large req_ctx aware USB transmit / refill routines - Implement TX refilling for IRQ Endpoint - Print version information at startup time - move some generic req_ctx processing into usb_handler.c - Some further work on DFU (still not finished) - Only use '-Os' for DFU, use '-O2' for application code git-svn-id: https://svn.openpcd.org:2342/trunk@208 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - fix linker scripts and Cstartup.S to correctly relocate shared datalaforge2006-09-203-3/+5
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@207 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* fix _edata_shared address definition laforge2006-09-202-4/+2
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@206 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - fix relocation of _data_shared segmentlaforge2006-09-203-12/+40
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@205 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add linker scripts for SAM7S128laforge2006-09-203-1/+113
| | | | | | | - use S128 linker script if we build DFU for PCD git-svn-id: https://svn.openpcd.org:2342/trunk@204 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Add DFU debugging capabilities (makes DFU compile if DEBUG=1)laforge2006-09-202-0/+160
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@203 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add some more flash related definitionslaforge2006-09-201-8/+4
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@202 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - implement some more missing DFU bitslaforge2006-09-206-35/+145
| | | | | | | | - add debugging support to DFU - introduce a auto-generated compile.h to add reviison number/... to firmware git-svn-id: https://svn.openpcd.org:2342/trunk@201 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move flash code into dfulaforge2006-09-201-0/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@200 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* fix location of dfu_apilaforge2006-09-201-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@199 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* fix typo (Henryk Ploetz)laforge2006-09-171-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@198 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add flash size definitions for AT91SAM7S64/32, correct/complete those for ↵laforge2006-09-141-8/+24
| | | | | | S128/S256 git-svn-id: https://svn.openpcd.org:2342/trunk@197 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* spi_transceive cannot work without a rx_buffer due to hardware restrictions ↵laforge2006-09-141-4/+2
| | | | | | (Bug report by Henryk Ploetz) git-svn-id: https://svn.openpcd.org:2342/trunk@196 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add GPL disclaimer to all C files that I wrotelaforge2006-09-1337-33/+949
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@195 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Completely separate DFU from application program, we now have a real bootloader.laforge2006-09-1313-203/+1056
| | | | | | | | | | | | | | DFU occupies 0x00100000 - 0x00100fff in flash, application starts at 0x00101000. DFU also occupies the first couple of bytes in SRAM, application starts at 0x00200024. In order to produce a samba-flashable image, first build dfu.bin by typing 'make -f Makefule.dfu', succeeded by 'make TARGET=... DEBUG=... BOARD=...' and then concatenating the two files together, e.g. cat dfu.bin main_reqa.bin > flash.bin. Actual flashing via DFU is still not operational, but will be implemented next git-svn-id: https://svn.openpcd.org:2342/trunk@194 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move to new directorylaforge2006-09-1222-0/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@193 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move to new directorylaforge2006-09-1216-0/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@192 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move to new directorylaforge2006-09-12113-0/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@191 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - we now have two interfaces in the USB device(no author)2006-09-121-2/+2
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@190 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add SSC READ and LOOP commands(no author)2006-09-121-3/+14
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@189 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add some more documentation / notes(no author)2006-09-124-0/+267
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@188 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* usb performance benchmark(no author)2006-09-121-0/+55
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@187 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add some WDT skeleton code(no author)2006-09-121-0/+23
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@186 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* some more debug related options (PLL lock status, button status, ssc ↵(no author)2006-09-121-8/+48
| | | | | | start/stop, slave_reset) git-svn-id: https://svn.openpcd.org:2342/trunk@185 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* optimize for size, rather than performance(no author)2006-09-121-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@184 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* pio_irq USB access(no author)2006-09-123-20/+67
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@183 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - fix bootloader switch detection(no author)2006-09-125-6/+34
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@182 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* further development of PICC ADC and SSC drivers(no author)2006-09-122-28/+75
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@181 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* base address of SPI controller is 'const'(no author)2006-09-121-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@180 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - don't configure PA15 as MISO, since poti's are write-only(no author)2006-09-101-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@179 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* enable clock of TC2 before configuring it(no author)2006-09-101-0/+3
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@178 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - Add notification in case PLL PIO status changes (serial + LED1)(no author)2006-09-101-0/+16
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@177 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* Further PIO IRQ fixes(no author)2006-09-102-10/+22
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@176 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - Introduce new "BOARD=" make parameter to distinguish between PICC and PCD PIO(no author)2006-09-102-9/+35
| | | | | | | - Fix PIO assignments to accomodate post-production change in PICC schematics git-svn-id: https://svn.openpcd.org:2342/trunk@175 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* remove DFU specfic part that is replicated in dfu.c(no author)2006-09-101-6/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@174 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* make PWM 'main' build with current environment (no author)2006-09-101-4/+13
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@173 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add PWM and load modulation to main_openpicc (no author)2006-09-103-15/+119
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@172 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* use SPI controllers internal timeout(no author)2006-09-102-8/+21
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@171 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move PWM code to OS(no author)2006-09-101-0/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@170 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move PWM code to OS(no author)2006-09-101-0/+0
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@169 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
personal git repositories of Harald Welte. Your mileage may vary