summaryrefslogtreecommitdiff
path: root/firmware/src
Commit message (Collapse)AuthorAgeFilesLines
* - iterate over all PIO, not only starting from 27 ?!?laforge2006-12-181-1/+2
| | | | | | | - add debug message when registering callback git-svn-id: https://svn.openpcd.org:2342/trunk@287 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add DAC driver that was missed two commits agolaforge2006-12-182-0/+77
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@285 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add void AT91F_DBGU_Fini prototype to header filelaforge2006-12-181-0/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@284 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add new DAC driver (instead of poti) for PICClaforge2006-12-188-29/+110
| | | | | | | | | | | | | | - DFU: put all DEBUG_ defines in "#ifdef DEBUG" enclosure - alter GPIO defines for new OpenPICC v0.4 prototype - add new AT91F_DBGU_Fini() function - take care of new inverted USB pullip in OpenPICC v0.4 prototype - fix typo in 'opicc_reg_write' macro - add some more PICC related SSC code NOTE: this firmware is the first version that will _NOT_ run on a OpenPICC v0.3 anymore! (All changes by Henryk Ploetz) git-svn-id: https://svn.openpcd.org:2342/trunk@283 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add some more debug statementslaforge2006-12-181-5/+6
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@281 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add new 'main_mifare' firmware to demonstrate in-reader librfid mifarelaforge2006-11-281-0/+279
| | | | | | | | implementation. 'j' and 'k' keys on debug port can be switched to read different sectors. git-svn-id: https://svn.openpcd.org:2342/trunk@274 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add svn:ignore property to make 'svn st' output more realisticlaforge2006-10-1532-1983/+858
| | | | | | | | | | | | | | | | | | | | | - remove old copy+paste+edit port of parts of librfid - add ability to directly link librfid.a from mainline librfid - make usb string descriptors optional again (config.h) - fix TC_CDIV to reset correctly on swtrig (For OpenPICC) - temporarily re-implement ep0_send_data() in pcd_enumerate.c - make UDP_PUPv4 switching conditional to PCD - introduce DEBUG_UNBUFFERED define in dbgu.c - fix some signed/unsigned/typecast related compiler warnings - remove dead code from src/os/led.c - implement a 'mdelay' and 'usleep' stub function (FIXME!) - rename rc632_... functions into opcd_rc632_... to avoid confusion - introduce new 'main_librfid' TARGET - make main_{reqa,analog} work with librfid rather than old code - introduce mroe debugging options for FIQ handler code in Cstartup_app - lots of PICC work that doesn't need comments now git-svn-id: https://svn.openpcd.org:2342/trunk@266 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - read fifo _length_, not fifo datalaforge2006-10-041-2/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@262 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* v0.4 of the readers uses a different pin for the USB pulluplaforge2006-10-045-4/+25
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@261 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add read of serial number via usblaforge2006-10-041-2/+7
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@260 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add feature to write full register setlaforge2006-10-041-1/+33
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@259 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - first working tested version if system_irq demuxlaforge2006-10-045-57/+98
| | | | | | | | - fix minor issues with PIT timer code - make new led blinkcode implementation work git-svn-id: https://svn.openpcd.org:2342/trunk@257 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* move udp irq/refill back to flash for nowlaforge2006-10-042-4/+4
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@256 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* reduce number of large request contexts to four, should be sufficient for nowlaforge2006-10-041-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@255 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add function to read RC632 serial number laforge2006-10-031-0/+14
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@254 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - we have to respond with a STALL to SET_CONFIGURATIONlaforge2006-10-031-31/+33
| | | | | | | | | - add a comment about this strange fact - some code cleanup - add missing 'break' after end of GET_DESCRIPTOR USB_DT_DEVICE git-svn-id: https://svn.openpcd.org:2342/trunk@253 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add proper system interrupt (shared) demultiplexing codelaforge2006-10-017-16/+200
| | | | | | | - port debug unit, watchdog timer, periodic interval timer to system_irq.c git-svn-id: https://svn.openpcd.org:2342/trunk@252 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* synchronize bit clock based on software trigger (needed for cdiv_sync)laforge2006-10-011-1/+2
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@251 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add command to read rc632 serial number via USBlaforge2006-10-011-0/+11
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@250 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add support for cdiv (sample clock) bit clock synchronizationlaforge2006-10-012-0/+108
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@248 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* re-define REQ_CTX_STATE_FREE != 0 to detect bugslaforge2006-10-011-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@247 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* initialize req_ctx state as free.laforge2006-10-011-0/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@246 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* clean up dbgu startup printout laforge2006-10-011-8/+8
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@245 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* split irq handler in two parts to make it callable from FIQlaforge2006-10-011-2/+10
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@244 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - finish implementation of timers based on PITlaforge2006-10-014-1/+217
| | | | | | | - add [untested] code for timer-based LED blink codes git-svn-id: https://svn.openpcd.org:2342/trunk@242 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add (currently inactive) code for the watch dog timerlaforge2006-09-303-5/+23
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@240 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - introduce FIQ stack of 1k (way too large, but we might have debug...)laforge2006-09-302-31/+148
| | | | | | | - move FIQ processing out of DFU Flash and into application/RAM git-svn-id: https://svn.openpcd.org:2342/trunk@239 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* acknowledge SET_INTERFACE requestlaforge2006-09-301-1/+3
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@238 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - Add revision to USB descriptorlaforge2006-09-301-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@237 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add stub for later implementation of suspend/resumelaforge2006-09-301-2/+11
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@236 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - more accurate (and USB compliant) state transitionslaforge2006-09-302-45/+161
| | | | | | | - make gcc spit a bit less warnings git-svn-id: https://svn.openpcd.org:2342/trunk@235 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - free all pending contexts when endpoint is being resetlaforge2006-09-301-5/+7
| | | | | | | - speed up usb processing by putting respective sections in RAM git-svn-id: https://svn.openpcd.org:2342/trunk@234 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - add dbgu key '9' for software resetlaforge2006-09-271-4/+8
| | | | | | | - fix dbgu welcome message git-svn-id: https://svn.openpcd.org:2342/trunk@233 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - increase number of large (2k) contextx to 8laforge2006-09-272-4/+5
| | | | | | | | | - move req_ctx_find_get into ram, since this is frequently used within interrupt handlers and thus ought to be as fast as possible - correctly initialize req_ctx size (bugfix!) git-svn-id: https://svn.openpcd.org:2342/trunk@232 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - fix minor issues with USB string supportlaforge2006-09-253-3/+3
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@228 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - Include tool for Converting ASCII to UTF-16LE in C-Headerlaforge2006-09-257-49/+96
| | | | | | | | - Build UTF-16LE USB String descriptors from ASCII File - Introduce USB String Descriptor to DFU and runtime firmware git-svn-id: https://svn.openpcd.org:2342/trunk@227 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* use officially assigned usb vendor and product id'slaforge2006-09-252-5/+7
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@225 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* disalbe rc632 register level debugging by defaultlaforge2006-09-231-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@224 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - fix return value in case of unknown commandlaforge2006-09-231-1/+1
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@223 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - Implement runtime DFU switching and reset-after-update. This meanslaforge2006-09-232-17/+41
| | | | | | | we can now reflash without any buttons or replugging of the device git-svn-id: https://svn.openpcd.org:2342/trunk@222 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* add reset key '9' to dfu dbgu codelaforge2006-09-231-0/+5
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@221 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* make sure DFU loader always prints some informational / copyright message ↵laforge2006-09-223-26/+28
| | | | | | upon startup git-svn-id: https://svn.openpcd.org:2342/trunk@220 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - move large rctx definitions to req_ctx.hlaforge2006-09-2210-120/+222
| | | | | | | | | | | | | | | | - add more fine-grained debugging macros in pcd_enumarate.c - resolve race conditions between main-loop ep_refill and irq-triggered ep_refill by adding one irq-[b]locking variant - consolidate endpoint reset code into reset_ep() - add code to handle correct transmission and reception of usb transfers larger than endpoint size - use new jump address (0x104000) in DFU Cstartup.S - move main_usb to pcd subdirectory - fix include/compile.h make dependencies - make usb benchmark code use new large req_ctx git-svn-id: https://svn.openpcd.org:2342/trunk@219 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - we increase the DFU size from 4k to 16k size. This is mainly due to thelaforge2006-09-224-23/+59
| | | | | | | | | | | | | | | | | | | 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-215-88/+167
| | | | | | 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
personal git repositories of Harald Welte. Your mileage may vary