Commit graph

36 commits

Author SHA1 Message Date
Scott Worley
9b6ab5b6ab boards: mec1501modular_assy6885: Add support for UART0
Add options to configure UART0 and pins based upon device
tree settings.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2020-06-28 23:45:27 -04:00
Jose Alberto Meza
bd2a71f6da boards: arm: mchp: Configure VCI pins as GPIOs only when required
Default alternate function for the MEC15xx VCI pins makes them
HW-controlled.
Most common scenario is that pins are used as GPIOs, however
there are still some board designs where HW-controlled is desired.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2020-06-10 18:32:57 -04:00
Martí Bolívar
6e8775ff84 devicetree: remove DT_HAS_NODE_STATUS_OKAY
Several reviewers agreed that DT_HAS_NODE_STATUS_OKAY(...) was an
undesirable API for the following reasons:

- it's inconsistent with the rest of the DT_NODE_HAS_FOO names
- DT_NODE_HAS_FOO_BAR_BAZ(node) was agreed upon as a shorthand
  for macros which are equivalent to
  DT_NODE_HAS_FOO(node) && DT_NODE_HAS_BAR(node) &&
- DT_NODE_HAS_BAZ(node), and DT_HAS_NODE_STATUS_OKAY is an odd duck
- DT_NODE_HAS_STATUS(..., okay) was viewed as more readable anyway
- it is seen as a somewhat aesthetically challenged name

Replace all users with DT_NODE_HAS_STATUS(..., okay), which is
semantically equivalent.

This is mostly done with sed, but a few remaining cases were done by
hand, along with whitespace, docs, and comment changes. These special
cases include the Nordic SOC static assert files.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-05-13 18:24:42 +02:00
Kumar Gala
fdd85d5ad7 dts: Rename DT_HAS_NODE macro to DT_HAS_NODE_STATUS_OKAY
Rename DT_HAS_NODE to DT_HAS_NODE_STATUS_OKAY so the semantics are
clear.  As going forward DT_HAS_NODE will report if a NODE exists
regardless of its status.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-05-06 05:25:41 -05:00
Francisco Munoz
a14012b166 boards: mec1501modular: Remove NO_DEFAULT_PATH from find_file
Removing this flag allows to find the spi binary generation tool
in cmake's default paths. This also aligns this CMakeList with
the version currently found in the MEC EVB

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2020-05-01 13:51:33 -05:00
Daniel Leung
13ef99831a drivers: gpio: mchp_xec: Convert to using new device tree macros
Convert driver to use the new device tree macro's instead of
dts_fixup.h based macros. This moves us closer to removing both
dts_fixup.h and per instance Kconfig symbols.

The pinmux_mchp_xec is also being updated since it's using DT
from GPIO.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-04-28 07:43:31 -05:00
Daniel Leung
5692702248 drivers: pinmux: mchp_xec: Convert to using new device tree macros
Convert driver to use the new device tree macro's instead of
dts_fixup.h based macros. This moves us closer to removing both
dts_fixup.h and per instance Kconfig symbols.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-04-28 07:43:31 -05:00
Daniel Leung
f59d56b534 drivers: spi: xec_qmspi: Convert to using DT_INST macros
Convert driver to use instance macro's instead of dts_fixup.h based
macros.  This moves us closer to removing both dts_fixup.h and per
instance Kconfig symbols.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-04-28 07:43:31 -05:00
Daniel Leung
ec55851765 board: mec1501modular_assy6885: use new DT macro for UART pinmux
Pinmux needs to be set for UART_2 if it is enabled. So use
the new DT macro to refer to the DT node.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-04-28 07:43:31 -05:00
Mark Olsson
1ca4aedc35 tests: drivers: fixes for failing tests
Tests were failing as they were looking for an alias which didn't exist
Also, because some code in kscan_handlers.c wasn't compilable

Signed-off-by: Mark Olsson <mark@markolsson.se>
2020-04-24 09:49:46 -05:00
Kumar Gala
6d76d54527 boards: arm: mec1501modular_assy6885: Convert to new DT_INST macros
Convert older DT_INST_ macro use the new include/devicetree.h
DT_INST macro APIs.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-04-03 04:12:14 -05:00
Francisco Munoz
63ef393aa1 boards: mec1501modular: Enable TACH sensor driver
Enable a single instace of the TACH driver to demonstrate its
capabilities when the mec card is coupled to a motherboard.

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2020-03-24 14:45:20 -05:00
Timo Teräs
6fd168e9a1 driver: uart: ns16550: convert to DT_INST_*
Change to code to use the automatically generated DT_INST_*
defines and remove the now unneeded configs and fixups.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
2020-03-14 02:22:05 +02:00
Jose Alberto Meza
8462a372e0 boards : arm : Add PECI support for MEC15xx EVB
Enable PECI block for MEC15 boards.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2020-03-13 18:53:04 +02:00
Jose Alberto Meza
f845c933a3 boards: arm: mec1501modular: Correct I2C bus configurations
MEC1501modular doesn't expose same I2C instances than MEC15xxevb,
additionally this causes undesired reconfiguration of pins with
other function when card is mated with a platform that complies
with MECC specification.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2020-03-10 10:18:17 -05:00
Francisco Munoz
3f50ed2e6f boards: mec1501modular_assy6885: Disable KSCAN to avoid test case issues
This change also addresses issue# 21756 tests/obj_tracin where the
expected thread count does not match because kscan module is enabled
in this board. The Microchip kscan driver is contributing to the total
thread count, therefore interfering with the expected test result.

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2020-02-18 19:10:47 -05:00
Ulf Magnusson
a42a42cd5a kconfig: Replace defconfig singe-symbol 'if's with 'depends on'
Same deal as in commit eddd98f ("kconfig: Replace some single-symbol
'if's with 'depends on'"), for all symbols defined within defconfig
files. See that commit for an explanation.

Maybe 'if's were used originally to mirror the 'if's in the main Kconfig
files, and then it got copied around by people assuming 'if' must work
differently from 'depends on'. It doesn't match in every spot at least.
Better to keep it simple and just consistently use 'depends on' when
it's a single symbol/choice I think. Helps reinforce that 'if' isn't
magic too.

Verified by printing all Kconfig menu nodes (symbols, choices, menus,
etc.) before and after the change and diffing (should show no
difference).

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-12 10:32:13 -06:00
Ulf Magnusson
c5839f834b kconfig: Remove assignments to CONFIG_<arch> syms and hide them
All board defconfig files currently set the architecture in addition to
the board and the SoC, by setting e.g. CONFIG_ARM=y. This spams up
defconfig files.

CONFIG_<arch> symbols currently being set in configuration files also
means that they are configurable (can be changed in menuconfig and in
configuration files), even though changing the architecture won't work,
since other things get set from -DBOARD=<board>. Many boards also allow
changing the architecture symbols independently from the SoC symbols,
which doesn't make sense.

Get rid of all assignments to CONFIG_<arch> symbols and clean up the
relationships between symbols and the configuration interface, like
this:

1. Remove the choice with the CONFIG_<arch> symbols in arch/Kconfig and
   turn the CONFIG_<arch> symbols into invisible
   (promptless/nonconfigurable) symbols instead.

   Getting rid of the choice allows the symbols to be 'select'ed (choice
   symbols don't support 'select').

2. Select the right CONFIG_<arch> symbol from the SOC_SERIES_* symbols.
   This makes sense since you know the architecture if you know the SoC.

   Put the select on the SOC_* symbol instead for boards that don't have
   a SOC_SERIES_*.

3. Remove all assignments to CONFIG_<arch> symbols. The assignments
   would generate errors now, since the symbols are promptless.

The change was done by grepping for assignments to CONFIG_<arch>
symbols, finding the SOC_SERIES_* (or SOC_*) symbol being set in the
same defconfig file, and putting a 'select' on it instead.

See
https://github.com/ulfalizer/zephyr/commits/hide-arch-syms-unsquashed
for a split-up version of this commit, which will make it easier to see
how stuff was done. This needs to go in as one commit though.

This change is safer than it might seem re. outstanding PRs, because any
assignment to CONFIG_<arch> symbols generates an error now, making
outdated stuff easy to catch.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-02-08 00:50:08 -06:00
Kumar Gala
1dc4b1dd2f boards: shrink image sizes
Reduce images sizes of boards.  Get a roughly 3x reduction in size.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-02-07 13:52:45 -05:00
Ulf Magnusson
cf89ba33ea global: Fix up leading/trailing blank lines in files
To make the updated test in
https://github.com/zephyrproject-rtos/ci-tools/pull/121 clean, though it
only checks modified files.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2020-01-27 17:41:55 -06:00
Anas Nashif
d380622a4d mec1501modular: allow building on macOS
Do not abort build on macOS if SPI utility is not found.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-01-27 00:11:10 -05:00
Daniel Leung
549fdb9ec9 i2c: mchp_xec: define driver instaces based on device tree...
...instead of kconfig.

This provides a bit more flexibility in defining driver
instances. Also, since the DTS defines 5 I2C controllers,
the driver code is extended to cover all 5 if the controllers
are enabled.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-01-18 13:33:20 -05:00
Daniel Leung
6ecb36cbe0 dts: arm: mec1501hsz: rename I2C nodes
The I2C controllers on the MEC1501 SoC can be attached to
different I2C output line. For example, the I2C #0 controller
can be used with I2C7 physical lines out of SoC. The output
selection is done by the attribute "port_sel". This renames
the parent I2C nodes on the SoC side to refer to
the controller themselves instead of the output lines to
avoid confusion. The labels of these nodes are also renamed
to reflect the controllers.

On the board level, the DTS labels are overwritten to indicate
the actual output lines.

Aliases are also provided in both SoC and board levels to
provide shortcuts to the DTS nodes.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2020-01-18 13:33:20 -05:00
Jose Alberto Meza
c31c6aa99d boards: mec1501modular: Enable additional drivers for modular MEC1501
Enable PWM, ADC, KSCAN and PS2 drivers
Make VCI capable pins to GPIO mode

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2020-01-03 12:04:00 -08:00
Francisco Munoz
882a426622 boards: mec1501modular_assy6885: Turn on peripherals on the board
Turn on existing espi 8042 module for modular card

Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
2019-11-20 15:02:08 -05:00
Jose Alberto Meza
57695b6650 boards: mec: mec15modular: Update documentation
Add details for features exposed via headers.
Add power management recommended setup.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-11-05 19:40:55 +01:00
Ulf Magnusson
bd6e04411e kconfig: Clean up header comments and make them consistent
Use this short header style in all Kconfig files:

    # <description>

    # <copyright>
    # <license>

    ...

Also change all <description>s from

    # Kconfig[.extension] - Foo-related options

to just

    # Foo-related options

It's clear enough that it's about Kconfig.

The <description> cleanup was done with this command, along with some
manual cleanup (big letter at the start, etc.)

    git ls-files '*Kconfig*' | \
        xargs sed -i -E '1 s/#\s*Kconfig[\w.-]*\s*-\s*/# /'

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-11-04 17:31:27 -05:00
Ulf Magnusson
975de21858 kconfig: Global whitespace/consistency cleanup
Clean up space errors and use a consistent style throughout the Kconfig
files. This makes reading the Kconfig files more distraction-free, helps
with grepping, and encourages the same style getting copied around
everywhere (meaning another pass hopefully won't be needed).

Go for the most common style:

 - Indent properties with a single tab, including for choices.

   Properties on choices work exactly the same syntactically as
   properties on symbols, so not sure how the no-indentation thing
   happened.

 - Indent help texts with a tab followed by two spaces

 - Put a space between 'config' and the symbol name, not a tab. This
   also helps when grepping for definitions.

 - Do '# A comment' instead of '#A comment'

I tweaked Kconfiglib a bit to find most of the stuff.

Some help texts were reflowed to 79 columns with 'gq' in Vim as well,
though not all, because I was afraid I'd accidentally mess up
formatting.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-11-01 15:53:23 +01:00
Ulf Magnusson
2b61031c8f kconfig: Remove symbol types from Kconfig.defconfig files
Same deal as in commit 7fdb525754 ("kconfig: Use 'default' instead of
'def_bool' in Kconfig.defconfig files"), but I hacked Kconfiglib to also
find cases where the type is given separately as e.g.

    config FOO
            int
            default 3

Motivation (from a note in
https://docs.zephyrproject.org/latest/guides/kconfig/index.html):

    For a symbol defined in multiple locations (e.g., in a
    Kconfig.defconfig file in Zephyr), it is best to only give the
    symbol type for the "base" definition of the symbol, and to use
    'default' (instead of 'def_<type>' value) for the remaining
    definitions. That way, if the base definition of the symbol is
    removed, the symbol ends up without a type, which generates a
    warning that points to the other definitions. That makes the extra
    definitions easier to discover and remove.

It's also nice if 'def_bool' and the like turn into a semi-reliable flag
that the symbol is only defined in Kconfig.defconfig files. That might
be a sign that things could be cleaned up.

Will do a separate pass later to remove some symbols only defined in
Kconfig.defconfig files.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-10-24 12:40:22 -05:00
Jose Alberto Meza
3a98d71fdf board: arm: mec15modular_assy6885: Enable RTOS, PS2, PWM and ADC drivers
Enable RTOS, PS2, PWM and ADC for modular MEC15xx
Add extra step to build flashable image.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-10-13 07:16:07 -07:00
David B. Kinder
82d6347355 doc: fix broken file and zephyr-app refs
found some references to files (via :zephyr_file: and :zephyr-app:) that
were moved, so the links were broken

Fixes: #19660

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-10-08 15:42:32 -05:00
Jose Alberto Meza
7c32bfa645 boards: mchp: Add option to switch GPIO bank voltage
Add KConfig board support to match board jumper settings
Failing to update bank selection will affect GPIOs tied to VTR3

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-10-04 13:11:08 -07:00
David B. Kinder
fa9d8e09a0 doc: fix doc, boards, and samples misspellings
Regular scan for misspellings in documentation missed during regular
reviews.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2019-09-27 11:44:00 +02:00
Kumar Gala
78edc96a25 boards: mec1501modular_assy6885: Reduce image file size
Vastly reduced the image size as the files were extremely large.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-09-21 13:35:14 -07:00
Jose Alberto Meza
437256d17c boards: mec15xxevb: Select physical UART mapped to eSPI host logical port
Map eSPI UART traffic to UART1 on MEC1501 modular board.
Remove unnecessary dts fields

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-09-20 14:30:40 -04:00
Jose Alberto Meza
3d0ae03570 boards: Add support for MEC1501 modular card ASSY 6885
This was tested with the hello world application.

Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
2019-09-17 20:48:24 +08:00