Skip to content

Commit 12351cb

Browse files
mbolivar-nordiccfriedt
authored andcommitted
doc: devicetree release notes for 2.7
There's enough meat here to split the content up into areas: devicetree.h itself, Python tooling changes, and bindings changes. I also reworked the section describing vendor prefix fixes to use a table, which I find more readable on a second pass through it. Signed-off-by: Martí Bolívar <[email protected]>
1 parent d55c9b6 commit 12351cb

File tree

2 files changed

+129
-12
lines changed

2 files changed

+129
-12
lines changed

doc/reference/devicetree/api.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,8 @@ channels (e.g. ADC or DAC channels) for conversion.
254254

255255
.. doxygengroup:: devicetree-io-channels
256256

257+
.. _devicetree-pinctrl-api:
258+
257259
Pinctrl (pin control)
258260
=====================
259261

doc/releases/release-notes-2.7.rst

Lines changed: 127 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -561,23 +561,84 @@ USB
561561
Build and Infrastructure
562562
************************
563563

564+
* Devicetree API
564565

565-
* Devicetree
566+
* New "for-each" macros which work like existing APIs, but take variable
567+
numbers of arguments: :c:macro:`DT_FOREACH_CHILD_VARGS`,
568+
:c:macro:`DT_FOREACH_CHILD_STATUS_OKAY_VARGS`,
569+
:c:macro:`DT_FOREACH_PROP_ELEM_VARGS`,
570+
:c:macro:`DT_INST_FOREACH_CHILD_VARGS`,
571+
:c:macro:`DT_INST_FOREACH_STATUS_OKAY_VARGS`,
572+
:c:macro:`DT_INST_FOREACH_PROP_ELEM_VARGS`
566573

567-
* Various compatibles had incorrect vendor prefixes in their :ref:`compatible
574+
* Other new "for-each" macros: :c:macro:`DT_FOREACH_STATUS_OKAY`,
575+
:c:macro:`DT_FOREACH_STATUS_OKAY_VARGS`
576+
577+
* New macros for converting strings to C tokens: :c:macro:`DT_STRING_TOKEN`,
578+
:c:macro:`DT_STRING_UPPER_TOKEN`
579+
580+
* New :ref:`devicetree-pinctrl-api` helper macros
581+
582+
* Devicetree tooling
583+
584+
* Errors are now generated when invalid YAML files are discovered while
585+
searching for bindings. See :ref:`dt-where-bindings-are-located` for
586+
information on the search path.
587+
588+
* File names ending in ``.yml`` are now considered YAML files when searching
589+
for bindings.
590+
591+
* Errors are now generated if invalid node names are used. For example, the
592+
node name ``node?`` now generates an error message ending in ``node?: Bad
593+
character '?' in node name``. The valid node names are documented in
594+
"2.2.2 Node Names" of the Devicetree specification v0.3.
595+
596+
* Warnings are now generated if a :ref:`compatible property
597+
<dt-important-props>` in the ``vendor,device`` format uses an unknown
598+
vendor prefix. This warning does not apply to the root node.
599+
600+
Known vendor prefixes are defined in
601+
:file:`dts/bindings/vendor-prefixes.txt` files, which may appear in any
602+
directory in :ref:`DTS_ROOT <dts_root>`.
603+
604+
These may be upgraded to errors using the edtlib Python APIs; Zephyr's CI
605+
now generates such errors.
606+
607+
* Devicetree bindings
608+
609+
* Various bindings had incorrect vendor prefixes in their :ref:`compatible
568610
<dt-important-props>` properties; the following changes were made to fix
569611
these.
570612

571-
* ``nios,i2c`` is now ``altr,nios2-i2c``
572-
* ``colorway,lpd8803`` is now ``greeled,lpd8803``
573-
* ``colorway,lpd8806`` is now ``greeled,lpd8806``
574-
* ``grove,light`` is now ``seeed,grove-light``
575-
* ``grove,temperature`` is now ``seeed,grove-temperature``
576-
* ``max,max30101`` is now ``maxim,max30101``
577-
* ``ublox,sara-r4`` is now ``u-blox,sara-r4``
578-
* ``xtensa,core-intc`` is now ``cdns,xtensa-core-intc``
579-
580-
Out of tree users of these compatibles will need to update their
613+
.. list-table::
614+
:header-rows: 1
615+
616+
- * Old compatible
617+
* New compatible
618+
- * ``nios,i2c``
619+
* :dtcompatible:`altr,nios2-i2c`
620+
- * ``cadence,tensilica-xtensa-lx4``
621+
* :dtcompatible:`cdns,tensilica-xtensa-lx4`
622+
- * ``cadence,tensilica-xtensa-lx6``
623+
* :dtcompatible:`cdns,tensilica-xtensa-lx6`
624+
- * ``colorway,lpd8803``
625+
* :dtcompatible:`greeled,lpd8803`
626+
- * ``colorway,lpd8806``
627+
* :dtcompatible:`greeled,lpd8806`
628+
- * ``grove,light``
629+
* :dtcompatible:`seeed,grove-light`
630+
- * ``grove,temperature``
631+
* :dtcompatible:`seeed,grove-temperature`
632+
- * ``max,max30101``
633+
* :dtcompatible:`maxim,max30101`
634+
- * ``ublox,sara-r4``
635+
* :dtcompatible:`u-blox,sara-r4`
636+
- * ``xtensa,core-intc``
637+
* :dtcompatible:`cdns,xtensa-core-intc`
638+
- * ``vexriscv,intc0``
639+
* :dtcompatible:`vexriscv-intc0`
640+
641+
Out of tree users of these bindings will need to update their
581642
devicetrees.
582643

583644
You can support multiple versions of Zephyr with one devicetree by
@@ -589,6 +650,60 @@ Build and Infrastructure
589650
...
590651
};
591652

653+
* Other new bindings in alphabetical order: :dtcompatible:`andestech,atcgpio100`,
654+
:dtcompatible:`arm,gic-v3-its`, :dtcompatible:`atmel,sam0-gmac`,
655+
:dtcompatible:`atmel,sam0-pinctrl`, :dtcompatible:`atmel,sam-dac`,
656+
:dtcompatible:`atmel,sam-mdio`, :dtcompatible:`atmel,sam-usbc`,
657+
:dtcompatible:`cdns,tensilica-xtensa-lx7`,
658+
:dtcompatible:`espressif,esp32c3-uart`,
659+
:dtcompatible:`espressif,esp32-intc`,
660+
:dtcompatible:`espressif,esp32s2-uart`, :dtcompatible:`ethernet-phy`,
661+
:dtcompatible:`fcs,fxl6408`, :dtcompatible:`ilitek,ili9341`,
662+
:dtcompatible:`ite,it8xxx2-bbram`, :dtcompatible:`ite,it8xxx2-kscan`,
663+
:dtcompatible:`ite,it8xxx2-pinctrl-conf`, :dtcompatible:`ite,it8xxx2-pwm`,
664+
:dtcompatible:`ite,it8xxx2-pwmprs`, :dtcompatible:`ite,it8xxx2-watchdog`,
665+
:dtcompatible:`lm75`, :dtcompatible:`lm77`, :dtcompatible:`meas,ms5607`,
666+
:dtcompatible:`microchip,ksz8863`, :dtcompatible:`microchip,mcp7940n`,
667+
:dtcompatible:`microchip,xec-adc-v2`, :dtcompatible:`microchip,xec-ecia`,
668+
:dtcompatible:`microchip,xec-ecia-girq`,
669+
:dtcompatible:`microchip,xec-gpio-v2`,
670+
:dtcompatible:`microchip,xec-i2c-v2`, :dtcompatible:`microchip,xec-pcr`,
671+
:dtcompatible:`microchip,xec-uart`, :dtcompatible:`nuvoton,npcx-bbram`,
672+
:dtcompatible:`nuvoton,npcx-booter-variant`,
673+
:dtcompatible:`nuvoton,npcx-ps2-channel`,
674+
:dtcompatible:`nuvoton,npcx-ps2-ctrl`, :dtcompatible:`nuvoton,npcx-soc-id`,
675+
:dtcompatible:`nxp,imx-ccm-rev2`, :dtcompatible:`nxp,lpc-ctimer`,
676+
:dtcompatible:`nxp,lpc-uid`, :dtcompatible:`nxp,mcux-usbd`,
677+
:dtcompatible:`nxp,sctimer-pwm`, :dtcompatible:`ovti,ov2640`,
678+
:dtcompatible:`renesas,rcar-can`, :dtcompatible:`renesas,rcar-i2c`,
679+
:dtcompatible:`reserved-memory`, :dtcompatible:`riscv,sifive-e24`,
680+
:dtcompatible:`sensirion,sgp40`, :dtcompatible:`sensirion,sht4x`,
681+
:dtcompatible:`sensirion,shtcx`, :dtcompatible:`silabs,si7055`,
682+
:dtcompatible:`silabs,si7210`, :dtcompatible:`snps,creg-gpio`,
683+
:dtcompatible:`st,i3g4250d`, :dtcompatible:`st,stm32-aes`,
684+
:dtcompatible:`st,stm32-dma`, :dtcompatible:`st,stm32-dma-v2bis`,
685+
:dtcompatible:`st,stm32-hsem-mailbox`, :dtcompatible:`st,stm32-nv-flash`,
686+
:dtcompatible:`st,stm32-spi-subghz`,
687+
:dtcompatible:`st,stm32u5-flash-controller`,
688+
:dtcompatible:`st,stm32u5-msi-clock`, :dtcompatible:`st,stm32u5-pll-clock`,
689+
:dtcompatible:`st,stm32u5-rcc`, :dtcompatible:`st,stm32wl-hse-clock`,
690+
:dtcompatible:`st,stm32wl-subghz-radio`, :dtcompatible:`st,stmpe1600`,
691+
:dtcompatible:`syscon`, :dtcompatible:`telink,b91`,
692+
:dtcompatible:`telink,b91-flash-controller`,
693+
:dtcompatible:`telink,b91-gpio`, :dtcompatible:`telink,b91-i2c`,
694+
:dtcompatible:`telink,b91-pinmux`, :dtcompatible:`telink,b91-power`,
695+
:dtcompatible:`telink,b91-pwm`, :dtcompatible:`telink,b91-spi`,
696+
:dtcompatible:`telink,b91-trng`, :dtcompatible:`telink,b91-uart`,
697+
:dtcompatible:`telink,b91-zb`, :dtcompatible:`ti,hdc2010`,
698+
:dtcompatible:`ti,hdc2021`, :dtcompatible:`ti,hdc2022`,
699+
:dtcompatible:`ti,hdc2080`, :dtcompatible:`ti,hdc20xx`,
700+
:dtcompatible:`ti,ina219`, :dtcompatible:`ti,ina23x`,
701+
:dtcompatible:`ti,tca9538`, :dtcompatible:`ti,tca9546a`,
702+
:dtcompatible:`ti,tlc59108`,
703+
:dtcompatible:`xlnx,gem`, :dtcompatible:`zephyr,bbram-emul`,
704+
:dtcompatible:`zephyr,cdc-acm-uart`, :dtcompatible:`zephyr,gsm-ppp`,
705+
:dtcompatible:`zephyr,native-posix-udc`
706+
592707
* West (extensions)
593708

594709
* openocd runner: Zephyr thread awareness is now available in GDB by default

0 commit comments

Comments
 (0)