1
0
mirror of git://projects.qi-hardware.com/f32xbase.git synced 2024-07-01 03:54:32 +03:00
Commit Graph

30 Commits

Author SHA1 Message Date
Werner Almesberger
8eaef6b062 Renamed hw/ to c2usb/, to make room for other hardware. 2010-10-20 10:57:42 -03:00
Werner Almesberger
77d684804c fw/c2usb.conf: USB product ID assignment is now official 2010-10-08 09:28:25 -03:00
Werner Almesberger
3fd1720e8f Added BOOKSELF and dsv setup procedure.
- BOOKSHELF: data sheets for the FT232RL and the C2 protocol
- Makefile: "make dsv" sets up the data sheet cache
2010-10-08 03:55:02 -03:00
Werner Almesberger
9777d88d5a Customize the FT232 EEPROM with the Qi Hardware ID and other parameters.
- hw/c2usb.conf: custom FT232 EEPROM configuration
- hw/Makefile (flash-eeprom): new target to customize the FT232 EEPROM
2010-10-08 02:51:27 -03:00
Werner Almesberger
c9f4c9b3db hw/cam/: toolpath generation for cutting the PCB. 2010-10-08 02:05:51 -03:00
Werner Almesberger
807616f24b R1/R2 were very close to U1 - move them away. Some small cleanup.
- hw/c2usb.brd: make board 20 mil wider and moved R1/R2 by this distance
  away from U1
- hw/c2usb.sch (FB1): added value (33R) to bead
- hw/c2usb.sch (R1): put component reference on the left side
- hw/c2usb.sch, hw/c2usb.brd: increased version number to 1
2010-10-08 02:00:22 -03:00
Werner Almesberger
c7a53e8736 Make the board a bit bigger for more relaxed spacing of traces and components.
- hw/c2usb.brd: made board 40 mil wider (we still have a lot of room before
  reaching the maximum width of a USB dongle)
- hw/c2usb.brd: moved R1 and R2 10 mil away from U1
- hw/c2usb.brd: moved the power circuit 10 mil to the left, to increase the
  clearance of FB1
2010-10-03 20:52:16 -03:00
Werner Almesberger
ad0015d64e Increased clearance from 9 mil to 9.7 mil.
- hw/c2usb.brd: increased clearance from 9 mil to 9.7 mil
- hw/c2usb.brd: rerouted traces to board edge connector for better
  clearance
2010-10-03 08:13:34 -03:00
Werner Almesberger
88f3dcc8ab Firmware-free C2 programmer, with USB interface. 2010-10-03 03:06:30 -03:00
Werner Almesberger
79396b1777 lib/usb.c (open_usb): Stupid beginner's mistake: wrong operator precedence due
to missing parentheses in device selection caused it to just pick the first
device it found.
2010-08-25 17:26:43 -03:00
Werner Almesberger
5ce904b20f Introduce PLATFORM_ENTER, replacing the old PLATFORM_SETUP for DFU mode
setup. PLATFORM_SETUP now performs early general platform setup, such as
turning off the watchdog.

- fw/boot/boot.c (main): the first thing we do is to run PLATFORM_SETUP
- fw/boot/boot.c (boot_loader): instead of PLATFORM_SETUP, run
  PLATFORM_ENTER
2010-08-25 04:30:28 -03:00
Werner Almesberger
a77a9a611f lib/usb.c (open_usb): libusb documentation claims that considerable
bureaucracy is needed before operations can be performed. This doesn't
seem to be the case, but let's put the code (commented out) anyway,
since it's been written. (This was done while trying to debug another
problem.)
2010-08-24 21:09:22 -03:00
Werner Almesberger
fd09655773 Requests following a rejected SETUP requests failed too, which sometimes
produces user-visible errors and may confuse implementations. (E.g., when
probing for an unimplemented feature and subsequently being greeted by a
timeout.)

- fw/comon/usb.c (handle_setup): set SOPRDY when answering a request error
  with a stall, according to the example in AN139. This seems to eliminate
  the timeouts observed in requests following after bad requests.
- fw/boot/boot.c (run_payload): described how the host is expected to
  respond to the device resetting its USB stack
2010-08-24 19:12:22 -03:00
Werner Almesberger
bc37839a3a f32xbase didn't build on ancient Gentoo due to missing include.
- include/f32xbase/usb.h: include stdint.h
2010-08-24 06:44:44 -03:00
Werner Almesberger
d254ca8755 Minor comment cleanup.
- fw/boot/boot.c (boot_loader): removed GTA01/GTA02-specific comments
- fw/boot/boot.c (boot_loader, main): documented SYSCLK settings
2010-08-23 21:28:16 -03:00
Werner Almesberger
d1b3966e5a Added timer register values.
- fw/common/regs-f32x.h: common values for TCON, TMOD, and CKCON
- fw/common/regs-f320.h: C8051F320-specific values for TMOD and CKCON
2010-08-23 18:11:51 -03:00
Werner Almesberger
0f1c0ea783 - fw/common/regs-f320.h: include mcs51/C8051F320.h, not mcs51/C8051F326.h 2010-08-23 14:31:33 -03:00
Werner Almesberger
1c7150cce8 Registers and register values are now CPU-specific.
- fw/common/regs.h: split into C8051F326-specific regs-f326.h and shared
  regs-f32x.h
- fw/common/regs-f320.h: C8051F320-specific registers and values
2010-08-23 14:26:01 -03:00
Werner Almesberger
fa7fb48296 Put libraries at end of linker invocation to make it work with local
libraries. Some minor cleanup.

- lib/Makefile.common: introduced LDLIBS to place libraries at the end of
  the $(LD) command line
- lib/Makefile.common: put spaces around assignments
- README: added short name of project to title
2010-08-20 16:16:13 -03:00
Werner Almesberger
2a5850591c version.h is no longer generated and it thus only creates confusion if
we create it when making dependencies.

- fw/common/Makefile.common (depend): don't touch version.h
- fw/common/Makefile.common (version): we build version.c, not version.c
2010-08-20 14:26:35 -03:00
Werner Almesberger
7501137fac Added library for items commonly shared among tools.
- lib/Makefile.common: common makefile rules for USB tools
- include/f32xbase/usb.h, lib/usb.c: library with the common open_usb
  function
2010-08-20 14:21:39 -03:00
Werner Almesberger
97d2ed102e fw/boot/boot.c (boot_loader): removed description of IDBG-specific power
sensing.
2010-08-19 09:03:34 -03:00
Werner Almesberger
efdacaf589 Add build rules to simplify platform-specific Makefiles.
- fw/common/Makefile.common: integrated object file specific build rules
  that used to live in fw/boot/
- fw/common/Makefile.common: added section titles
- fw/common/Makefile.common (upload): removed obsolete target
2010-08-19 01:11:14 -03:00
Werner Almesberger
3f5ec8aa9e Use config.h as the main source of configuration data. Fixed some boot.c
glitches.

- fw/boot/boot.c, fw/boot/dfu.c: include config.h for platform defines
- fw/common/Makefile.common: add $(F32XBASE)/fw/common to include search
  path
- fw/boot/boot.c: define dummy for uart_init if no debugging is enabled
- fw/boot/boot.c (PLATFORM_EXIT): typo PLAYFORM_EXIT
- fw/boot/boot.c (run_payload): rename BOOT_SETUP to PLATFORM_SETUP
- fw/boot/dfu.c (device_descriptor): use USB_PRODUCT instead of
  USB_PRODUCT_IDBG_DFU
- fw/boot/config.h: removed for now. Might bring it back later as template.
- fw/boot/version.h: moved to fw/common/
- fw/common/Makefile.system: remove serial setup
2010-08-19 01:01:08 -03:00
Werner Almesberger
fcfaec399a Move platform-specific boot loader configuration into macros.
- fw/boot/boot.c (boot_loader): moved GTA-specific pull-up disable and
  I2C_SDA_PULL enable into macro PLATFORM_SETUP
- fw/boot/boot.c (run_payload): moved GTA-specific pull-up enable and
  I2C_SDA_PULL disable into macro PLATFORM_EXIT
- fw/boot/boot.c (boot_loader): moved GTA-specific I2C_SDA probe into macro
  PLATFORM_TEST
- fw/common/Makefile.common: removed all references to dependencies on
  .target. The caller is now responsible for these.
- fw/boot/dfu.c: don't include idbg/usb-ids.h; USB_VENDOR and USB_PRODUCT
  are now passed via macros
2010-08-19 00:34:19 -03:00
Werner Almesberger
749a4e22a4 README and GPLv2. 2010-08-13 09:03:17 -03:00
Werner Almesberger
e038f87196 fw/example/ - very simple demo application 2010-08-13 08:49:48 -03:00
Werner Almesberger
e23181e40b fw/boot/ - The boot loader, fresh from IDBG. Needs major cleanup. 2010-08-13 08:47:40 -03:00
Werner Almesberger
bdfe058079 fw/common/ - copied from IDBG and generalized a little 2010-08-13 08:47:13 -03:00
Werner Almesberger
c55fc4018d f32x/ - firmware uploader for the C2 protocol. From IDBG. 2010-08-13 08:46:38 -03:00