Re: [RFC] Mezzanine/Hat/Extension/Shield board support


Erwan Gouriou
 

Hi Neil,

+1 for me too. This would really be handy in long range.

Obviously, one point to solve is how to deal with pinmuxing. I see at least 3 options:
a) Keep board independant pinmuxing, and up to each board to present pinmuxing(s)
compatible with required shield(s)
b) Define generic pinmuxing profiles(arduino_pinmux for instance). Then boards and
shields would include these profiles (when compatible)
c) Shield activation (with EXTBOARD=..) would configure board pinmux on the fly

In any case, boards should provide a "compatible" field at some point to document
the supported shields (or pinmux profiles).


Erwan

On 1 June 2017 at 22:41, Nashif, Anas <anas.nashif@...> wrote:
Hi Neil,
I think this is a great idea to support another layer for shields and extensions on top of existing boards. This will also allow usage for custom test shields that can specified for testcases, i.e. to test IOs and peripherals.  Not sure about the naming and structure yet and if it should go under boards, but you get a +1 from me on the general idea.

Thanks,
Anas

-----Original Message-----
From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of Neil Armstrong
Sent: Thursday, June 1, 2017 11:06 AM
To: zephyr-devel@lists.zephyrproject.org
Subject: [Zephyr-devel] [RFC] Mezzanine/Hat/Extension/Shield board support

Hi,

Most of the board supported by zephyr can use extension boards via the Arduino or ST Morpho connectors for example, but there is no simple way to explicit support for these in the Zephyr codebase.

Would it be possible to add a boards/ext tree with Kconfig, docs and config parameters for each supported boards ?

For example for the X-NUCLEO-IKS01A1 board, it will concern all board with Arduino Uno R3 connector, but a cfg for each supported board should be supplied :

boards/
      ext/
         x-nucleo-iks01a1/
                          Kconfig.ext
                          Kconfig.defconfig
                          ext.h
                          Makefile
                          x_nucleo_iks01a1.nucleo_f103rb_defconfig
                          x_nucleo_iks01a1.nucleo_f334r8_defconfig
                          x_nucleo_iks01a1.nucleo_f401re_defconfig
                          x_nucleo_iks01a1.nucleo_l476rg_defconfig
                          doc/
                              x_nucleo_iks01a1.rst


And for build options, a new options along BOARD= could be supplied, like SHIELD= or EXTBOARD=.

Waiting for some advices !

Neil
--
Neil Armstrong
Embedded Linux Software Engineer
BayLibre - At the Heart of Embedded Linux www.baylibre.com _______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel

Join devel@lists.zephyrproject.org to automatically receive all group messages.