Commit Graph

84 Commits

Author SHA1 Message Date
Ben Gamari 78081bd794 lpc43xx: Add irq.yaml for M0 core 2013-07-07 13:52:16 -07:00
Ben Gamari c25461dfce lpc43xx: Move M4 specific files to m4/ 2013-07-07 13:52:15 -07:00
Ben Gamari fa47bb80d5 lpc43xx/uart: Fix TER register definition
I'm not sure why bit 7 and offset 0x30 were used previously. Revision
1.6 of UM10503 claims that the TXEN bit is bit 0 in all UARTs' TER
registers.
2013-07-07 13:52:15 -07:00
Ben Gamari dbf9c3bc39 lpc43xx/uart: Kill _BITMASK definitions for single-bit fields 2013-07-07 13:52:15 -07:00
Ben Gamari b0550ce0bf lpc43xx/uart: Uncomment register definitions 2013-07-07 13:52:15 -07:00
Ben Gamari 8201703e64 lpc43xx/ssp: Fix duplicate function definition from merge 2013-07-07 13:52:14 -07:00
Ben Gamari e8af7a98ee lpc43xx/ssp: Add ssp_transfer 2013-07-07 13:52:13 -07:00
Ben Gamari 0d29b1d2d6 lpc43: Use uint*_t instead of u* 2013-07-07 13:52:13 -07:00
Ben Gamari fa9fa986df lpc43xx/uart: Add missing BEGIN/END_DECLS 2013-07-07 13:52:13 -07:00
TitanMKD 0dec187fee lpc43xx basic IPC for multicore M4 & M0 (with basic examples for hackrf jellybean). 2013-07-07 13:52:12 -07:00
TitanMKD 439957155b Added SGPIO structure for faster/better code generation (especially when optimized with -O2/-O3).
This structure is compliant with LPC43xx User Manual UM10503 Rev.1.4 - 3 September 2012.
2013-07-07 13:52:12 -07:00
Jared Boone f4e45e74bc Add a duty cycle count argument to i2c0_init() to adjust for changes in APB1 clock. 2013-07-07 13:52:12 -07:00
Jared Boone 18bcbc3d28 Consolidate ssp_read and ssp_write into a single function, ssp_transfer. SSP bus transfers are bi-directional -- when bytes are written, they are also read. 2013-07-07 13:52:12 -07:00
Jared Boone df922b9021 Corrected GPDMA_INTSTAT #define name typo. 2013-07-07 13:52:11 -07:00
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 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
Ken Sarkies 1627cd60c3 Documentation structures added to place the non-STM32 families into the documentation tree.
Actual documentation has not been added. Volunteers?
2013-04-14 15:30:02 +02:00
chrysn bc5146b710 unified systick handling
the only change this results in in the example binaries is in the
hackrf-jellybean/systick example, where the the check in
systick_set_clocksource for overflowing from the stm32 area gets used.
2012-10-18 22:48:14 +02:00
chrysn 5ceb377a37 switch all interrupt lists to yaml format 2012-10-18 16:52:48 +02:00
chrysn a8a6eb39e9 add irq cound to existing nvic.h files 2012-10-18 13:19:55 +02:00
chrysn 837de3ff97 nvic.h factored out (incomplete) 2012-10-18 10:27:51 +02:00
chrysn a69d83d312 unified vector table initialization
the cortex generic interrupts get moved to lib/cm3/vector.c, the
platorms' individual irq names, initialization and handler prototypes go
to platoform specific irq.h files.

as the vector.c file heavily depends on platoform specific headers, it
can't be built once-and-for-all in lib/cm3/, so there are inclusion
stubs in the various architecture dirs; this might be better solved with
Makefile / include path handling.

one particular file is lib/lpc43xx/vector.c; that platform's
initialization code contains an additional section to copy everything
from flash to ram (which probably performs better there). that code
still resides in the inclusion stub, and gets mashed in using defines.
would need a cleaner implementation together with the Makefile solution.

this commit contains some files of the upcoming efm32 branch, from which
it was cherry-picked.

the .bin files produced from before and after this commit only differ in
lpc43xx, where the startup sequence was subtly modified.
2012-10-05 00:55:24 +02:00
Ken Sarkies ff83a1ae1c Setup to document entire project using doxygen.
New doc directory with config files and generated html, LaTeX/pdf.
Makefile provided for autogeneration and explanatory README.

The project structure is hostile to doxygen, which can't cope with functions
of the same name. Doxygen is run for each family separately, and separately
for LaTeX generation. Customized layout files sort of "integrate" HTML, and
separate pdfs are generated for each family. Not ideal but seems the best
solution until doxygen changes, if at all.
2012-09-15 12:51:46 +09:30
Nicolas Schodet 5ad8f26ede Fix comments typo 2012-09-02 17:15:13 +02:00
Nicolas Schodet 3aab6220d8 Add C linkage declaration for C++ usage 2012-09-02 17:12:58 +02:00
TitanMKD 81317c02ab * Updated GPIO added gpio_toggle() function.
* Fixed ROM to RAM Linker script (libopencm3_lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld).
2012-06-25 22:12:00 +02:00
Jared Boone e28d07b81e Updated SGPIO #defines to match register naming in latest (8 June 2012) User Manual. 2012-06-14 11:16:15 -07:00
Jared Boone 44a79ca13e Add SGPIO slice defines and indexed register access macros. 2012-06-13 16:48:47 -07:00
TitanMKD 8d97dbc7c3 Work on scs.h register and also nvic.h.
ARM Interrupt API (see nvic.h).
ARM SysTick API (see systick.h).
Example using both Interrupt and SysTick and blink LED1/2/3 see systickdemo.c.
2012-06-09 18:27:42 +02:00
Michael Ossmann bef51163ce more CGU register values 2012-06-06 21:24:39 -06:00
TitanMKD 8adc873e84 Fixed SSP, tested with Oscilloscope Write work fine (tested SPI Mode).
For more details on tests see ssp/README.
2012-06-06 00:30:25 +02:00
Michael Ossmann 416f633dbb fixed some column alignment to conform with libopencm3 precedent 2012-06-05 08:03:34 -06:00
Michael Ossmann 3a4a6b75de resolved minor conflict 2012-06-04 18:00:20 -06:00
TitanMKD d7a7fd9d30 * Added SSP Driver (Not Tested).
* Replaced leading space by tabulations.
2012-06-05 01:41:54 +02:00