Commit Graph

1989 Commits

Author SHA1 Message Date
Travis Geiselbrecht
0d58a1a108 [external][arm][cmsis] update to new pristine copy of CMSIS for cortex-m
CMSIS 5.1.0 from the CMSIS 5.5.1 pack

Pristine copy, build broken until next commit.
2019-06-12 14:26:36 -07:00
Travis Geiselbrecht
1a45b90077 [arch][arm-m] clean up the low level exception code
Removes a need for a large #if for armv7-m vs armv6-m. Combine the
two paths with conditional assembly code.
2019-06-11 14:47:03 -07:00
Travis Geiselbrecht
2e417c0488 [lib][gfx][mandelbrot] make sure alpha channel is set
stm32f7 discovery board apparently requires the alpha channel to be set.
2019-06-10 17:10:42 -07:00
Travis Geiselbrecht
75b312b30b [lib][fs][spifs] abort cleanly on mount if device is null 2019-06-10 17:10:42 -07:00
Travis Geiselbrecht
47ebb40185 [script][stm32f7-disco-test] tweak board config file
Matches what stock openocd 0.10.0 names the config file for this
particular board.
2019-06-09 23:21:24 -07:00
Pibben
6a5f974ae9 [lib][bio] sub device inherits parent device erase_byte
Sub device inherits parent device erase_byte.
Nand flash device is with erase_byte = 0xFF, but in bio_publish_subdevice,
the sub device erase_byte will be with initial value 0.
When the image with the chunk of 0, the chunk is not written, but the
read value is 0xFF.

Signed-off-by: Pibben <pibben.tung@mediatek.com>
2019-04-10 01:58:12 -07:00
Travis Geiselbrecht
291bdce364 [project][qemu-virt-arm] rename to arm32 and arm64
Less confusing than a15 and a53
2019-03-30 20:11:22 -07:00
Travis Geiselbrecht
41a7937444 [scripts] add parallel building script and use it in most build scripts 2019-03-30 20:06:12 -07:00
Travis Geiselbrecht
4148863969 [platform][qemu-virt] rename to qemu-virt-arm
Makes space for a new platform using the virt machine in qemu on another
architecture.
2019-03-30 19:46:30 -07:00
Travis Geiselbrecht
39d02cf01f [build][arch][arm] squelch additional LIBGCC and compile flags echoing
Already printed elsewhere, quiet down the build a bit.
2019-03-23 09:57:19 -07:00
Erik Gilling
dcfd291dd2 [stm32f0xx][i2c] Add ability to override TIMINGR. 2019-03-11 15:10:40 -07:00
Travis Geiselbrecht
63be190d8b [target][sifive-e] Get LK working on a Sifive Hifive1 board
-added support for bringing up the clocks and setting up the gpio bits
before starting the uart.
-add a proper target init routine
-add scripts to flash board via openocd
-fixed bug in riscv interrupt save state where it wasn't saving mstatus
on irq entry.
-comment out cycle enabling, not implemented on this core
2019-02-18 22:13:22 -08:00
Travis Geiselbrecht
a0a6b10e0b [arch][riscv32] rename the qemu target sifive-e
The initial port is really a Sifive E platform. Call it what it is and
make space for bringing up the Sifive U and virt qemu target.
2019-02-17 20:29:50 -08:00
Travis Geiselbrecht
ee04645a0c [make] fix typo in build output 2019-02-17 20:29:50 -08:00
Travis Geiselbrecht
a53ce0c42c [arch][arm] move -Mreg-names-raw behind an arch specific flag 2019-02-17 20:27:54 -08:00
Travis Geiselbrecht
dc2fe55fa9 [arch][riscv] set up the global pointer register
The linker will automatically relax any dereferences and calculations
for symbols located near the symbol __global_pointer$.
2019-02-17 18:55:42 -08:00
Erik Gilling
7ca88d22b5 [stm32f0xx] Fix '072 vector table.
The STM32F072 and STM32F070 have different vector tables.  We can't
 #ifdef on the existance of the constans like PVD_IRQn because they
 are enum values.  Right now, since we only have two supported variants,
 we're switching on the variant.  This will likely not scale.
2019-01-24 13:30:21 -08:00
Erik Gilling
060c82214d [stm32f0xx] Fix i2c clocks for HSI48 source. 2019-01-22 20:00:38 -08:00
Travis Geiselbrecht
4c29a608e9 [platform][pc] fix up bios32 PCI support, get pci IDE working again
-Spiff up the device driver starting logic to allow for statically
started devices, instead of always automatic.
2018-12-31 16:47:32 -08:00
Travis Geiselbrecht
1fbb67228d [platform][pc] get working on legacy 386 PC
-Add support for x86 legacy mode, designed for 386+ instead of pentium+
-Fixup uart driver to support com2
-Stub out PCI driver properly
-Fixup IDE driver to detect legacy disks
2018-12-30 21:08:58 -08:00
Eric Holland
be72298b9c [nrf][timer] fix bug in hires 2018-12-19 16:05:09 -05:00
Travis Geiselbrecht
f98cef7992 [warnings] fix warnings across the entire code base
Fix or squelch all warnings in all code covered by buildall.
2018-12-16 17:33:22 -08:00
Travis Geiselbrecht
e608867d71 [libc] fix strncpy to zero out remaining space in the target 2018-12-16 17:23:56 -08:00
Travis Geiselbrecht
08a4ee17f0 [make] add build switch to set -Werror in compile steps 2018-12-16 16:54:31 -08:00
Travis Geiselbrecht
7bbf6d5831 [nit] fix extraneous trailing ; in CDECLS lines 2018-12-16 16:49:40 -08:00
Travis Geiselbrecht
8cf28bbdcf [arch][riscv] Initial port to a riscv32 sifive target
Currently targets qemu's sifive_e machine, which is a split flash/ram
machine, much like the Sifive HiFive1. Untested as of yet on a real
HiFive1.

Basic support including interrupts and architectural timers in place.
2018-12-16 16:44:23 -08:00
Travis Geiselbrecht
fdb41e1d8b [scripts][codestyle] replace the old tab based codestyle script with the space based one 2018-12-16 16:41:38 -08:00
Travis Geiselbrecht
4f978d8580 [scripts][codestyle] tweak the space codestyle script to use -A2 (java style) braces
Dunno why it got set to -A4 before.
2018-12-16 16:41:38 -08:00
Eric Holland
81f50225ac [nrf][timer] improve time keeping in RTC
Improve accuracy of current_time and current_time_highres.
2018-12-13 20:47:50 -08:00
Travis Geiselbrecht
3446309332 [make] replace the config file generation logic with a much more efficient one
Moves much of the text parsing logic into make itself.
2018-12-01 12:09:34 -08:00
Travis Geiselbrecht
96d98bc160 [make] replace echo commands with $(info)
Seems to result in less forks since it doesn't need to run an echo
binary.
2018-12-01 11:59:42 -08:00
Travis Geiselbrecht
4ada3fc4a8 [make][help] sort the list of projects 2018-11-30 22:45:58 -08:00
Travis Geiselbrecht
5d43aa25eb [arch][rules] create ARCH_LDFLAGS and clean up all the arch rules files to consistently use ARCH_* vars 2018-11-30 22:00:45 -08:00
Travis Geiselbrecht
81fb739873 [travis-ci] add a few more release mode builds 2018-10-13 16:53:02 -07:00
Travis Geiselbrecht
18d501fdcb [arch][arm] fix start.S to make sure r12 has 0 in it 2018-10-13 11:15:54 -07:00
Antonio Nino Diaz
2680c377ec [arch][arm] Fix execution of TLBIALL instructions
After a TLBI instruction the right thing to do is to execute DSB
followed by ISB. DSB ensures that the TLBI is seen by all observers of
the system and ISB ensures that the DSB has finished before continuing.

Also, the value in <Rt> is ignored for a TLBIALL. It isn't needed to
load 0 to r12 and then use r12 in the instruction. In order not to cause
confusion it is better to not load anything to r12.

Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-09-19 10:57:58 -07:00
Antonio Nino Diaz
6792c9e143 [arch][arm64] Fix barriers in startup code
After a TLBI instruction the right thing to do is to execute DSB
followed by ISB. DSB ensures that the TLBI is seen by all observers of
the system and ISB ensures that the DSB has finished before continuing.

Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
2018-09-12 13:12:26 -07:00
Travis Geiselbrecht
17598a2845 [platform][mt6735] fix build 2018-05-26 22:23:34 -07:00
Macpaul Lin
27425305fc [platform][mediatek][common] change default gic controller
According to source release repository of AP7350 (MT6735).
        http://git.huayusoft.com/tomsu/AP7350_MDK-kernel
        https://github.com/alexgoussev/AP7350_MDK-kernel

The common gic controller driver could not adapted to platform mt6735.
Hence a compile option here is needed.

Signed-off-by: Macpaul Lin <macpaul@gmail.com>
2018-05-22 00:05:46 -07:00
Macpaul Lin
65ebf5857d [project][mt6735] add common project mt6735
This common project was based on another project mt6797.
The target platform is mt6735.

Signed-off-by: Macpaul Lin <macpaul@gmail.com>
2018-05-22 00:05:46 -07:00
Macpaul Lin
bf27ebd7bb [target][mt6735] add mt6735 support
Add common target based on platform mt6735.

Signed-off-by: Macpaul Lin <macpaul@gmail.com>
2018-05-22 00:05:46 -07:00
Macpaul Lin
5bec0e8460 [platform][mediatek] add mt6735 initial support
Support MT6735 platform.
Most files are copied from platform MT6797 without any modification.
The register offsets (mt_reg_base.h) were cross-referenced from the following
source code releases.
	http://git.huayusoft.com/tomsu/AP7350_MDK-kernel
	https://github.com/alexgoussev/AP7350_MDK-kernel

ToDo:
	1. Porting other peripheral drivers.
	2. Check what files can be shared between platforms
	   then reduce file duplications.

Signed-off-by: Macpaul Lin <macpaul@gmail.com>
2018-05-22 00:05:46 -07:00
Eric Holland
69963facbe [nrf52][uart] Fix but in UART init 2018-05-20 14:53:02 -07:00
teisenbe
ef505baf75 Merge pull request #231 from teisenbe/stm32f070_fix_uart
[stm32f0xx] Fix UART3/4 interrupts
2018-05-09 02:47:20 -04:00
Todd Eisenberger
af47d547f9 [stm32f0xx] Fix UART3/4 interrupts
The IRQ handler was being misdefined, so the correct ISR was not being
invoked.
2018-05-08 22:46:53 -07:00
Eric Holland
31b8d1d217 [nrf] Support for NRF52840 DK 2018-05-02 14:50:41 -07:00
Todd Eisenberger
e007acc4dc [stm32f0xx] Add support for stm32f070xb
This cleans up handling of a lot of optional components
across f0xx models.
2018-04-17 10:52:14 -07:00
Travis Geiselbrecht
e07741036d [travis-ci] remove the notification to #fnlk 2018-04-14 21:55:23 -07:00
Travis Geiselbrecht
5d766ef592 [travis-ci][vim2] add vim2-test to the build 2018-03-16 15:07:06 -07:00
Payam
6e05388579 [vim2] Initial support for Khadas VIM2 boards 2018-03-16 15:05:10 -07:00