Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major fixes and improvements in main (v3.4.99) for CMake usage and testing #119

Merged
merged 43 commits into from
Aug 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
1113f36
manifest: move Zephyr project into sub-manifest
rexut Jul 11, 2023
0fe8af8
manifest: support Renesas HAL
rexut Jul 13, 2023
3d0a41c
manifest: support Nuvoton HAL
rexut Jul 13, 2023
abbaf3c
manifest: support QuickLogic HAL
rexut Jul 13, 2023
c758810
manifest: support Microchip HAL
rexut Jul 13, 2023
5e3a05a
manifest: support OpenISA HAL
rexut Jul 13, 2023
7afbdad
manifest: support Telink HAL
rexut Jul 13, 2023
9250223
manifest: support Texas Instruments HAL
rexut Jul 13, 2023
fea5b43
manifest: support Infineon HAL
rexut Jul 13, 2023
9fc082b
manifest: support SiLabs HAL
rexut Jul 13, 2023
ce883be
manifest: support GigaDevice HAL
rexut Jul 13, 2023
f14bde2
manifest: support secure MCU boot module
rexut Jul 13, 2023
b7760bd
manifest: support Arm PSA tests module
rexut Jul 13, 2023
fb518ce
manifest: support TF-M tests module
rexut Jul 13, 2023
b6dfbd4
manifest: support TF-M module
rexut Jul 13, 2023
29bbb14
manifest: support TF-A module
rexut Jul 13, 2023
0889747
tiac_magpie: add new adc clock properties
rexut Aug 30, 2023
5f3c874
shields: grove: map Arduino i/f for Seeeduino Lotus
rexut Aug 24, 2023
34f4568
tests: grove: base: support for Seeeduino Lotus
rexut Jul 15, 2023
a8699fd
tests: grove: btn: support for Seeeduino Lotus
rexut Jul 15, 2023
73dea7d
tests: grove: led: support for Seeeduino Lotus
rexut Jul 15, 2023
14ee550
tests: grove: x_grove_testbed: minor fixes
rexut Aug 24, 2023
186e555
cmake: package: avoid macro overwrites
rexut Jul 12, 2023
3cccb13
cmake: add guard for Zephyr Build Configuration
rexut Jul 12, 2023
54fa31b
cmake: package: fix Bridle version detection
rexut Jul 12, 2023
6bcef16
cmake: package: fall back to Zephyr immediately
rexut Jul 12, 2023
5210977
cmake: package: avoid 'zero' version search
rexut Jul 12, 2023
f1f9ee8
tests: migrate find_package to Bridle
rexut Jul 12, 2023
716d2e9
samples: migrate find_package to Bridle
rexut Jul 12, 2023
2f04f1a
requirements: bump differet PyPi packages
rexut Jul 12, 2023
6e49b80
doc: Zephyr has moved requirements into doc folder
rexut Aug 26, 2023
4dd7d36
doc: asf.microchip.com: add x509 certificate
rexut Aug 30, 2023
5d7fed3
doc: hardening the "docset" mechanics
rexut Jul 12, 2023
83b1d37
doc: add docset prefix to all intersphinx refs
rexut Aug 30, 2023
9f20fda
doc: fix failed link checks
rexut Aug 30, 2023
b720bd7
doc: update all output messages for upcoming v3.4.99
rexut Aug 24, 2023
859aaee
doc: fix typo in how to build doc
rexut Jul 12, 2023
437db86
doc: add 3.4.1 to pick list
rexut Aug 24, 2023
05bf51d
release: add release notes for final 3.4.1
rexut Aug 24, 2023
310a514
release: bump shortcuts for final 3.4.1
rexut Aug 24, 2023
6a4d279
release: add draft notes for upcoming 3.5.0
rexut Aug 27, 2023
8a53af4
ci: github: doc-build: avoid Sphinx v6 issue
rexut Aug 30, 2023
11cbf83
ci: github: qa-shields: add all '@usbcons' board revisions
rexut Aug 24, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,22 @@ jobs:
- name: Install documentation dependencies
working-directory: workspace
run: |
pip3 install --upgrade --requirement zephyr/scripts/requirements-doc.txt
pip3 install --upgrade --requirement zephyr/doc/requirements.txt
pip3 install --upgrade --requirement bridle/scripts/requirements-doc.txt

- name: Build documentation
working-directory: workspace
run: |
cmake -B build -GNinja bridle/doc
ninja -C build build-all
#
# For some unknown reason, the layout of the Sphinx Tabs extension
# in the docset "devicetree" is no longer rendered properly by the
# HTML Builder of Sphinx v6. Only cleaning it up and rebuilding it
# helps so far.
#
ninja -C build devicetree-clean
ninja -C build devicetree-html

- name: Archive documentation
working-directory: workspace/build
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/qa-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ jobs:
--outdir twister-out --no-clean --inline-logs \
--enable-size-report --platform-reports \
--platform arduino_zero \
--platform arduino_zero@usbcons \
--platform mimxrt1010_evk \
--platform mimxrt1060_evk \
--platform mimxrt1060_evkb \
Expand All @@ -119,8 +120,10 @@ jobs:
--platform nucleo_f767zi \
--platform rpi_pico \
--platform seeed_xiao_samd21 \
--platform seeed_xiao_samd21@usbcons \
--platform seeeduino_xiao \
--platform seeeduino_lotus \
--platform seeeduino_lotus@usbcons \
--testsuite-root bridle/tests/shields/grove/dts_bindings \
--testsuite-root bridle/tests/shields/x_grove_testbed/dts_bindings

Expand Down
59 changes: 29 additions & 30 deletions boards/arm/arduino_zero/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Arduino/Genuino Zero

This board description is a copy from Zephyr with identical name and will
be used for further development, improvement and preparation of changes for
Zephyr within Bridle. However, the original board description still lives
Zephyr within Bridle. However, the original board description still lives
within the Zephyr namespace under the exactly same board name:
:ref:`zephyr:arduino_zero`.

Expand Down Expand Up @@ -97,25 +97,25 @@ Use the native USB device port with CDC-ACM as Zephyr console and for the shell.
Connections and IOs
===================

The `Arduino store`_ has detailed information about board connections. Download
The `Arduino store`_ has detailed information about board connections. Download
the `Arduino Zero Schematic`_ or `Arduino Zero Design Data`_ for more detail.
There is also an `Arduino Zero Pinout Diagram`_.

System Clock
============

The SAMD21 MCU is configured to use the 32.768 kHz external crystal with the
on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit
on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit
are set up in the same way as the upstream Arduino libraries.

GPIO (PWM) Ports
================

The SAMD21 MCU has 2 GPIO ports, 3 PWM able Timer/Capture-Counter (TCC) and
2 simple Timer/Counter (TC). On the Arduino Zero, TCC2 channel 1 is
2 simple Timer/Counter (TC). On the Arduino Zero, TCC2 channel 1 is
available on first user LED (L), all other user LEDs can be controlled
as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the
first user LED (L) is driven by TCC2 instead of by GPIO. All channels of
as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the
first user LED (L) is driven by TCC2 instead of by GPIO. All channels of
TCC0 and TCC1 are available on the |Arduino UNO R3| header.

ADC/DAC Ports
Expand All @@ -136,25 +136,24 @@ SPI Port
:scale: 50%
:alt: Arduino Zero SPI on 6 pin ICSP connector

The SAMD21 MCU has 6 SERCOM based SPIs. On the Arduino Zero, SERCOM4 is
available on the 6 pin ICSP connector at the edge of the board. To the
The SAMD21 MCU has 6 SERCOM based SPIs. On the Arduino Zero, SERCOM4 is
available on the 6 pin ICSP connector at the edge of the board. To the
|Arduino UNO R3| header SERCOM1 is connect to external devices over D11 (MOSI),
D12 (MISO), and D13 (SCK). All signals of both busses are connected in
D12 (MISO), and D13 (SCK). All signals of both busses are connected in
parallel to the Atmel EDBG.

I2C Port
========

The SAMD21 MCU has 6 SERCOM based I2Cs. On the Arduino Zero, SERCOM3 is
available on D18 (SDA) and D19 (SCL) of the |Arduino UNO R3| header. Both
signals are connected in parallel to the Atmel EDBG.

Serial Port
===========

The SAMD21 MCU has 6 SERCOM based USARTs. One of the USARTs (SERCOM5) is
The SAMD21 MCU has 6 SERCOM based USARTs. One of the USARTs (SERCOM5) is
connected to the onboard Atmel Embedded Debugger (EDBG) and is the Zephyr
console. This is captured by the standard board revision ``uartcons``.
console. This is captured by the standard board revision ``uartcons``.
SERCOM0 is available on the D0 (RX) and D1 (TX) of the |Arduino UNO R3| header.

USB Device Port
Expand All @@ -166,11 +165,11 @@ USB Device Port
:alt: Arduino Zero Native and Programming USB Ports

The SAMD21 MCU has a (native) USB device port that can be used to communicate
with a host PC. See the :ref:`usb-samples` sample applications for more, such
as the :ref:`usb_cdc-acm` sample which sets up a virtual serial port that echos
characters back to the host PC. As an alternative to the default Zephyr console
on serial port the special board revision ``usbcons`` can be used to enable
:ref:`usb_device_cdc_acm` and switch the console to USB::
with a host PC. See the :ref:`zephyr:usb-samples` sample applications for more,
such as the :ref:`zephyr:usb_cdc-acm` sample which sets up a virtual serial port
that echos characters back to the host PC. As an alternative to the default
Zephyr console on serial port the special board revision ``usbcons`` can be used
to enable :ref:`zephyr:usb_device_cdc_acm` and switch the console to USB::

USB device idVendor=2341, idProduct=804d, bcdDevice= 3.03
USB device strings: Mfr=1, Product=2, SerialNumber=3
Expand Down Expand Up @@ -205,15 +204,15 @@ bootloader will be entered automatically when you run :program:`west flash`.
* :bridle_file:`boards/arm/arduino_zero/doc/bootloader/samd21_bossa_arduino.jflash`

The Segger JFlash control file is only usefull when the EDBG firmware
was upgrade to the latest `J-Link firmware for Atmel EDBG`_. This was a
was upgrade to the latest `J-Link firmware for Atmel EDBG`_. This was a
special OEM firmware version for Atmel's Xplained Platforms, based on the
`AT32UC3A4256S`_ 32-bit AVR microcontroller.

.. danger::

**It is neither guaranteed nor tested that the J-Link firmware
for Atmel EDBG will also work on the EDGB populated on the Arduino
Zero!** See also the warning to Atmel Studio 7 below. In doubt
Zero!** See also the warning to Atmel Studio 7 below. In doubt
you should never touch the EDBG firmware on Arduino Zero.

So if that didn't happen, OpenOCD or, even easier, the small tool
Expand Down Expand Up @@ -241,7 +240,7 @@ bootloader will be entered automatically when you run :program:`west flash`.

.. rubric:: Atmel Embedded Debugger (EDBG)

The Arduino Zero also comes with an Atmel Embedded Debugger (`EDBG`_). That
The Arduino Zero also comes with an Atmel Embedded Debugger (`EDBG`_). That
provides a debug interface to the SAMD21 chip and is supported by OpenOCD
for bootloader restore or direct programming and debugging. The Atmel EDGB
is connected to the debug USB port for programming::
Expand All @@ -266,26 +265,26 @@ is connected to the debug USB port for programming::
The Arduino Zero was designed in partership with Atmel (now
Microchip) which dedicated to this board a special USB PID with
the major purpose to make the board recognizable and differentiate
it form other evaluation boards in Atmel Studio. The EDBG chip is
it form other evaluation boards in Atmel Studio. The EDBG chip is
used on several Atmel evaluation boards and programmers, you can
find the list
`here <https://onlinedocs.microchip.com/pr/GUID-33422CDF-8B41-417C-9C31-E4521ADAE9B4-en-US-2/GUID-7EF3D274-1BA4-40A3-80C8-51D1D0E4FA75.html>`_.
You should consider the Arduino Zero dedicated USB PID (:code:`0x2157`)
as another USB PID to add to that list. **During the manufacturing
as another USB PID to add to that list. **During the manufacturing
process Arduino upgrade the EDBG firmware and customize the USB
descriptor fields.**

-- https://github.com/arduino/ArduinoCore-samd/issues/286#issuecomment-354807646

Upgrading the firmware with a new one provided by Atmel Studio 7 using
the :program:`atfw.exe` tool will erase all the factory "Arduino Zero"
USB configurations and will set the USB PID to :code:`0x2111`. **But
USB configurations and will set the USB PID to :code:`0x2111`. **But
consider that you couldn't revert the Arduino USB descriptor settings!**

Flashing
========

#. Build the Zephyr kernel and the :ref:`hello_world` sample application:
#. Build the Zephyr kernel and the :ref:`zephyr:hello_world` sample application:

.. zephyr-app-commands::
:zephyr-app: samples/hello_world
Expand Down Expand Up @@ -402,17 +401,17 @@ Hello Shell with USB-CDC/ACM Console
ID: 0xde73d01ae52511ed9cf503ee1d54a301

uart:~$ kernel version
Zephyr version 3.4.0
Zephyr version 3.4.99

uart:~$ bridle version
Bridle version 3.4.0
Bridle version 3.4.99

uart:~$ bridle version long
Bridle version 3.4.0.0
Bridle version 3.4.99.0

uart:~$ bridle info
Zephyr: 3.4.0
Bridle: 3.4.0
Zephyr: 3.4.99
Bridle: 3.4.99

uart:~$ device list
devices:
Expand Down Expand Up @@ -629,7 +628,7 @@ References
https://www.microchip.com/product/AT32UC3A4256S

.. _UF2 bootloader:
https://github.com/Microsoft/uf2#bootloaders
https://github.com/Microsoft/uf2#user-content-bootloaders

.. _Arduino Zero Bootloader:
https://github.com/arduino/ArduinoCore-samd/tree/master/bootloaders/zero
Expand Down
44 changes: 22 additions & 22 deletions boards/arm/seeed_xiao_samd21/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Seeed Studio XIAO SAMD21 (Seeeduino XIAO)

This board description is a copy from Zephyr with a slightly changed name
and will be used for further development, improvement and preparation of
changes for Zephyr within Bridle. However, the original board description
changes for Zephyr within Bridle. However, the original board description
still lives within the Zephyr namespace under the original board name:
:ref:`zephyr:seeeduino_xiao`.

Expand Down Expand Up @@ -106,17 +106,17 @@ System Clock
============

The SAMD21 MCU is configured to use the 32.768 kHz external crystal with the
on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit
on-chip PLL generating the 48 MHz system clock. The internal APB and GCLK unit
are set up in the same way as the upstream Arduino libraries.

GPIO (PWM) Ports
================

The SAMD21 MCU has 2 GPIO ports, 3 PWM able Timer/Capture-Counter (TCC) and
2 simple Timer/Counter (TC). On the Seeed Studio XIAO SAMD21, TCC2 channel 1
2 simple Timer/Counter (TC). On the Seeed Studio XIAO SAMD21, TCC2 channel 1
is available on first user LED (L), all other user LEDs can be controlled
as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the
first user LED (L) is driven by TCC2 instead of by GPIO. All channels of
as GPIO. Only if :kconfig:option:`CONFIG_PWM_SAM0_TCC` is enabled then the
first user LED (L) is driven by TCC2 instead of by GPIO. All channels of
TCC0 and TCC1 are available on the |Seeed XIAO| header.

ADC/DAC Ports
Expand Down Expand Up @@ -158,7 +158,7 @@ table (default function in bold).
SPI Port
========

The SAMD21 MCU has 6 SERCOM based SPIs. On the Seeed Studio XIAO SAMD21,
The SAMD21 MCU has 6 SERCOM based SPIs. On the Seeed Studio XIAO SAMD21,
SERCOM0 can be put into SPI mode and used to connect to devices over the
|Seeed XIAO| header pin 9 (MISO), pin 10 (MOSI), and pin 8 (SCK).

Expand All @@ -171,20 +171,20 @@ SERCOM2 is available on the |Seeed XIAO| header pin 4 (SDA) and pin 5 (SCL).
Serial Port
===========

The SAMD21 MCU has 6 SERCOM based USARTs. On the Seeed Studio XIAO SAMD21,
The SAMD21 MCU has 6 SERCOM based USARTs. On the Seeed Studio XIAO SAMD21,
SERCOM4 is the Zephyr console and is available on the |Seeed XIAO| header
pins 7 (RX) and 6 (TX). This is captured by the standard board revision
pins 7 (RX) and 6 (TX). This is captured by the standard board revision
``uartcons``.

USB Device Port
===============

The SAMD21 MCU has a (native) USB device port that can be used to communicate
with a host PC. See the :ref:`usb-samples` sample applications for more, such
as the :ref:`usb_cdc-acm` sample which sets up a virtual serial port that echos
characters back to the host PC. As an alternative to the default Zephyr console
on serial port the special board revision ``usbcons`` can be used to enable
:ref:`usb_device_cdc_acm` and switch the console to USB::
with a host PC. See the :ref:`zephyr:usb-samples` sample applications for more,
such as the :ref:`zephyr:usb_cdc-acm` sample which sets up a virtual serial port
that echos characters back to the host PC. As an alternative to the default
Zephyr console on serial port the special board revision ``usbcons`` can be used
to enable :ref:`zephyr:usb_device_cdc_acm` and switch the console to USB::

USB device idVendor=2886, idProduct=802f, bcdDevice= 3.03
USB device strings: Mfr=1, Product=2, SerialNumber=3
Expand All @@ -197,7 +197,7 @@ Programming and Debugging

The Seeed Studio XIAO SAMD21 ships the BOSSA compatible `UF2 bootloader`_ also
known as `Arduino Zero Bootloader`_, a modern `SAM-BA`_ (Boot Assistant)
replacement. The bootloader can be entered by shorting the RST and GND pads
replacement. The bootloader can be entered by shorting the RST and GND pads
twice::

USB device idVendor=2886, idProduct=002f, bcdDevice=42.01
Expand Down Expand Up @@ -232,7 +232,7 @@ or direct programming and debugging.
Flashing
========

#. Build the Zephyr kernel and the :ref:`hello_world` sample application:
#. Build the Zephyr kernel and the :ref:`zephyr:hello_world` sample application:

.. zephyr-app-commands::
:zephyr-app: samples/hello_world
Expand All @@ -243,7 +243,7 @@ Flashing
#. Connect the Seeed Studio XIAO SAMD21 to your host computer using USB.

#. Connect a 3.3 V USB to serial adapter to the board and to the
host. See the `Serial Port`_ section above for the board's pin
host. See the `Serial Port`_ section above for the board's pin
connections.

#. Run your favorite terminal program to listen for output. Under Linux the
Expand Down Expand Up @@ -351,17 +351,17 @@ Hello Shell with USB-CDC/ACM Console
ID: 0x2601f57f2e175d24ac3fb5052f48a3f7

uart:~$ kernel version
Zephyr version 3.4.0
Zephyr version 3.4.99

uart:~$ bridle version
Bridle version 3.4.0
Bridle version 3.4.99

uart:~$ bridle version long
Bridle version 3.4.0.0
Bridle version 3.4.99.0

uart:~$ bridle info
Zephyr: 3.4.0
Bridle: 3.4.0
Zephyr: 3.4.99
Bridle: 3.4.99

uart:~$ device list
devices:
Expand Down Expand Up @@ -546,7 +546,7 @@ References
https://www.microchip.com/product/ATSAMD21G18

.. _UF2 bootloader:
https://github.com/Microsoft/uf2#bootloaders
https://github.com/Microsoft/uf2#user-content-bootloaders

.. _Arduino Zero Bootloader:
https://github.com/Seeed-Studio/ArduinoCore-samd/tree/master/bootloaders/XIAOM0
Expand Down
Loading
Loading