Commit graph

64 commits

Author SHA1 Message Date
Scott Worley 6be78f36df soc : arm : microchip_mec Move custom busy wait config to MEC1501 SoC
Configuration item custom busy wait is required for all MEC1501
series if its RTOS timer driver is enabled. We moved the selection
of the timer from board level to MEC1501 SoC level.
Frequency selection remains at the board level.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2019-09-13 09:55:59 +02:00
Scott Worley 26c411f6bd drivers : timer : MEC1501 RTOS timer load delay work-around.
MEC1501 RTOS timer internal counter is on the 32KHz clock domain.
The register interface is on the AHB clock. When the timer is started
hardware synchronizes to the next 32KHz clock edge resulting is a
variable delay moving the value in the preload register into the
count register. The maximum delay is one 32KHz clock period (30.5 us).
We work-around this delay by checking if the timer has been started
and not using the count value which is still 0. Instead we state zero
counts have elapsed.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2019-09-03 18:37:46 +02:00
Jose Alberto Meza 882503f913 board: mec: Select cortex-M systick-based driver
Disable 32Khz until accuracy issues and timer tests failures
are resolved.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-08-06 15:13:45 -07:00
Francisco Munoz 98a3399138 boards: mec15xxevb_assy6853: Update debug control flag
Write all the desired values in the debug control flag.
Initally we were oring it, but this variable does not have
the expected initial values as it also depends on fuse
programming settings, therefore we dont have console.

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2019-08-01 16:20:49 -07:00
Francisco Munoz 1f8f390cde boards: mec15xxevb_assy6853: Documentation improvements
Better documentation describing the flashing and booting process.

Fixes: #17483.

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2019-08-01 16:20:49 -07:00
Jose Alberto Meza dcb12d6611 boards: mchp: Fix MEC1501 dts warnings in eSPI
Remove incorrect override in board dts for eSPI

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-08-01 13:14:16 -07:00
Jose Alberto Meza 491702a6c6 boards : arm : Add ESPI support for MEC15xx EVB
Expose eSPI block with interrupts enabled for channel 0 & 1
eSPI handshake has been tested using espi driver sample app

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-07-25 08:23:38 -07:00
Scott Worley bdaab8cfa0 drivers : timer : Add MEC1501 32KHz kernel timer driver
Add a kernel timer driver for the MEC1501 32KHz RTOS timer.
This timer is a count down 32-bit counter clocked at a fixed
32768 Hz. It features one-shot, auto-reload, and halt count down
while the Cortex-M is halted by JTAG/SWD. This driver is based
on the new Intel local APIC driver. The driver was tuned for
accuracy at small sleep values. Added a work-around for RTOS
timer restart issue. RTOS timer driver requires board ticks per
second to be 32768 if tickless operation is configured.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2019-07-24 14:58:41 -07:00
Anas Nashif a8167ab17d cleanup: include/: move pinmux.h to drivers/pinmux.h
move pinmux.h to drivers/pinmux.h and
create a shim for backward-compatibility.

No functional changes to the headers.
A warning in the shim can be controlled with CONFIG_COMPAT_INCLUDES.

Related to #16539

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-06-27 22:55:49 -04:00
Ulf Magnusson a84ded74ea dts: Replace status = "ok" with status = "okay"
The DT spec. only has "okay" and not "ok". The Linux kernel has around
12k "okay"s and 300 "ok"s.

The scripts/dts scripts only check for "disabled", so should be safe re.
those at least.

The replacement was done with

    git ls-files | xargs sed -i 's/status\s*=\s*"ok"/status = "okay"/'

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-06-14 19:51:13 -05:00
Francisco Munoz bce16753af boards: mec15xxevb_assy6853: Use the pinmux api
Use the generic pinmux APIs provided by zephyr to select
alternate functions.

This also contains a fix for a formatting issue in the
documentation for this board. Additionally, the serial
console is now on UART2.

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2019-05-27 09:24:08 -04:00
Francisco Munoz 3667d0b761 boards: microchip_mec: Introduce gpio to the eval board
Enables GPIO driver in the board defconfig

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2019-05-08 16:39:54 -07:00
Jose Alberto Meza 35d529b6ec boards : arm : Add I2C support for MEC15xx EVB
Expose 3 I2C instances with default SoC-Phy mappings for use with EVB

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-05-08 15:02:26 -07:00
Scott Worley 4b2a181a4a boards : arm : Add support for Microchip MEC15xx EVB ASSY 6853
This was tested with the hello world application. UART 0 was used
as console for displaying "Hello World! mec15xxevb_assy6853" to
the serial terminal.

Signed-off-by: Scott Worley <scott.worley@microchip.com>

soc : arm : microchip_mec Use rename fault clear function

The Cortex-M core function to clear faults was rename by
upstream. Update to use new name.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2019-04-30 14:08:23 -07:00