summaryrefslogtreecommitdiff
path: root/firmware/src/os
Commit message (Collapse)AuthorAgeFilesLines
* convert from u_int*_t to uint*_tHarald Welte2015-09-2824-105/+105
|
* Allow some USB interrupts to be handled during dbgu_appendMin Xu2014-11-111-1/+3
|
* Retrieve + print previous PC from stack to debug wdog/spurious IRQMin Xu2014-11-111-3/+15
| | | | | | | | | | | Retrive previous PC from the stack before entering specific interrupt handler routines. Allow user to trace where interrupt occured: e.g. WatchDog and Spurious interrupt Prior to this change, spurious interrupt would occur so much (observed via gdb/remote debug) so it appears that the board stalled. Once a custom spurious interrupt installed, the code continues after the interrupt instead of re-entering the interrupt.
* change number + qty of small/large req_ctxMin Xu2014-11-112-12/+7
|
* pcd_enumerate: More complete USB endpoint resettingMin Xu2014-11-111-9/+7
|
* req_ctx: Keep statistic about number of req_ctx in given stateMin Xu2014-11-113-4/+19
| | | | ... and print this from a debug statement.
* usbcmd_generic: Add missing \r to DEBUGP()Min Xu2014-11-111-1/+1
|
* watchdog: print watchdog expiration even in non-debug buildsMin Xu2014-11-111-2/+2
|
* pcd_enumerate: Avoid disabling interrupt during endpoint refillMin Xu2014-11-111-25/+28
| | | | | | | | | The old implementation has a big local_irq_save() / restore() around the endpoint re-fill routine. This disables interrupts for a long time, psossibly causing lost interrupts. The new implementation works around this by disabling the USB (UDP) interrupt only, rather than disabling all interrupts on the system.
* dbgu: make debug routines re-entrantMin Xu2014-11-113-120/+193
|
* req_ctx: Change number of small / large req_ctxMin Xu2014-11-111-1/+5
|
* req_ctx: avoid loop iterations by introducing per-state queuesMin Xu2014-11-112-23/+120
| | | | | | In order to speed up the lookup of req_ctx, we keep per-state queues rather than iterating over all the request contexts that exist again and again.
* change req_ctx sizes large 2048->1000; small 128->270Min Xu2014-11-111-2/+2
|
* req_ctx: Use consistent numeric range for REQ_CTX_STATEMin Xu2014-11-112-21/+24
| | | | | ... which will allow us to check for invalid states by a simple 'greater than' check later on.
* wdt: make sure WDT doesn't fire inadvertentlyHarald Welte2012-03-221-6/+13
| | | | We have to set WDD and WDV to the same value to avoid watchdog errors
* disable logging of PIO status in PIO interrupt routineHarald Welte2012-03-221-1/+1
|
* usb: Do not send ZLP when we have filled the windowv0.4Holger Hans Peter Freyther2011-12-141-25/+29
| | | | | | | | | | | | Only send the ZLP if we send less data than was required/asked for by the host and it is a multiple of the bMaxPacketSize0 (which is hardcoded to 8 right now). This is completing the change done in fe88b83e80df8be0351ff38ee6 to fix SIMtrace attached to OSX and not regress on windows. Introduce another parameter to udp_ep0_send_data to specify the window size (wLength) or if not available the default from USB 2.0 specification.
* DBGU: Print Reset controller Status Register on bootHarald Welte2011-08-151-0/+4
| | | | This helps us to discover _why_ the CPU has been rebooted.
* USB: Add support for the 3rd DFU interface (RAM)Harald Welte2011-08-151-0/+6
|
* DFU: add third 'alternate configuration' for RAM loadHarald Welte2011-07-301-7/+7
| | | | | This will allow us to load code directly into RAM without going through flash.
* add new RUN_FROM_RAM run-mode for direct DFU-to-RAM supportHarald Welte2011-07-301-1/+1
|
* USB driver: use the DFU-provided function to send EP0 dataHarald Welte2011-07-071-48/+1
| | | | | There is no point in replicating the functionality that already exists in the DFU section of the flash
* simtrace: add support for the analog bus switchHarald Welte2011-06-161-1/+1
|
* req_ctx: Increase size of small req_ctx to 128 and have 16 instead of 8Harald Welte2010-11-182-3/+3
| | | | | This is required to deal with bursts in SIM comminication while using the SIMTRACE firmware
* disable USB EP0 debuggingHarald Welte2010-11-141-1/+1
|
* Use smaller number of request contexts on a SAM64Harald Welte2010-11-131-0/+5
|
* * move usb descriptors into separate file (src/os/usb_descriptors_openpcd.h)laforge2008-02-234-97/+260
| | | | | | | * add USB HID skeleton git-svn-id: https://svn.openpcd.org:2342/trunk@426 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* make sure that WDT_DEBUG is undefinedmeri2007-04-101-1/+3
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@305 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* decreased USB debug verbosity to allow full debug code inclusionmeri2007-04-101-4/+4
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@301 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* added watchdog time support and debouncing on power-cyclemeri2007-04-102-6/+7
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@297 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* added several new USB commands: remote reset, API version and read/write ↵meri2007-04-102-9/+90
| | | | | | volatile flash environment git-svn-id: https://svn.openpcd.org:2342/trunk@295 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* moved flash code to seperate filemeri2007-04-102-0/+73
| | | | git-svn-id: https://svn.openpcd.org:2342/trunk@294 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
* - 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 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-182-4/+15
| | | | | | | | | | | | | | - 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 svn:ignore property to make 'svn st' output more realisticlaforge2006-10-1511-48/+107
| | | | | | | | | | | | | | | | | | | | | - 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
* v0.4 of the readers uses a different pin for the USB pulluplaforge2006-10-043-4/+21
| | | | 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
* - 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
* - 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-016-16/+198
| | | | | | | - 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
* 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
personal git repositories of Harald Welte. Your mileage may vary