288 Commits

Author SHA1 Message Date
Travis Geiselbrecht
d765352674 [target][stm32746g] use the new proper cache flush api for lcd framebuffer writeback 2015-08-21 11:33:26 -07:00
Travis Geiselbrecht
462a40c597 [target][stm32746g-eval2] add cache flushing routine to lcd updates 2015-08-19 17:53:59 -07:00
Travis Geiselbrecht
dc454e719c [target][stm32746g-eval2] enable external SRAM block, update MPU cache params
For future reference:
TEX 001 C 1 B 1 S 0 is the full cache params for cortex-m7.
2015-08-19 17:24:30 -07:00
Carlos Pizano
fee9612b2e set heap after the lcd memory
So that the gfx console commands don't crash LK.
2015-08-18 14:36:32 -07:00
Travis Geiselbrecht
3967239eb7 [target][stm32746g-eval2] add MPU cache region for sdram, clear lcd on boot 2015-08-17 16:02:19 -07:00
Travis Geiselbrecht
423338d8b7 [target][stm32746g-eval2] add support for lk's display/gfx api 2015-08-17 16:02:19 -07:00
Travis Geiselbrecht
7a97739347 [target][stm32746g-eval2] add lcd initialization sequence 2015-08-17 12:33:31 -07:00
Travis Geiselbrecht
cee3576d22 [target][stm32746g-eval2] add sdram initialization sequence 2015-08-17 11:59:28 -07:00
Travis Geiselbrecht
3799cc6999 [platform][stm32f7] general cleanup of platform/target code
-fix gpio_config, switch usart1 config to this api, move into target code
-switch to just including platform/stm32.h which gets all of the HAL apis
-redo the interrupt driven rx side of usart to be much simpler and directly
 push into the cbuf without using most of the HAL goo.
-reformat for 4 spaces
2015-08-14 15:33:46 -07:00
Brian Swetland
54cfc1a645 [lpc43xx][gpio] implement basic gpio api, clean up header a bit
It's hard to fully unify this without some table mapping GPIOs to PINs.
2015-07-27 12:53:32 -07:00
Brian Swetland
a7abcb473a [target][lpclink2] lpclink2 debugger / development board 2015-07-26 23:04:37 -07:00
Brian Swetland
5747ede097 [target][lpc4337xpresso] absorb the 'generic' 43xx project 2015-07-26 12:28:10 -07:00
Travis Geiselbrecht
867782bb56 WIP STM32F7
add rx side of uart
enable systick at proper speed
2015-07-10 00:52:37 -07:00
Travis Geiselbrecht
94d4d499f7 WIP support for stm32f746g-eval2 board 2015-07-08 02:24:59 -07:00
Brian Swetland
b736d68903 [platform][lpc43xx] support some faster debug uart baudrates
TARGET_DEBUG_BAUDRATE may be 115200, 1000000, 2000000, or 3000000
2015-07-05 23:10:55 -07:00
Brian Swetland
3e3036d0c2 [platform][lpc43xx] hook up debug uart
For the moment, just a trivial implementation in debug.c.
To be replaced with a standard lk uart "driver" later on.
2015-07-05 05:44:54 -07:00
Brian Swetland
39afbc9668 [platform][lpc43xxx] minimal skeleton platform, target, and project
Just enough to compile cleanly.  Not much platform-specific information
besides the IRQ numbers just yet.
2015-07-05 05:44:54 -07:00
Brian Swetland
cbc6bb96fd [target][stm32f4-discovery] run system at 168MHz
SYSCLK 168000000
HCLK   168000000
PCLK1  42000000
PCLK2  84000000
2015-07-01 22:47:40 -07:00
Brian Swetland
1c3205eab1 [target][stm32f4-discovery] update to use platform/stm32f4xx 2015-06-30 23:03:02 -07:00
Travis Geiselbrecht
842cb7a7ae [warnings] fix warnings post-smp
Most of the warnings are printf related due to lk_time_t now being defined as an
unsigned int instead of unsigned long.
2015-06-02 21:03:05 -07:00
Travis Geiselbrecht
96ba54f187 [merge] merge back from smp branch 2015-05-28 12:52:41 -07:00
John Grossman
c2b645ef8a [zynq][gpio] Fix a collection of bugs with the GPIO driver.
+ When setting GPIOs, the MASK_DATA registers are used.  Code was
  properly computing which register to use based on register index
  (either LSW or MSW), but was improperly computing the mask/value to
  set when the GPIO to be manipulated existed in the upper 16 bits
  (the shift needed to be offset by 16 bits and was not).
+ Do not manipulate things like the IO driver type, drive speed, and
  so on when enabling/disabling the pullup in the SLCR registers.
  Previously, whenever a GPIO was being configured, the SLCR register
  was being set to be 1.8v LVCMOS, and having the DISABLE RCV bit set.
  Things like the IO type have been set by the platform and should not
  be manipulated by the GPIO driver.  Now, the GPIO code leaves those
  bits the way they were configured, and changes only the PULLUP bit
  as well as the 4 levels mux bits (arguably, it should not even
  change the mux bits; it is the platform's job to properly mux the
  pins).
+ Address an issue with the subtle (undocumented) difference between
  the DIRM and the OEN bits when configuring for input vs. output.
  Please read the extensive comment in the code for details.

Change-Id: I160069eeef92b1cf0763274ccb64c5d14744f563
Signed-off-by: John Grossman <johngro@google.com>
2015-05-19 10:21:33 -07:00
Arve Hjønnevåg
2c9c5959e7 Merge branch 'master' of https://github.com/travisg/lk into smp
Change-Id: Iecb11d57b6f089234c0826932bdb229588939750
2015-05-18 16:49:37 -07:00
Travis Geiselbrecht
580a83d74f [lib][minip] have the pktbuffers automatically allocated at startup
Default number of buffers are 128, can be overridden with a #define.
2015-05-02 22:48:57 -07:00
Christopher Anderson
6ef986679a [uzed] Set up pktbufs similarly to zybo 2015-04-23 13:30:39 -07:00
Christopher Anderson
4a038ceef6 [zynq] Add support for GPIO interrupts 2015-04-23 13:30:39 -07:00
Christopher Anderson
fdecb22f2e [zybo] Set yellow LED to debug led 2015-04-23 13:30:39 -07:00
Christopher Anderson
d352ac1d2b [gem][minip][pktbuf] Improvements for TX scatter gather functionality
- GEM now supports asynchronous scatter-gather queuing and properly handling
  pktbuf ownership
- General stack cleanups in Minip
- pktbufs now grab buffers from the user, or from a preallocated pool
2015-04-23 13:30:39 -07:00
Travis Geiselbrecht
bab2e8ccf5 [target][zybo] zybo has 512MB ram 2015-04-19 01:34:18 -07:00
Travis Geiselbrecht
518a04eef3 [arch][microblaze] a bit of bugfixing and refactoring to get running on real hardware
Punched out a version of the microblaze on a ZYBO dev board, which required
a few tweaks an additions to run on real hardware.
Refactored the qemu and zybo microblaze target.
2015-04-19 01:34:18 -07:00
Travis Geiselbrecht
8ddb0a2f53 [target][uzed] add debug led support
Change-Id: Ia077ae7f2f81a2b43a73dd5bc3b5f9cd624af10a
2015-04-06 14:30:26 -07:00
Christopher Anderson
ffbb7b8fd3 [zynq] Add MIO_DEFAULT and correctly ignore MIO configuration based on that rather than 0 2015-04-02 11:03:55 -07:00
Travis Geiselbrecht
239d66cfe6 [target][raspberry pi 2] add preliminary support for raspberry pi 2
-add support for the bcm2835 family (-36 variant in this case)
-add target and project for raspberry pi 2
2015-03-10 16:43:55 -07:00
Stefan Kristiansson
9dd2d18171 [platform][or1ksim] add or1ksim platform for the or1k architecture
or1ksim is the "golden reference" simulator for the or1k
architecture, but the configuration used in this simple setup
is commonly used on other targets, so it could serve as a good
starting point for those as well.

Included is also a configuration file with uart and ethernet
peripherals defined, which of only the uart is supported.
2015-03-06 19:03:42 +02:00
Travis Geiselbrecht
c061e2d21c [arch][microblaze] add full interrupt, timer, and interrupt driven uart support 2015-01-31 19:55:23 -08:00
Travis Geiselbrecht
6f4183bc9a [arch][microblaze] change linker script to support having a different LMA for the vector table
The qemu target has 128KB of ram at 0 and the rest at 0x90000000.
Split the binary so that the vector table lives at 0 and everything else in
the high address.
2015-01-31 19:55:23 -08:00
Travis Geiselbrecht
0816848c82 [arch][microblaze] first semi functional context switch implementation 2015-01-31 19:55:23 -08:00
Travis Geiselbrecht
436c5a885f [arch][microblaze] initial stab at getting a nulled out microblaze port compiling 2015-01-29 21:06:04 -08:00
Chris Anderson
5ed4eca1ba [zynq] Add slcr commands and pull out DDR config 2014-11-21 10:37:00 -08:00
Travis Geiselbrecht
49b0475a9a [target][uzed] remove extraneous TIMER_CLOCK_FREQ #define 2014-10-30 14:51:25 -07:00
Chris Anderson
a112873487 [zynq][gem] Move uzed and zybo gem inits to target 2014-10-10 14:56:38 -07:00
Chris Anderson
3e6334670f [zynq][gem] Move MIO cfg in the gem driver to the target cfg 2014-10-10 13:39:09 -07:00
Chris Anderson
751039507b [zynq] Add support to boot without configuring DRAM 2014-08-27 13:30:41 -07:00
Chris Anderson
27d679facd [zynq] Add uzed target support 2014-08-27 11:48:18 -07:00
Chris Anderson
e060c035d1 [zynq] Remove generated init for Zybo, add platform init routines 2014-08-27 11:48:18 -07:00
Travis Geiselbrecht
81dbfc2493 [platform][zynq] add support for putting the base of the system in dram (1MB offset)
-Add a few global #defines: ZYNQ_CODE_IN_SDRAM and ZYNQ_SDRAM_INIT which
are used in a few places to initialize or not initialze dram and affect
the way the VM is brought up.
-Add zybo-dram-test project
2014-08-13 17:28:47 -07:00
Travis Geiselbrecht
91e3efde16 [platform|target] add platform|target_quiesce calls 2014-08-12 16:09:09 -07:00
Brian Swetland
df26d050b9 [target][zybo] factor shared code into an app
Some but not all zybo based projects will want to share some higher
level initialization code, so move that to app/zybo-common and make
the zybo target a bit more bare-bones.
2014-08-08 15:20:30 -07:00
Brian Swetland
070fb64dfd [target][zybo] create bootloader patition if it doesn't exist 2014-08-05 18:16:11 -07:00
Travis Geiselbrecht
73b8ddbfb2 [target][zybo] add net0.use_dhcp flag to force dhcp even if ip address is set 2014-08-04 17:48:30 -07:00