Commit Graph

69 Commits

Author SHA1 Message Date
laforge 48afc6a1d1 - add (currently inactive) code for the watch dog timer
git-svn-id: https://svn.openpcd.org:2342/trunk@240 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-30 22:37:48 +00:00
laforge d61fac8fff - Add revision to USB descriptor
git-svn-id: https://svn.openpcd.org:2342/trunk@237 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-30 22:21:39 +00:00
laforge 7d1d85c02e add stub for later implementation of suspend/resume
git-svn-id: https://svn.openpcd.org:2342/trunk@236 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-30 22:18:42 +00:00
laforge 9f45ae4e59 - more accurate (and USB compliant) state transitions
- make gcc spit a bit less warnings


git-svn-id: https://svn.openpcd.org:2342/trunk@235 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-30 22:12:08 +00:00
laforge e9902c5680 - free all pending contexts when endpoint is being reset
- 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
2006-09-30 14:01:59 +00:00
laforge 568a1b28f4 - add dbgu key '9' for software reset
- fix dbgu welcome message


git-svn-id: https://svn.openpcd.org:2342/trunk@233 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-27 17:26:01 +00:00
laforge 2db7d2d9d9 - increase number of large (2k) contextx to 8
- 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
2006-09-27 17:21:18 +00:00
laforge 89c40594e7 - fix minor issues with USB string support
git-svn-id: https://svn.openpcd.org:2342/trunk@228 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-25 21:36:42 +00:00
laforge 5872753e2d - Include tool for Converting ASCII to UTF-16LE in C-Header
- 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
2006-09-25 21:23:52 +00:00
laforge a914cae281 use officially assigned usb vendor and product id's
git-svn-id: https://svn.openpcd.org:2342/trunk@225 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-25 14:50:05 +00:00
laforge 706ffa9f3b - move large rctx definitions to req_ctx.h
- 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
2006-09-22 21:41:22 +00:00
laforge 238c6c3c0a fix completely broken logic of processing pending outbound packets. We now do
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
2006-09-22 21:21:28 +00:00
laforge 817d9211d5 some code cleanup
git-svn-id: https://svn.openpcd.org:2342/trunk@214 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-21 12:03:18 +00:00
laforge 514b0f72f5 - Add OpenPICC register definition (and USB command handling)
- 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
2006-09-20 11:44:10 +00:00
laforge 3124bf3b44 move flash code into dfu
git-svn-id: https://svn.openpcd.org:2342/trunk@200 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-20 00:45:05 +00:00
laforge ba56581054 fix location of dfu_api
git-svn-id: https://svn.openpcd.org:2342/trunk@199 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-20 00:33:46 +00:00
laforge 32985a29c1 add GPL disclaimer to all C files that I wrote
git-svn-id: https://svn.openpcd.org:2342/trunk@195 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-13 16:23:52 +00:00
laforge a97e460bea Completely separate DFU from application program, we now have a real bootloader.
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
2006-09-13 16:02:52 +00:00
laforge d256545b2f move to new directory
git-svn-id: https://svn.openpcd.org:2342/trunk@191 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
2006-09-12 17:35:30 +00:00