684 Commits

Author SHA1 Message Date
Jared Boone
b44631f3b1 Removed #defines for GPDMA channel base addresses, changed "API" on other #defines to accept an ordinal instead. 2013-07-07 13:52:11 -07:00
Jared Boone
78884cef16 Changed GPDMA_CHANNELx #defines to use correct ("GPDMA_BASE") value as peripheral base address. 2013-07-07 13:52:11 -07:00
Jared Boone
0dc4443e26 Renamed DMA_BASE to GPDMA_BASE to match peripheral name (and #defines in gpdma.h). 2013-07-07 13:52:11 -07:00
Jared Boone
518b97efb6 Added generated headers and hand-crafted #defines for register fields common across many register sets. 2013-07-07 13:52:11 -07:00
Jared Boone
8abefef07d Rename indexed #define macros for channel-specific GPDMA registers, to match documentation and avoid conflict with the GPDMA_CONFIG register name. 2013-07-07 13:52:10 -07:00
Jared Boone
b1e5c77e1d New SGPIO field #defines, generated from sgpio.csv. 2013-07-07 13:52:10 -07:00
Jared Boone
733c117c53 Added generalized #defines for USB0 ENDPTCTRL register fields. 2013-07-07 13:52:10 -07:00
Michael Ossmann
4112a3c723 finished GPIO registers 2013-07-07 13:52:09 -07:00
Jared Boone
0323d020d0 USB controller in-memory structure #defines/typedefs for dTD and dQH. 2013-07-07 13:52:09 -07:00
Jared Boone
96ea1a35a3 #defines for making USB structure definitions a bit simpler. 2013-07-07 13:52:09 -07:00
Michael Ossmann
029bf6cbcc typo fix in eventrouter.h 2013-07-07 13:52:09 -07:00
Jared Boone
b5ba6451af Fixed typo from user manual. 2013-07-07 13:52:08 -07:00
Jared Boone
28df3a2e12 Tweaked #defines of USB0_ENDPTCTRLx to use an indexed #define, which will be handy in other places... 2013-07-07 13:52:08 -07:00
Jared Boone
24d8d81b43 Add generated bit/shift/mask #defines for CGU, CREG, RGU, USB (USB0 only) peripherals.
Added script used to generate #defines above.
Fixed one small change in the #define naming scheme in i2c0_init().
2013-07-07 13:52:08 -07:00
Michael Ossmann
a0624ecd21 creg.h updates from newer data sheet 2013-07-07 13:52:07 -07:00
TitanMKD
f8542c09a6 UART driver and Example code for JellyBean. 2013-07-07 13:52:07 -07:00
Piotr Esden-Tempski
2f425af647 [Style] A small coding style fixing session. 2013-07-05 20:35:13 -07:00
Piotr Esden-Tempski
beeb9c3f65 [Style] Do not declare new types if not really necessary. 2013-06-30 22:20:51 -07:00
Piotr Esden-Tempski
647b878031 [Style] Coding style fixes.
* No trailing white spaces
 * No sapces before tabs
 * "int *var" and not "int * var"
2013-06-30 22:09:25 -07:00
BuFran
035c67ced6 Add preliminary support for Cryptographic coprocessor on stm32 F2 and F4 2013-06-30 21:20:42 -07:00
BuFran
3bc5a249a1 Added support for BitBand I/O 2013-06-19 13:51:56 +02:00
Piotr Esden-Tempski
fb5c86db07 Spellchecking fixes. 2013-06-16 14:06:37 -07:00
Piotr Esden-Tempski
169dbd6c08 Dropped raw option on github file archive links. 2013-06-13 11:26:16 -07:00
Piotr Esden-Tempski
e4a86e269e Replaced goo.gl links with links to our new file archive at github.
https://github.com/libopencm3/libopencm3-archive
2013-06-13 11:20:04 -07:00
Piotr Esden-Tempski
cabbd21329 Reverted the __packed and __aligned change.
We should not add compiler extensions, it is not our job. We are not a
selfcontained project as kernel is so we should not introduce things
like this.

If we need to add some abstraction for this in the future to support
compilers doing these things differently then we will do that the same
way we dealt with the depricated attribute.
2013-06-13 10:29:43 -07:00
Piotr Esden-Tempski
8da7fbd71e Changed to use accessors instead of casting to volatile pointers.
In places where we were defining memory mapped peripheral buffers we
were using directly a cast to "volatile int_type *". For consistency we
should use dereferenced accessor like: &MMIO32(address)
2013-06-12 21:37:55 -07:00
Piotr Esden-Tempski
39fa9e4c58 Stile fixes run, 80 char boundry. 2013-06-12 21:07:35 -07:00
Piotr Esden-Tempski
34de1e776e Changed to use stdint types. 2013-06-12 19:11:22 -07:00
Piotr Esden-Tempski
7df63fcae0 First coarse run to fix coding style in locm3.
Added --terse and --mailback options to the make stylecheck target. It
also does continue even if it enounters a possible error.

We decided on two exceptions from the linux kernel coding standard:
- Empty wait while loops may end with ; on the same line.
- All blocks after while, if, for have to be in brackets even if they
  only contain one statement. Otherwise it is easy to introduce an
  error.

Checkpatch needs to be adapted to reflect those changes.
2013-06-12 18:22:56 -07:00
Ben Gamari
80824ea22c stm32f1/adc: Kill redundant ADC_SMPR macros 2013-06-02 18:34:12 -07:00
Ben Gamari
e8182a39ab stm32f4/adc: Kill redundant ADC_SMPR macros 2013-06-02 18:32:54 -07:00
Ben Gamari
e5a3a582fd stm32/f4/adc: Fix SMPR_SMP values
These were brought over (incorrectly) from the F1.
2013-06-02 18:32:31 -07:00
Piotr Esden-Tempski
99a909dba0 Fixed "function declaration isn't a prototype" warning introduced by the last patch. 2013-06-02 18:25:52 -07:00
Mikhail Avkhimenia
15e35d5bc1 [stm32] Added basic support for hash processor
Added hash processor register definitions and main functions. Hash
processor is supported in stm32f21, stm32f41 and stm32f43 and can be
used to calculate Md5 and Sha1.
2013-06-02 18:23:49 -07:00
Ken Sarkies
f5c9bdfe61 Changes to doxygen markup to solve a few problems that upset
doxygen, and to correct minor errors.
2013-06-02 18:17:49 -07:00
Paul Fleischer
b876b72b39 lm4f: Add control over UART FIFOs 2013-06-02 18:05:49 -07:00
Gareth McMullin
662a2cb8fa sam: Add convenience function for clock setup using internal 4MHz. 2013-06-02 18:01:38 -07:00
Gareth McMullin
ce3e3dc39b Split sam3x/sam3n support. 2013-06-02 18:01:38 -07:00
Alexandru Gagniuc
4535a4c9b6 lm4f: Implement GPIO interrupt control
Implement an API to specifiy the interrupt trigger for GPIO pins, and
control interrupts. This completes the GPIO API.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-06-02 16:16:46 -07:00
Alexandru Gagniuc
f53839f33f lm4f: Implement GPIO configuration and control
Everything needed to set up and control the GPIO pins is implemented,
EXCEPT setting up interrupts. This is the subject of a subsequent patch.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-06-02 16:16:46 -07:00
Alexandru Gagniuc
a3784aa54f lm4f: Add GPIO register definitions
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-06-02 16:16:46 -07:00
Alexandru Gagniuc
991fbd01be lm4f: Add all GPIO ports to memorymap.h
The base addresses for GPIO ports J through Q were missing. Add them.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-06-02 16:16:46 -07:00
Alexandru Gagniuc
de55bbc46e lm4f: "Pretty-ize" the look of Doxygen comments in gpio.c/.h
Put the Doxygen blocks in well-formatted C comments. This looks better
and is less distracting than putting them in unformatted comments.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-06-02 16:16:46 -07:00
Alexandru Gagniuc
4c45702d2d lm4f: Switch GPIOs to using AHB bus ***WARNING***
The AHB bus allows faster control of GPIO pins versus the older APB bus.
The GPIO ports A through H default on the APB bus. Change the GPIOx
defines in gpio.h to use the base address of the AHB bus.

There's another reason to use the AHB bus: ports K tand highercan only be
accessed via the AHB bus.

***WARNING***
To work, GPIO acces to the AHB bus must be explictly enabled via the
GPIOHBCTL register. Without any additional change, this patch will break
any code using the older APB bus. If the GPIOHBCTL is not properly
modified, any acces to the GPIO register will cause a hard fault.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-06-02 16:16:46 -07:00
Alexandru Gagniuc
9d46103ced lm4f: Add functions for controlling USB interrupts
Add functions to enable and disable USB interrupts, and document how to
use these functions to run usbd_poll() from the usb ISR.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-05-16 01:36:17 -05:00
Alexandru Gagniuc
ad048f7d5a lm4f: Add doxygen documentation for the USB driver
Add minimal documentation for the USB driver. The internal functions and
structs are excluded.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-05-16 01:36:10 -05:00
Alexandru Gagniuc
df5bc49245 lm4f: Add USB register definitions
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-05-15 18:17:06 -05:00
Fergus Noble
4ad30d56b4 Add higher level flash_program function for f2/f4 to write a buffer into flash. 2013-05-10 18:53:19 -07:00
Fergus Noble
410be2a39a **** WARNING **** This change may break your code!!!
Change flash_erase_sector (f2/f4) to take numerical sector argument.

As opposed to using one of the defines in the header, this is more convenient when programatically deciding which sectors to erase.
2013-05-10 18:51:01 -07:00
Fergus Noble
b039504494 Moving stm32 f2/f4 flash code into the common area. 2013-05-10 18:34:55 -07:00