598 Commits

Author SHA1 Message Date
Federico Ruiz Ugalde
b8764d0214 Makefile for f3 lib added. Gpio.c and rcc.c also in. 2013-07-07 16:01:46 -07:00
Federico Ruiz Ugalde
67c979e5fa Fixed compile of f4 and l1 after gpio_common_f234.c renaming. 2013-07-07 16:01:46 -07:00
Federico Ruiz Ugalde
a156b9e8fc linker script file for f3 added. 2013-07-07 16:01:45 -07:00
Federico Ruiz Ugalde
3af5833b83 Initial support for stm32f3. Changes in makefiles, gpio.
- Makefiles now include building f3 src directory.
- Gpio support added. gpio_common_f24 changed to support also f3.
- f3 still not compiling, but f2 compile not broken (probably also f4).
2013-07-07 16:01:45 -07:00
Ben Gamari
d7fdcefbd7 lpc43xx: Fix rom_to_ram linker script
It was missing some definitions compared to the libopencm3_lpc43xx.ld.
2013-07-07 18:22:56 -04:00
Piotr Esden-Tempski
b72a3640b3 [CM0] Disabled sync for LPC43xx/M0.
We are currently using the same code for CM0 CM3 and CM4 cores. This
patch is a bodge that disables sync on the LPC43xx/M0 core, it would be
nicer to probably implement a dispatch system similar to the one used in
stm32 peripheral support so that we can accomodate the different
features of the cortex cores. I (esden) assume we will run into more
incompatibilities in the future between the cortex cores.
2013-07-07 13:58:00 -07:00
Ben Gamari
11ea9b090c sync: Add comment 2013-07-07 13:52:16 -07:00
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
3ab761d244 Remove dead lpc43xx_m0/vector.c 2013-07-07 13:52:15 -07:00
Ben Gamari
9aa2f82164 lpc32xx_ram_only.ld: Fix region name 2013-07-07 13:52:15 -07:00
Ben Gamari
8eb5fba93b lpc43xx/uart: Fix code style 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
8201703e64 lpc43xx/ssp: Fix duplicate function definition from merge 2013-07-07 13:52:14 -07:00
Ben Gamari
994e679fb8 lpc43xx: Clean up linker script breakage 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
26162762b7 lpc43xx: Update linker scripts 2013-07-07 13:52:13 -07:00
Ben Gamari
17fd708f66 Move lpc43xx and lpc43xx_m0 code to lpc43xx/ hierarchy
Previously there were nasty dependency issues causing M4 objects to be
linked into the M0 library
2013-07-07 13:52:13 -07:00
Hoernchen
16424d1c69 m0: remove useless remap
The m4 will 1) remap 2) start the m0, so it already is remapped, if it's
not, then we'd never execute this code anyway.
2013-07-07 13:52:13 -07:00
Hoernchen
4c8d260232 make sure the m0 is really running/stopped 2013-07-07 13:52:13 -07:00
TitanMKD
e5a4dd0609 Cleanup M0 makefile to avoid copying file from lpc43xx(M4) directory. 2013-07-07 13:52:13 -07:00
TitanMKD
786e3215a4 Fixed a problem with rom to ram. (which can produce error "cannot move location counter backwards") 2013-07-07 13:52:12 -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
edab264704 Added _data_rom / _edata_rom for ld ram only and standard spifi ld Fixed ROM to RAM copy of ".data" 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
25d7853422 Switch ssp.c to using CGU #defines instead of local #defines. 2013-07-07 13:52:12 -07:00
Jared Boone
18d72099a5 Changed ldscripts to use new RAM region names, placed .data/.bss/stack into separate local RAM region.
Added ldscript for RAM-only debugging over SWD or JTAG.
2013-07-07 13:52:10 -07:00
Jared Boone
ffffb71ba2 Added distinct _bss ldscript constant, in case .text and .bss are not contiguous. 2013-07-07 13:52:10 -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
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
56e2928ebe [Style] Removed trailing spaces. 2013-06-30 23:40:44 -07:00
BuFran
c2f7128459 Linker generation script for most of the supported chips 2013-06-30 23:30:35 -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
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
Felix Ruess
0bf8324c91 stm32f1: add timer.o to objects for timer_ic_set_polarity 2013-06-04 18:44:19 +02:00
Karl Palsson
a5966093e6 [stm32l1] Never write illegal values to voltage range selection
According to the reference manual, you are _forbidden_ from writing 00 to the
VOS[1:0] bits in PWR_CR.  Writing a 00 is automatically turned into range 2,
or, 10.  Attempting to then |= the bits for range 1 (01) results in the final
result of choosing voltage range 3 (11).  This has fairly catastrophic effects
if you then attempt to switch to PLL clock at 32Mhz.

Oddly, the existing code was working fine on STM32L151C6 revision W, but
failing with revision V silicon.  Regardless, the existing code was wrong and
not following the reference manual.

Further, attempting to change any power voltage range settings without the RCC
enabled will have no effect, so all the higher level helper routines
have added peripheral enable lines before attempting to set the range.
2013-06-03 19:38:37 +00:00
Karl Palsson
8cfaef7fb6 [stm32l1] Don't use an intermediate clock in setup
This switch to HSI was an attempt to run the setup code faster. However,
there's no real need for this, and it just confuses things by switching first
to one clock, and then to another.  Just keep running on the existing clock
until switching to the clock actually chosen by the user's arguments.
2013-06-03 19:38:37 +00:00
Ben Gamari
d90ec98f52 stm32: Add missing exti_get_flag_status 2013-06-02 18:32:40 -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
Karl Palsson
bad5580492 [make] Use less shell variables
Use fixed variables for things that can't change, instead of variables
like SRCLIBDIR that was causing a shell call for every single use.

Use less functions in general and less shell expansions.

Use builtin functions like $(realpath blah) instead of $(shell
pwd)/blah  In particular, this was important for me trying to build on
windows with git-shell.  This should help a lot on smaller build
machines, but doesn't make a huge difference on my own.

Remove redundant clean print messages. These also cause more needless
shell expansions.
2013-06-02 18:11:49 -07:00