362 Commits

Author SHA1 Message Date
Daniel O'Connor
404353b1aa - Add FSMC helper macros. IMO FSMC_BTR_ACCMOD aren't much use, but I left them in case someone uses them.
- FSMC_BASE is already in memorymap.h so don't define it here.
2012-03-22 15:43:07 -07:00
Daniel O'Connor
5a463f03e1 Cast PERIPH_BASE to unsigned otherwise certain operations result in build problems (overflow signed type). 2012-03-22 15:41:43 -07:00
Daniel O'Connor
f76e99c98d Add mask for SWJ bits.
(These are write only)
2012-03-22 15:41:19 -07:00
Fergus Noble
a30fc96c59 Revert "Fix setting alternate port functions on the STM32F2."
This was also fixed in ac29b654a992a4855626fc0b92874d3847914f85 in a
different way. I think the mask definition should be left with 1s
indicating the bits of interest.

See also 87ea496ca768d18e51d8654cbad9cb261a881b1b.

This reverts commit 2433f17e7341d6afcda24d395d0b93c50a37b7b1.
2012-03-21 20:19:36 -07:00
Fergus Noble
87ea496ca7 Revert "Fix setting alternate port functions on the STM32F4."
This was also fixed in ac29b654a992a4855626fc0b92874d3847914f85 in a
different way. I think the mask definition should be left with 1s
indicating the bits of interest.

This reverts commit e11185d47d0a2fea6d2782761edd5fd489541512.
2012-03-21 20:16:10 -07:00
Piotr Esden-Tempski
ec34e21ead Changed parameter size for trigger enable. 2012-03-19 20:20:05 -07:00
Piotr Esden-Tempski
451a5e227d Started some cleanup in the ADC headers and convenience code. 2012-03-19 17:38:24 -07:00
Piotr Esden-Tempski
4e26104c18 Fixed position of PSIZE bits, thanks to Patrick for spotting this. 2012-03-17 16:17:40 -07:00
Piotr Esden-Tempski
aaa0158221 Fixed operation order for dma bit calculations. 2012-03-13 12:18:28 -07:00
chrysn
da4567a035 efm32: registers for leds 2012-03-04 22:48:13 +01:00
chrysn
692817059c various enhancements for header generation
* don't reference sections that don't exist (typically happens for
  registers that don't contain any fields and are interpreted
  numerically.

* allow templates to use override_backref for surpressing the list of
  registers that use it

* print doc for fields even when it uses values or only exports a mask

* allow fields to define their own mask; those fields have to define
  their values explicitly too, and don't have to provide a shift

* don't print a "No values defined for the field" lines, as there's
  always a mask in that case by now.
2012-03-04 22:43:52 +01:00
chrysn
c2fdd6e751 header file generation learned register templates
registers that have the same structure can now use shared value
definitions. the abstraction is kept active through the header
generation; that is, no cartesian product code is generated.
2012-03-04 19:45:13 +01:00
chrysn
e1a660eb9d efm32 cmu: convenience functions
includes a fix for the register definitions (subtle differences between
two fields)
2012-03-04 16:59:20 +01:00
chrysn
61b649370f efm32: generate _MASK constants
constants are generated for all fields that either have named values or
length > 1
2012-03-04 16:57:43 +01:00
chrysn
bc1bff477b efm32: shortened doxygen names and grouped them per chip family 2012-03-04 16:56:48 +01:00
chrysn
d3fe8c18f8 experimental yaml based header file generation
the header file genertion mechanism here is designed to:

* use human readable source data that is better structured and less
  repetitive than the header files themselves

* produce same quality header files than the manual process of writing
  them. some features were not yet enabled to show that the existing
  headers didn't change. (look at emu.h's differences. whitespace
  switched from tabs to spaces as they are easier to handle, use
  --color-words to see the few differences that stemmed from
  inconsistencies in the original file.)

* be less tedious and thus error prone when doing large modifications
  (eg, i forgot to add _MASK to bitfields, would like to enable
  bitbanding acces, and to overhaul the naming in doxygen modules)
2012-03-04 12:49:06 +01:00
chrysn
cdf36e6c8e efm32: some more cmu registers and doxygen update 2012-03-03 20:19:03 +01:00
chrysn
78c93dc779 add missed license headers to efm32 files
some files had nonstandard shared copyright lines, fixed them too
2012-03-03 00:26:55 +01:00
chrysn
4668adcf1f follow the license change to lgpl3 in efm32
this follows the license change of the master branches in [43561de]. all
files whose copyright is not my own are originally based on files whose
license has been changed in master.

the expression used for the conversion was:

sed -i -e 's/This program is free software: you can redistribute/This library is free software: you can redistribute/g' -e 's/under the terms of the GNU General Public License as published/under the terms of the GNU Lesser General Public License as published/' -e 's/This program is distributed in the hope that/This library is distributed in the hope that/g' -e 's/You should have received a copy of the GNU General/You should have received a copy of the GNU Lesser General/' -e 's/along with this program.  If not/along with this library. If not/' -e 's/GNU General Public License for more details/GNU Lesser General Public License for more details/' */**/efm32/**/*(.)

[43561de] 43561de3297b88d68753cb4625d6dc48bfb43d71
2012-03-03 00:21:21 +01:00
chrysn
563586c072 Merge branch 'master' into efm32 2012-03-02 23:59:52 +01:00
Piotr Esden-Tempski
43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
chrysn
e388056fda efm32: energy management unit headers and example 2012-03-02 21:54:23 +01:00
chrysn
eda122180a (efm32: remove todo that couldn't work out) 2012-03-02 21:53:52 +01:00
Piotr Esden-Tempski
994d559a6c Corrected interrupt flag register defines. 2012-02-29 18:00:10 -08:00
Piotr Esden-Tempski
f5cd026ae3 Added dma_channel_reset prototype. 2012-02-29 17:53:46 -08:00
chrysn
541fded753 convenience functions for efm32 gpio
also, the whole gpio header file is now a big doxygen group, structuring
the convenience functions and the register/value definitions
2012-03-01 02:18:22 +01:00
Piotr Esden-Tempski
ec904f176b Cleaned up and streamlined DMA support for f1. Definitely needs a bunch of testing! 2012-02-29 16:02:51 -08:00
chrysn
a747e887bd efm32 tinygecko gpio: implemented all the bit values
along with the actual implementation comes a first attempt to better
structure the doxygen groups. putting all the groups in a bigger one
makes it easier to reference them from the file itself, and makes the
structure clearer on the module page.
2012-02-29 02:32:14 +01:00
Piotr Esden-Tempski
c49f505df4 Added spi reset convenience function. 2012-02-28 11:28:29 -08:00
chrysn
f4376371ec efm32: minor documentation enhancements 2012-02-27 13:24:19 +01:00
chrysn
f6025af859 efm32 tinygecko: defined interrupts
there seems not to be anything family specific about the interrupt
vectors of m3 based efm32 systems, thus renaming vector.h to irq.h
2012-02-27 13:21:40 +01:00
chrysn
be62115f00 efm32: created memory map from all base addresses 2012-02-27 12:01:41 +01:00
chrysn
2275ed7b0c overhauled documentation
includes minor refactoring in example code and modification of how the
generic and the tinygecko specific vector.h go together (bringing it in
line with stm32/f1's memorymap.h)
2012-02-26 03:42:25 +01:00
chrysn
08918902ab made blinking a led on efm32 possible
this includes all register definitions for the gpu and mcu modules, but
not all their bit definitions
2012-02-25 23:22:37 +01:00
chrysn
2180a02e2f first attempt at porting libopencm3 to energymicro
unless sources are explicitly given, the linker scripts and make files
were copied over from the stm32/f1 port.
2012-02-25 23:22:37 +01:00
Piotr Esden-Tempski
2b3f07ee08 Added reset function to i2c convenience functions. 2012-02-24 17:14:50 -08:00
Piotr Esden-Tempski
cbef43ddd8 Added set priority group convenience function. 2012-02-24 16:43:37 -08:00
Piotr Esden-Tempski
c5e5c0fdab Updated SCB_AIRCR_PRIGROUP bit definitions to be more consistent with the style the library. 2012-02-24 16:21:23 -08:00
Piotr Esden-Tempski
bffbb0e54d Added missing gpio definitions for timer 5. 2012-02-13 19:45:28 -08:00
Piotr Esden-Tempski
5a384ff895 Added combined gpio bank definitions to timers as you tend to set those up in bulk. 2012-02-13 16:02:08 -08:00
Piotr Esden-Tempski
b325c81127 Forgot some BANK suffixes. 2012-02-13 13:51:41 -08:00
Piotr Esden-Tempski
d4ea773de4 Added bank definitions to f1 gpio header. 2012-02-13 13:40:49 -08:00
Gareth McMullin
2433f17e73 Fix setting alternate port functions on the STM32F2.
Thanks to Ricardo Martins.
2012-02-12 15:00:09 -08:00
Gareth McMullin
e11185d47d Fix setting alternate port functions on the STM32F4.
Thanks to Ricardo Martins.
2012-02-12 15:00:09 -08:00
Mike Smith
7da1967056 Add an interface for soft disconnection, and hook it up in the F107 driver. 2012-02-12 15:00:08 -08:00
Uwe Hermann
5f82f28d01 f2/dma.h: Whitespace and coding-style fixes. 2012-02-06 23:27:00 +01:00
Fergus Noble
9949b5dcf4 Fixed typo in F2 dma header to match the datasheet. 2012-02-06 23:08:07 +01:00
Fergus Noble
477c410be4 Added functions to enable and disable DMA from stm32 USART. 2012-02-06 23:08:07 +01:00
Fergus Noble
31b0466525 DMA register definitions for F2. 2012-02-06 23:08:06 +01:00
Gareth McMullin
0731bba610 usb: Added support for Interface Association descriptors. 2011-12-28 21:05:41 +13:00