Commit graph

42249 commits

Author SHA1 Message Date
Louise Mendoza
2386328e7e Adapt gen_offset_header to work with MinGW.
This patch change the custom macro WINDOWS for the macros
provided by the compiler to determine if it is being build
on Windows or Linux to use the correct flags for opening files.

Change-Id: I7278439767e93754eaae831b6f234b48c3ac8eac
Signed-off-by: Louise Mendoza <yonattan.a.louise.mendoza@intel.com>
2016-02-05 20:25:12 -05:00
Dirk Brandewie
0551ee0708 ipm: rework isr to service one set of requests at a time
Change-Id: I50604748cee1aeb43dc764f426d3a17fcc943cbe
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
1fcbd09d88 adc: simplifies Kconfig options for adc dw driver
Change-Id: I1acda668cf10fa58944e57a957f6cf057a1188be
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
11d2e57f90 adc: improves buffer management to hold repetitive reads.
ADC allows to program repetitives sampling after a read request.
User should be able to provide buffers for each table entry that can
hold subsequente repetitive samples.

Change-Id: I75da4a480a0e3f241d9276cf4fe3999a9cfbba2c
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
dfbf2bfc44 adc: fix sanity test
Sanity test is disabling the ADC controller before doing a read.

Change-Id: I275a94244a13e80c12e6b39267c4a25dd5479002
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
69b124dab9 adc: fixes interrupt lines' issue.
Change-Id: I7660a6cb709dcd0237c41c8719152a97bc808980
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
42696ca14f adc: simplifies buffer management on adc dw driver.
Buffer management on dw driver was too complex.
New buffer management follows the following behavior.
- Each sequence entry have one sample at a time.
- Each sequence entry have a buffer to store that sample.
- If ADC have repetitive sampling configuration, the buffer value
  is overwritten with the new value.

New buffer management allow us to remove Synposys'
files and license headers as well.

Change-Id: I75bbbee59bea400839bb34ca1fcb2111073f99d0
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
6a4d1b52de gpio: Fixes interruption connection parameters.
Fixes interruption connection parameters, ISR parameter is not null anymore.
Removes irq_connect call that is a dynamic irq api that should not be
used along static irq api: IRQ_CONNECT_STATIC and IRQ_CONFIG.

Change-Id: I232c8562d2dcda3229776b561e2c1f4608a31cdd
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Juan Manuel Cruz
609d1f72a2 gpio: adds interruption masking for quark se ss
The current gpio_dw_initialize implementation masks the interruptions in the line
dw_write(base_addr, INTMASK, ~(0)) to assign api functions and initialize
interrupt vectors and handlers safely. Immediately after this, the driver expects
that gpio_dw_unmask_int(port) unmasks the interrupts. Without this patch that
implementation is empty for the quark se ss board.

Change-Id: Iac84c8807fcadad8c256c3fcaa4ff624b6337bf3
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:25:12 -05:00
Daniel Leung
699564c69c microkernel: fix build issue when CONFIG_TASK_MONITOR=y
Note that the A->Comm is a pointer to the microkernel functions,
and thus is highly probable that the high 8-bit is occupied.
Therefore adds a new field in the monitor struct to store the pointer.

Change-Id: I7bcb34108c89a97cc38b2ac411ae4139b62786f3
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:25:12 -05:00
Daniel Leung
efeb9b6534 update tests due to recent board files shuffle
() Adds board arduino_101, arduino_101_sss to sanity check.
   This will build the tests against these two new boards
   to catch issues.
() Updates existing sample apps to be arduino_101_sss instead of
   quark_se_ss, due to renaming of boards.

Change-Id: Ic512728d2ce581539bc3ae4c9f6524d5bf01b296
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:25:12 -05:00
Daniel Leung
bac70ac440 boards: add missing arduino_101_sss_defconfig
Change-Id: I04ac2c53415cf678f2a503aad30b9f31624008ce
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:25:12 -05:00
Anas Nashif
799c590f88 Zephyr 0.8.0-rc1
Set new version for 0.8.0-rc1.

Change-Id: I1172bc013571acee4c95e2537fbb962804d8c64f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:12 -05:00
Anas Nashif
c6c6651a4c generic_arc: choice options need a prompt
Warning comes during compilation about missing prompt, this sets
the prompt for this SoC.

Change-Id: If8b422d6a870eb99c219ab872924875eb04fba0c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:12 -05:00
Anas Nashif
ee32801991 arduino_101: declare static function before usage
Static function was declared after it was used.

Change-Id: I7872d9aedef34d0e1e68e6475bea8afcd0496f69
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:12 -05:00
Szymon Janc
716626aa14 checkpatch: Remove --no-signoff option
All patches should have Signed-off-by line in commit message as
described in doc/collaboration/code/changes.rst.

Change-Id: Iba6bad47115fd5323a096fa58c2d0d8c5ec9db75
Signed-off-by: Szymon Janc <ext.szymon.janc@tieto.com>
2016-02-05 20:25:12 -05:00
Peter Mitsis
d6aeec249c rebranding: Remove stray references to VxMicro
Change-Id: I489dcd1a9ee8b8e502907543f284dc46220e5127
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:25:12 -05:00
Anas Nashif
16bf5fc116 i2c: remove unused functions i2c_dw_memory_read/i2c_dw_memory_write
Change-Id: I3af2038820e2eeaf159b608be1a61fe6adb95c36
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:12 -05:00
Anas Nashif
81ed24413e pcal9535a: remove unused function _wait_10ms
Change-Id: Ib89ec98279895f1d25c4232bed6caf3a1ad83b2b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:12 -05:00
Anas Nashif
78a566d3b8 trivial: fix header guard definition
Change-Id: Ia0090ff07a8f2cab8c745b4f6a0d9eeead5518a2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
6bca3724c1 drivers: set default priority for drivers
Use a default priority to avoid Kconfig blocking when priority
is not set in SoC or Board.

Change-Id: I4edda47b955a7ee834f04dc40d0decbd8dee6305
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
3eecc42bd4 samples: micro: add a true hello world sample
Change-Id: I01707428ac49c3c35b2c8bcc625a21d88cf6eb33
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
14050f1a3f samples: nano: add a true hello world sample
This sample just prints 'Hello World', Nothing else.

Change-Id: I93af3fdc2de342e878bc038f937e7f1ad2231bd3
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
ba860ba8e9 samples: rename hello_world -> synchronisation
This sample is more than just a hello world, it demonstrates basic
kernel functionality that deserve to be its own sample.

A simplified Hello World sample will replace this one.

Change-Id: I9120daa1923f99def994e484783abe04db5b14eb
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Daniel Leung
ab38b9ce8e samples/nanokernel: add a sample to utilize PWM on Arduino 101
This adds a sample app to utilize the PWM on Arduino 101 via the pwm_dw
driver. Refer to the source file header for more information.

Change-Id: I0ad0f24242185b7b99e66445629d676ffde0bba3
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Daniel Leung
7ba9011cac x86/quark_se: Add default config options for PWM
Add default config options for DesignWare PWM driver.

Change-Id: I0760f2e367c77ddc2a20c04867acf3429006dc53
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:25:11 -05:00
Daniel Leung
6604381c11 drivers: add new DesignWare PWM driver
This adds a driver to utilize the DesignWare timer IP block
to do PWM.

Change-Id: I11ba689350b664209ad2440e3001e57eb38fd982
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
8ba05cc2ad update documentation to use boards where applicable
Change the terminology in the documentation and use board instead
of platform where applicable.

Change-Id: I812598e1948ee7df8739e5cc9029278e9e849c7f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
10bb38c186 Use SoC instead of platform.
Change terminology and use SoC instead of platform. An SoC provides
features and default configurations available with an SoC. A board
implements the SoC and adds more features and IP block specific to the
board to extend the SoC functionality such as sensors and debugging
features.

Change-Id: I15e8d78a6d4ecd5cfb3bc25ced9ba77e5ea1122f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
f5f9b71b12 Introduce the Atom SoC
This is a generic Atom configuration that can be inherited by boards
with Atom SoC like the minnowboard.

Change-Id: I06ab999062be7811d14755fd34440dee8f8b81ed
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
2eb29347f0 remove qemu_x86 platform and use generic IA32
No need for the same SoC configuration with different names. Use IA32
as the "SoC" for qemu_x86 "boards".

Change-Id: Iee00538701c5ece14d0c3df637b0aaa54790f0e2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
dcf046c72d rename basic_atom with minnowboard
Use a real board name that can run this kernel instead of a generic
name. Basic functionality exits on this board with Zephyr.

Setup of the board is mostly similar to what we have in galileo (EFI
based)

Change-Id: Ic8554f26dcac0dbbbb6d35d863482f6207dc63c5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
31662ea101 remove HPET as default for x86
Using LOAPIC Timer as default since it is the default for most target
X86 systems.

Change-Id: I71c9b307839ebcf46fb28e1b709089de600af83f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
7ed15d6bb7 Add TI platform as LM3S6965 instead of Qemu
Previous it was renamed in favor of Qemu, now that we have board support
we move this to the original name and derive a qemu board out of the
platform.

Change-Id: Ia8769b27defa0a39503ecf2e6ec7fc6304b6ff49
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
1cfc5b3f6f Move defconfig files to the board directory
This commit also renames boards and makes naming consistent between
board name and defconfig files.

quark_d2000_reference -> quark_d2000_crb
quark_se_test_sss -> quark_se_sss_ctb
quark_se_test -> quark_se_ctb

Change-Id: Ibe6a5102edb987fe1d6ce32c8c392a87d45d6951
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
c092265792 move pinmux code to boards and split it up
We had one pinmux per platform with support for multiple boards.
This moves pinmuxing to boards as first step. Common functions that
are exposed by the API need to be moved to driver while keeping the
muxing configuration with the boards.

Change-Id: I2b4fabf663db98d644abcb5d51ba83adc6f74541
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
05bc26ed37 cleanup pinmux code and make code for boards consistent
Also fix some checkpatch issues

Change-Id: I27965b284e456109d86658d3629c995d488a4054
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
9ee7c3a585 galileo: move galileo related files to board
The Galileo pinmux configuration and reboot code belong into
the board and not the SoC.

Change-Id: If862178569438a8901902088bd085275416c25ef
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
c740608ce5 Use BOARD instead of PLATFORM_CONFIG
Change-Id: I14db0087cd705df0db8a911071bc3949b5c79314
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
013e6167a8 build: switch to board based configurations
Define boards based on platforms/SoCs and define them under boards/.
Also unify the naming of all platform, SoC and board files and use
platform.h for platforms and board.h for boards.

Change-Id: Icfeb96479ab5800aca98c80a79bdc3cecd645314
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
220c54818c globally include headers for boards and platforms
Change-Id: I1f259cccc73dfb3d35019d6ebf3d3bdc6aec2b23
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
aae72278dd galileo: Split board configuration from SoC
Change-Id: I1cdbe563521d004e4677b3bacb5407a07edba655
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:11 -05:00
Anas Nashif
b04958a006 platforms: introduce Quark X1000 SoC
The Galileo board is based on the X1000 SoC, so move galileo to
boards and create this SoC instead, inheriting all SoC related code
and configuration items.

Change-Id: I9b39f1b44644775ee48acae284b82bae7876fffb
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:10 -05:00
Anas Nashif
a62e16357c pinmux: enable pinmuxing for quark platforms
Change-Id: I66f2aed31d2cb5e087a52b1133663463e9277ab5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:10 -05:00
Dan Kalowsky
90102a97d2 curie-101 : pinmux : mapping in the SPI1
According to the schematic, SPI1_M_ should be properly mapped out
on the pinmux.  This should enable the SPI1_M functionality on the
Arduino / Genuino 101 board now.

Change-Id: Ided0147e7c2d835aa58fdc5860e7ca7f55d9e566
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 20:25:10 -05:00
Dan Kalowsky
34d3d9e971 pinmux : quark_se / quark_d2000 : reducing RAM and ROM
Updating the pinmux to use a local static table for each pin select
option.  Instead moving to a static series of function calls that
move the data from the RAM section to the ROM section.

This impacts only the Quark D2000 and the Quark SE chips.  It does
not show any impact to the basic_minuteia tests.

All said we see small changes that amount to some values like:

test                        platform        ram_%_change    rom_%_change
========================    ============    ============    ============
microkernel:footprint-max   quark_se-x86    -0.01           0.0
microkernel:footprint-reg   quark_se-x86    -0.02           -0.01
microkernel:footprint-min   quark_se-x86    -0.07           -0.02
nanokernel:footprint-max    quark_se-x86    -0.02           -0.01
nanokernel:footprint-max    quark_d2000     -0.01           -0.01
nanokernel:footprint-reg    quark_se-x86    -0.03           -0.01
nanokernel:footprint-reg    quark_d2000     -0.02           -0.02
nanokernel:footprint-min    quark_se-x86    0.04            0.01
nanokernel:footprint-min    quark_d2000     -0.07           -0.04

Change-Id: Ib69403eced60a8c784887dca9dd1954ce73a3e70
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:10 -05:00
Dan Kalowsky
933d231cb4 quark: Add compile fences to the quark platforms
Currently the Quark SE and Quark D2000 platform are only included
through the use of a compile fence one level higher in the Makefile.
Adding in a secondary compile fence to ensure if that check ever
changes, we won't be in trouble.

Change-Id: I5e39faffb4289f80901c0264a50a3e770db3388a
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:10 -05:00
Dan Kalowsky
71a9af15be pinmux: Quark_D2000 : adding in pinmux support
Initial import of the pinmux configuration for the Quark_D2000 series
boards.  Some minor tweaking of default values may be needed depending
upon expected usage scenarios.

Change-Id: I3b22219546a6534c7c695d0917a35f6f46b03cf1
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:10 -05:00
Dan Kalowsky
f6694ed31f pinmux : Quark_SE : add pullup, input enable regs
Adding support for the pinmux pins to set the pullup and input enable
registers.  On the Arduino_101 board some pullup pins specifically can
be used to cause a reset for the Arduino sketch being run.  Its use on
other pins is currently being investigated.

Change-Id: Id3293a4da84ea5bf553bf62ccb12782cb88503a5
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:25:10 -05:00
Dan Kalowsky
14b5d5c79d quark_se : pinmux : fixing the naming convention
Naming convention should follow the IP_noun_verb concept.  In this case,
renaming several functions from (for example) pinmux_set_pin to
pinmux_pin_set, while also correctly naming the function to their
specific tasks.

This is being done to make way for the ability to change the input
value, pullup value, and the slew as well.

Change-Id: Iec6f1723a48f80b66f3cea44df9bb6925972f6af
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 20:25:10 -05:00