Skip to content

Commit 50d357d

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 9877834 commit 50d357d

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
@@ -555,23 +555,84 @@ USB
555555
Build and Infrastructure
556556
************************
557557

558+
* Devicetree API
558559

559-
* Devicetree
560+
* New "for-each" macros which work like existing APIs, but take variable
561+
numbers of arguments: :c:macro:`DT_FOREACH_CHILD_VARGS`,
562+
:c:macro:`DT_FOREACH_CHILD_STATUS_OKAY_VARGS`,
563+
:c:macro:`DT_FOREACH_PROP_ELEM_VARGS`,
564+
:c:macro:`DT_INST_FOREACH_CHILD_VARGS`,
565+
:c:macro:`DT_INST_FOREACH_STATUS_OKAY_VARGS`,
566+
:c:macro:`DT_INST_FOREACH_PROP_ELEM_VARGS`
560567

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

565-
* ``nios,i2c`` is now ``altr,nios2-i2c``
566-
* ``colorway,lpd8803`` is now ``greeled,lpd8803``
567-
* ``colorway,lpd8806`` is now ``greeled,lpd8806``
568-
* ``grove,light`` is now ``seeed,grove-light``
569-
* ``grove,temperature`` is now ``seeed,grove-temperature``
570-
* ``max,max30101`` is now ``maxim,max30101``
571-
* ``ublox,sara-r4`` is now ``u-blox,sara-r4``
572-
* ``xtensa,core-intc`` is now ``cdns,xtensa-core-intc``
573-
574-
Out of tree users of these compatibles will need to update their
607+
.. list-table::
608+
:header-rows: 1
609+
610+
- * Old compatible
611+
* New compatible
612+
- * ``nios,i2c``
613+
* :dtcompatible:`altr,nios2-i2c`
614+
- * ``cadence,tensilica-xtensa-lx4``
615+
* :dtcompatible:`cdns,tensilica-xtensa-lx4`
616+
- * ``cadence,tensilica-xtensa-lx6``
617+
* :dtcompatible:`cdns,tensilica-xtensa-lx6`
618+
- * ``colorway,lpd8803``
619+
* :dtcompatible:`greeled,lpd8803`
620+
- * ``colorway,lpd8806``
621+
* :dtcompatible:`greeled,lpd8806`
622+
- * ``grove,light``
623+
* :dtcompatible:`seeed,grove-light`
624+
- * ``grove,temperature``
625+
* :dtcompatible:`seeed,grove-temperature`
626+
- * ``max,max30101``
627+
* :dtcompatible:`maxim,max30101`
628+
- * ``ublox,sara-r4``
629+
* :dtcompatible:`u-blox,sara-r4`
630+
- * ``xtensa,core-intc``
631+
* :dtcompatible:`cdns,xtensa-core-intc`
632+
- * ``vexriscv,intc0``
633+
* :dtcompatible:`vexriscv-intc0`
634+
635+
Out of tree users of these bindings will need to update their
575636
devicetrees.
576637

577638
You can support multiple versions of Zephyr with one devicetree by
@@ -583,6 +644,60 @@ Build and Infrastructure
583644
...
584645
};
585646

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

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

0 commit comments

Comments
 (0)