From a0fceff1a27e39e9de90b9a3251626fcecb57a32 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Mon, 19 Aug 2019 20:32:25 +0200 Subject: [PATCH] scripts: dts: Simplify and improve 'compatible' matching Instead of properties: compatible: constraint: "foo" , just have compatible: "foo" at the top level of the binding. For backwards compatibility, the old 'properties: compatible: ...' form is still accepted for now, and is treated the same as a single-element 'compatible:'. The old syntax was inspired by dt-schema (though it isn't dt-schema-compatible), which is in turn a thin wrapper around json-schema (the idea is to transform .dts files into YAML and then verify them). Maybe the idea was to gradually switch the syntax over to dt-schema and then be able to use unmodified dt-schema bindings, but dt-schema is really a different kind of tool (a completely standalone linter), and works very differently from our stuff (see schemas/dt-core.yaml in the dt-schema repo to get an idea of just how differently). Better to keep it simple. This commit also piggybacks some clarifications to the binding template re. '#cells:'. Signed-off-by: Ulf Magnusson --- doc/guides/dts/index.rst | 6 ++ dts/binding-template.yaml | 65 ++++++++++++----- dts/bindings/arc/arc,dccm.yaml | 5 +- dts/bindings/arc/arc,iccm.yaml | 5 +- dts/bindings/arm/arm,dtcm.yaml | 5 +- dts/bindings/arm/arm,scc.yaml | 5 +- dts/bindings/arm/atmel,sam0-device_id.yaml | 5 +- dts/bindings/arm/atmel,sam0-dmac.yaml | 5 +- dts/bindings/arm/atmel,sam0-sercom.yaml | 5 +- dts/bindings/arm/nordic,nrf-dppic.yaml | 5 +- dts/bindings/arm/nordic,nrf-ficr.yaml | 5 +- dts/bindings/arm/nordic,nrf-spu.yaml | 5 +- dts/bindings/arm/nordic,nrf-uicr.yaml | 5 +- dts/bindings/arm/nxp,imx-dtcm.yaml | 5 +- dts/bindings/arm/nxp,imx-epit.yaml | 5 +- dts/bindings/arm/nxp,imx-itcm.yaml | 5 +- dts/bindings/arm/nxp,imx-mu.yaml | 5 +- dts/bindings/arm/nxp,kinetis-mcg.yaml | 5 +- dts/bindings/arm/nxp,kinetis-pcc.yaml | 5 +- dts/bindings/arm/nxp,kinetis-scg.yaml | 5 +- dts/bindings/arm/nxp,kinetis-sim.yaml | 5 +- dts/bindings/arm/nxp,lpc-mailbox.yaml | 5 +- dts/bindings/arm/st,stm32-ccm.yaml | 5 +- dts/bindings/arm/ti,cc2650-prcm.yaml | 5 +- dts/bindings/audio/st,mpxxdtyy-i2s.yaml | 4 +- dts/bindings/audio/ti,tlv320dac.yaml | 5 +- .../bluetooth/zephyr,bt-hci-spi-slave.yaml | 5 +- dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml | 5 +- dts/bindings/can/can-device.yaml | 5 +- dts/bindings/can/microchip,mcp2515.yaml | 4 +- dts/bindings/can/nxp,kinetis-flexcan.yaml | 5 +- dts/bindings/can/st,stm32-can.yaml | 5 +- dts/bindings/clock/fixed-clock.yaml | 8 +-- dts/bindings/clock/nordic,nrf-clock.yaml | 5 +- dts/bindings/clock/nxp,imx-ccm.yaml | 5 +- dts/bindings/clock/st,stm32-rcc.yaml | 5 +- dts/bindings/cpu/arm,cortex-m0+.yaml | 6 +- dts/bindings/cpu/arm,cortex-m0.yaml | 6 +- dts/bindings/cpu/arm,cortex-m23.yaml | 6 +- dts/bindings/cpu/arm,cortex-m3.yaml | 6 +- dts/bindings/cpu/arm,cortex-m33.yaml | 6 +- dts/bindings/cpu/arm,cortex-m4.yaml | 6 +- dts/bindings/cpu/arm,cortex-m4f.yaml | 6 +- dts/bindings/cpu/arm,cortex-m7.yaml | 6 +- .../cpu/cadence,tensilica-xtensa-lx6.yaml | 6 +- dts/bindings/cpu/sample_controller.yaml | 6 +- dts/bindings/cpu/snps,arcem.yaml | 6 +- dts/bindings/crypto/arm,cryptocell-310.yaml | 5 +- dts/bindings/crypto/nordic,nrf-cc310.yaml | 5 +- dts/bindings/display/fsl,imx6sx-lcdif.yaml | 5 +- dts/bindings/display/ilitek,ili9340.yaml | 5 +- .../display/rocktech,rk043fn02h-ct.yaml | 6 +- dts/bindings/display/sitronix,st7789v.yaml | 5 +- dts/bindings/display/solomon,ssd1306fb.yaml | 5 +- dts/bindings/display/solomon,ssd1673fb.yaml | 5 +- dts/bindings/espi/microchip,xec-espi.yaml | 5 +- dts/bindings/ethernet/intel,e1000.yaml | 5 +- dts/bindings/ethernet/litex,eth0.yaml | 5 +- dts/bindings/ethernet/microchip,enc28j60.yaml | 5 +- .../ethernet/nxp,kinetis-ethernet.yaml | 5 +- dts/bindings/ethernet/nxp.kinetis-ptp.yaml | 4 +- dts/bindings/ethernet/smsc,lan9220.yaml | 5 +- .../ethernet/ti,stellaris-ethernet.yaml | 4 +- .../atmel,sam-flash-controller.yaml | 5 +- .../flash_controller/atmel,sam0-nvmctrl.yaml | 6 +- .../cypress,psoc6-flash-controller.yaml | 6 +- .../nordic,nrf51-flash-controller.yaml | 6 +- .../nordic,nrf52-flash-controller.yaml | 6 +- .../nordic,nrf91-flash-controller.yaml | 6 +- .../flash_controller/nxp,kinetis-ftfa.yaml | 6 +- .../flash_controller/nxp,kinetis-ftfe.yaml | 6 +- .../flash_controller/nxp,kinetis-ftfl.yaml | 6 +- .../flash_controller/openisa,rv32m1-ftfe.yaml | 6 +- .../silabs,gecko-flash-controller.yaml | 6 +- .../st,stm32f0-flash-controller.yaml | 6 +- .../st,stm32f2-flash-controller.yaml | 6 +- .../st,stm32f3-flash-controller.yaml | 6 +- .../st,stm32f4-flash-controller.yaml | 6 +- .../st,stm32f7-flash-controller.yaml | 6 +- .../st,stm32g0-flash-controller.yaml | 6 +- .../st,stm32h7-flash-controller.yaml | 6 +- .../st,stm32l1-flash-controller.yaml | 6 +- .../st,stm32l4-flash-controller.yaml | 6 +- .../st,stm32wb-flash-controller.yaml | 5 +- .../zephyr,native-posix-flash-controller.yaml | 6 +- .../flash_controller/zephyr,sim-flash.yaml | 5 +- dts/bindings/gpio/arduino-header-r3.yaml | 6 +- dts/bindings/gpio/arm,cmsdk-gpio.yaml | 5 +- dts/bindings/gpio/atmel,sam-gpio.yaml | 5 +- dts/bindings/gpio/atmel,sam0-gpio.yaml | 5 +- dts/bindings/gpio/gpio-keys.yaml | 7 +- dts/bindings/gpio/gpio-leds.yaml | 7 +- dts/bindings/gpio/holtek,ht16k33-keyscan.yaml | 4 +- dts/bindings/gpio/intel,apl-gpio.yaml | 5 +- dts/bindings/gpio/intel,qmsi-gpio.yaml | 5 +- dts/bindings/gpio/intel,qmsi-ss-gpio.yaml | 5 +- dts/bindings/gpio/microchip,xec-gpio.yaml | 6 +- dts/bindings/gpio/nordic,nrf-gpio.yaml | 5 +- dts/bindings/gpio/nordic,nrf-gpiote.yaml | 5 +- dts/bindings/gpio/nxp,imx-gpio.yaml | 5 +- dts/bindings/gpio/nxp,kinetis-gpio.yaml | 5 +- dts/bindings/gpio/openisa,rv32m1-gpio.yaml | 5 +- dts/bindings/gpio/semtech,sx1509b-gpio.yaml | 5 +- dts/bindings/gpio/sifive,gpio0.yaml | 5 +- dts/bindings/gpio/silabs,efm32-gpio-port.yaml | 5 +- dts/bindings/gpio/silabs,efm32-gpio.yaml | 5 +- .../gpio/silabs,efr32mg12-gpio-port.yaml | 5 +- dts/bindings/gpio/silabs,efr32mg12-gpio.yaml | 5 +- .../gpio/silabs,efr32xg1-gpio-port.yaml | 5 +- dts/bindings/gpio/silabs,efr32xg1-gpio.yaml | 5 +- dts/bindings/gpio/snps,designware-gpio.yaml | 5 +- dts/bindings/gpio/st,stm32-gpio.yaml | 5 +- dts/bindings/gpio/ti,cc13xx-cc26xx-gpio.yaml | 5 +- dts/bindings/gpio/ti,cc2650-gpio.yaml | 5 +- dts/bindings/gpio/ti,cc32xx-gpio.yaml | 5 +- dts/bindings/gpio/ti,stellaris-gpio.yaml | 5 +- dts/bindings/i2c/arm,versatile-i2c.yaml | 5 +- dts/bindings/i2c/atmel,sam-i2c-twi.yaml | 5 +- dts/bindings/i2c/atmel,sam-i2c-twihs.yaml | 5 +- dts/bindings/i2c/atmel,sam0-i2c.yaml | 5 +- dts/bindings/i2c/fsl,imx7d-i2c.yaml | 5 +- dts/bindings/i2c/intel,qmsi-i2c.yaml | 5 +- dts/bindings/i2c/intel,qmsi-ss-i2c.yaml | 5 +- dts/bindings/i2c/microchip,xec-i2c.yaml | 5 +- dts/bindings/i2c/nios2,i2c.yaml | 5 +- dts/bindings/i2c/nordic,nrf-i2c.yaml | 5 +- dts/bindings/i2c/nxp,imx-lpi2c.yaml | 5 +- dts/bindings/i2c/nxp,kinetis-i2c.yaml | 5 +- dts/bindings/i2c/openisa,rv32m1-lpi2c.yaml | 5 +- dts/bindings/i2c/sifive,i2c0.yaml | 5 +- dts/bindings/i2c/silabs,gecko-i2c.yaml | 5 +- dts/bindings/i2c/snps,designware-i2c.yaml | 5 +- dts/bindings/i2c/st,stm32-i2c-v1.yaml | 5 +- dts/bindings/i2c/st,stm32-i2c-v2.yaml | 5 +- dts/bindings/i2c/ti,cc13xx-cc26xx-i2c.yaml | 5 +- dts/bindings/i2c/ti,cc32xx-i2c.yaml | 5 +- dts/bindings/i2s/st,stm32-i2s.yaml | 5 +- dts/bindings/ieee802154/nxp,mcr20a.yaml | 5 +- dts/bindings/ieee802154/ti,cc1200.yaml | 6 +- dts/bindings/ieee802154/ti,cc2520.yaml | 5 +- dts/bindings/iio/adc/atmel,sam-afec.yaml | 5 +- dts/bindings/iio/adc/atmel,sam0-adc.yaml | 5 +- dts/bindings/iio/adc/nordic,nrf-adc.yaml | 5 +- dts/bindings/iio/adc/nordic,nrf-saadc.yaml | 5 +- dts/bindings/iio/adc/nxp,kinetis-adc12.yaml | 5 +- dts/bindings/iio/adc/nxp,kinetis-adc16.yaml | 5 +- dts/bindings/iio/adc/st,stm32-adc.yaml | 5 +- .../interrupt-controller/arm,gic.yaml | 8 +-- .../interrupt-controller/arm,v6m-nvic.yaml | 5 +- .../interrupt-controller/arm,v7m-nvic.yaml | 5 +- .../interrupt-controller/arm,v8m-nvic.yaml | 5 +- .../interrupt-controller/atmel,sam0-eic.yaml | 5 +- .../interrupt-controller/intel,cavs-intc.yaml | 5 +- .../interrupt-controller/intel,ioapic.yaml | 5 +- .../openisa,rv32m1-event-unit.yaml | 5 +- .../openisa,rv32m1-intmux.yaml | 5 +- .../interrupt-controller/riscv,cpu-intc.yaml | 5 +- .../interrupt-controller/shared-irq.yaml | 5 +- .../sifive,plic-1.0.0.yaml | 5 +- .../snps,archs-idu-intc.yaml | 6 +- .../interrupt-controller/snps,arcv2-intc.yaml | 5 +- .../snps,designware-intc.yaml | 5 +- .../interrupt-controller/vexriscv,intc0.yaml | 5 +- .../interrupt-controller/xtensa,intc.yaml | 5 +- dts/bindings/ipm/st,stm32-ipcc-mailbox.yaml | 5 +- dts/bindings/led/holtek,ht16k33.yaml | 4 +- dts/bindings/led/nxp,pca9633.yaml | 6 +- dts/bindings/led/pwm-leds.yaml | 7 +- dts/bindings/led/ti,lp3943.yaml | 6 +- dts/bindings/led/ti,lp5562.yaml | 6 +- dts/bindings/led_strip/apa,apa-102.yaml | 6 +- dts/bindings/led_strip/colorway,lpd8803.yaml | 6 +- dts/bindings/led_strip/colorway,lpd8806.yaml | 6 +- dts/bindings/led_strip/worldsemi,ws2812.yaml | 6 +- .../memory-controllers/nxp,imx-semc.yaml | 5 +- dts/bindings/mhu/arm,mhu.yaml | 5 +- dts/bindings/misc/skyworks,sky13351.yaml | 4 +- dts/bindings/mmc/mmc-spi-slot.yaml | 6 +- dts/bindings/mmc/nxp,imx-usdhc.yaml | 5 +- dts/bindings/mmu_mpu/arm,armv7m-mpu.yaml | 5 +- dts/bindings/mmu_mpu/arm,armv8m-mpu.yaml | 5 +- dts/bindings/modem/ublox,sara-r4.yaml | 5 +- dts/bindings/modem/wnc,m14a2a.yaml | 5 +- dts/bindings/mtd/atmel,at24.yaml | 4 +- dts/bindings/mtd/jedec,spi-nor.yaml | 5 +- dts/bindings/mtd/partition.yaml | 8 +-- dts/bindings/mtd/soc-nv-flash.yaml | 5 +- dts/bindings/mtd/winbond,w25q16.yaml | 6 +- dts/bindings/phy/st,stm32-usbphyc.yaml | 5 +- dts/bindings/phy/usb-nop-xceiv.yaml | 5 +- dts/bindings/pinctrl/atmel,sam0-pinmux.yaml | 5 +- dts/bindings/pinctrl/intel,s1000-pinmux.yaml | 5 +- dts/bindings/pinctrl/nxp,kinetis-pinmux.yaml | 5 +- .../pinctrl/openisa,rv32m1-pinmux.yaml | 5 +- dts/bindings/pinctrl/st,stm32-pinmux.yaml | 5 +- .../pinctrl/ti,cc13xx-cc26xx-pinmux.yaml | 5 +- dts/bindings/pinctrl/ti,cc2650-pinmux.yaml | 5 +- dts/bindings/power/nordic,nrf-power.yaml | 5 +- dts/bindings/pwm/atmel,sam-pwm.yaml | 5 +- dts/bindings/pwm/fsl,imx7d-pwm.yaml | 5 +- dts/bindings/pwm/nordic,nrf-pwm.yaml | 5 +- dts/bindings/pwm/nordic,nrf-sw-pwm.yaml | 5 +- dts/bindings/pwm/nxp,flexpwm.yaml | 5 +- dts/bindings/pwm/nxp,imx-pwm.yaml | 6 +- dts/bindings/pwm/nxp,kinetis-ftm.yaml | 5 +- dts/bindings/pwm/sifive,pwm0.yaml | 5 +- dts/bindings/pwm/st,stm32-pwm.yaml | 5 +- dts/bindings/riscv/openisa,rv32m1-pcc.yaml | 5 +- dts/bindings/rng/atmel,sam-trng.yaml | 5 +- dts/bindings/rng/nxp,kinetis-rnga.yaml | 5 +- dts/bindings/rng/nxp,kinetis-trng.yaml | 5 +- dts/bindings/rng/ti,cc13xx-cc26xx-trng.yaml | 5 +- dts/bindings/rtc/atmel,sam0-rtc.yaml | 5 +- dts/bindings/rtc/intel,qmsi-rtc.yaml | 5 +- dts/bindings/rtc/nordic,nrf-rtc.yaml | 13 ++-- dts/bindings/rtc/nxp,kinetis-rtc.yaml | 5 +- dts/bindings/rtc/silabs,gecko-rtcc.yaml | 5 +- dts/bindings/rtc/st,stm32-rtc.yaml | 5 +- dts/bindings/sensor/adi,adt7420.yaml | 5 +- dts/bindings/sensor/adi,adxl362.yaml | 5 +- dts/bindings/sensor/adi,adxl372-i2c.yaml | 5 +- dts/bindings/sensor/adi,adxl372-spi.yaml | 5 +- dts/bindings/sensor/ams,ccs811.yaml | 6 +- dts/bindings/sensor/ams,ens210.yaml | 6 +- dts/bindings/sensor/ams,iaqcore.yaml | 6 +- dts/bindings/sensor/avago,apds9960.yaml | 5 +- dts/bindings/sensor/bosch,bme280-i2c.yaml | 6 +- dts/bindings/sensor/bosch,bme280-spi.yaml | 6 +- dts/bindings/sensor/bosch,bme680-i2c.yaml | 6 +- dts/bindings/sensor/bosch,bmi160.yaml | 5 +- dts/bindings/sensor/max,max30101.yaml | 6 +- dts/bindings/sensor/meas,ms5837.yaml | 6 +- dts/bindings/sensor/nordic,nrf-qdec.yaml | 5 +- dts/bindings/sensor/nordic,nrf-temp.yaml | 5 +- dts/bindings/sensor/nxp,fxas21002.yaml | 5 +- dts/bindings/sensor/nxp,fxos8700.yaml | 5 +- dts/bindings/sensor/sensirion,sht3xd.yaml | 4 +- dts/bindings/sensor/silabs,si7006.yaml | 6 +- dts/bindings/sensor/st,hts221.yaml | 5 +- dts/bindings/sensor/st,lis2dh-i2c.yaml | 5 +- dts/bindings/sensor/st,lis2dh-spi.yaml | 5 +- dts/bindings/sensor/st,lis2ds12-i2c.yaml | 5 +- dts/bindings/sensor/st,lis2ds12-spi.yaml | 5 +- dts/bindings/sensor/st,lis2dw12-i2c.yaml | 5 +- dts/bindings/sensor/st,lis2dw12-spi.yaml | 5 +- dts/bindings/sensor/st,lis2mdl-magn.yaml | 5 +- dts/bindings/sensor/st,lis3dh-i2c.yaml | 5 +- dts/bindings/sensor/st,lis3mdl-magn.yaml | 6 +- dts/bindings/sensor/st,lps22hb-press.yaml | 6 +- dts/bindings/sensor/st,lps22hh-i2c.yaml | 5 +- dts/bindings/sensor/st,lps22hh-spi.yaml | 5 +- dts/bindings/sensor/st,lps25hb-press.yaml | 6 +- dts/bindings/sensor/st,lsm303dlhc-accel.yaml | 6 +- dts/bindings/sensor/st,lsm303dlhc-magn.yaml | 6 +- dts/bindings/sensor/st,lsm6ds0.yaml | 6 +- dts/bindings/sensor/st,lsm6dsl-i2c.yaml | 5 +- dts/bindings/sensor/st,lsm6dsl-spi.yaml | 5 +- dts/bindings/sensor/st,lsm6dso-i2c.yaml | 5 +- dts/bindings/sensor/st,lsm6dso-spi.yaml | 5 +- dts/bindings/sensor/st,lsm9ds0-gyro-i2c.yaml | 5 +- dts/bindings/sensor/st,lsm9ds0-mfd-i2c.yaml | 5 +- dts/bindings/sensor/st,stts751-i2c.yaml | 5 +- dts/bindings/sensor/st,vl53l0x.yaml | 6 +- dts/bindings/sensor/ti,hdc.yaml | 5 +- dts/bindings/serial/altera,jtag-uart.yaml | 5 +- dts/bindings/serial/arm,cmsdk-uart.yaml | 5 +- dts/bindings/serial/arm,pl011.yaml | 5 +- dts/bindings/serial/atmel,sam-uart.yaml | 5 +- dts/bindings/serial/atmel,sam-usart.yaml | 5 +- dts/bindings/serial/atmel,sam0-uart.yaml | 5 +- dts/bindings/serial/cypress,psoc6-uart.yaml | 5 +- dts/bindings/serial/intel,qmsi-uart.yaml | 5 +- dts/bindings/serial/litex,uart0.yaml | 5 +- dts/bindings/serial/microsemi,coreuart.yaml | 5 +- dts/bindings/serial/nordic,nrf-uart.yaml | 5 +- dts/bindings/serial/nordic,nrf-uarte.yaml | 5 +- dts/bindings/serial/ns16550.yaml | 5 +- dts/bindings/serial/nxp,imx-uart.yaml | 5 +- dts/bindings/serial/nxp,kinetis-lpsci.yaml | 5 +- dts/bindings/serial/nxp,kinetis-lpuart.yaml | 5 +- dts/bindings/serial/nxp,kinetis-uart.yaml | 5 +- dts/bindings/serial/nxp,lpc-usart.yaml | 5 +- .../serial/openisa,rv32m1-lpuart.yaml | 5 +- dts/bindings/serial/sifive,uart0.yaml | 5 +- dts/bindings/serial/silabs,gecko-leuart.yaml | 5 +- dts/bindings/serial/silabs,gecko-uart.yaml | 5 +- dts/bindings/serial/silabs,gecko-usart.yaml | 5 +- dts/bindings/serial/snps,nsim-uart.yaml | 5 +- dts/bindings/serial/st,stm32-lpuart.yaml | 5 +- dts/bindings/serial/st,stm32-uart.yaml | 5 +- dts/bindings/serial/st,stm32-usart.yaml | 5 +- .../serial/ti,cc13xx-cc26xx-uart.yaml | 5 +- dts/bindings/serial/ti,cc32xx-uart.yaml | 5 +- dts/bindings/serial/ti,msp432p4xx-uart.yaml | 5 +- dts/bindings/serial/ti,stellaris-uart.yaml | 5 +- dts/bindings/serial/xlnx,uartps.yaml | 7 +- dts/bindings/serial/xtensa,esp32-uart.yaml | 5 +- .../serial/zephyr,native-posix-uart.yaml | 6 +- dts/bindings/spi/atmel,sam-spi.yaml | 5 +- dts/bindings/spi/atmel,sam0-spi.yaml | 5 +- dts/bindings/spi/intel,intel-spi.yaml | 5 +- dts/bindings/spi/nordic,nrf-spi.yaml | 5 +- dts/bindings/spi/nordic,nrf-spis.yaml | 5 +- dts/bindings/spi/nxp,imx-flexspi.yaml | 5 +- dts/bindings/spi/nxp,imx-lpspi.yaml | 5 +- dts/bindings/spi/nxp,kinetis-dspi.yaml | 5 +- dts/bindings/spi/sifive,spi0.yaml | 5 +- dts/bindings/spi/snps,designware-spi.yaml | 5 +- dts/bindings/spi/st,stm32-spi-fifo.yaml | 5 +- dts/bindings/spi/st,stm32-spi.yaml | 5 +- dts/bindings/spi/ti,cc13xx-cc26xx-spi.yaml | 5 +- dts/bindings/sram/mmio-sram.yaml | 5 +- dts/bindings/sram/sifive,dtim0.yaml | 5 +- dts/bindings/timer/arm,cmsdk-dtimer.yaml | 5 +- dts/bindings/timer/arm,cmsdk-timer.yaml | 5 +- dts/bindings/timer/atmel,sam0-tc32.yaml | 5 +- dts/bindings/timer/litex,timer0.yaml | 5 +- .../timer/microchip,xec-rtos-timer.yaml | 6 +- dts/bindings/timer/nordic,nrf-timer.yaml | 5 +- dts/bindings/timer/nxp,imx-gpt.yaml | 5 +- dts/bindings/timer/openisa,rv32m1-lptmr.yaml | 5 +- dts/bindings/timer/st,stm32-timers.yaml | 5 +- dts/bindings/timer/xlnx,ttcps.yaml | 7 +- dts/bindings/usb/atmel,sam-usbhs.yaml | 5 +- dts/bindings/usb/atmel,sam0-usb.yaml | 5 +- dts/bindings/usb/nordic,nrf-usbd.yaml | 5 +- dts/bindings/usb/nxp,kinetis-usbd.yaml | 5 +- dts/bindings/usb/st,stm32-otgfs.yaml | 5 +- dts/bindings/usb/st,stm32-otghs.yaml | 5 +- dts/bindings/usb/st,stm32-usb.yaml | 5 +- dts/bindings/watchdog/arm,cmsdk-watchdog.yaml | 5 +- dts/bindings/watchdog/atmel,sam-watchdog.yaml | 5 +- .../watchdog/atmel,sam0-watchdog.yaml | 5 +- .../watchdog/intel,qmsi-watchdog.yaml | 5 +- .../watchdog/nordic,nrf-watchdog.yaml | 5 +- dts/bindings/watchdog/nxp,kinetis-wdog.yaml | 5 +- dts/bindings/watchdog/nxp,kinetis-wdog32.yaml | 5 +- dts/bindings/watchdog/st,stm32-watchdog.yaml | 5 +- dts/bindings/wifi/atmel,winc1500.yaml | 5 +- dts/bindings/wifi/inventek,eswifi.yaml | 5 +- scripts/dts/edtlib.py | 67 ++++++++++++++--- scripts/dts/extract_dts_includes.py | 71 +++++++++++++------ scripts/dts/test-bindings-2/multidir.yaml | 5 +- scripts/dts/test-bindings/clock-1-cell.yaml | 5 +- scripts/dts/test-bindings/clock-2-cell.yaml | 5 +- scripts/dts/test-bindings/deprecated.yaml | 1 + scripts/dts/test-bindings/fixed-clock.yaml | 6 +- scripts/dts/test-bindings/gpio-1-cell.yaml | 5 +- scripts/dts/test-bindings/gpio-2-cell.yaml | 5 +- .../dts/test-bindings/interrupt-1-cell.yaml | 5 +- .../dts/test-bindings/interrupt-2-cell.yaml | 5 +- .../dts/test-bindings/interrupt-3-cell.yaml | 5 +- scripts/dts/test-bindings/io-channel.yaml | 5 +- scripts/dts/test-bindings/multidir.yaml | 5 +- scripts/dts/test-bindings/parent.yaml | 6 +- scripts/dts/test-bindings/props.yaml | 6 +- scripts/dts/test-bindings/pwm-0-cell.yaml | 5 +- scripts/dts/test-bindings/pwm-1-cell.yaml | 5 +- .../dts/test-bindings/sub-node-parent.yaml | 5 +- scripts/dts/testedtlib.py | 4 +- 360 files changed, 861 insertions(+), 1208 deletions(-) diff --git a/doc/guides/dts/index.rst b/doc/guides/dts/index.rst index dea96733022..7e03e7bb83a 100644 --- a/doc/guides/dts/index.rst +++ b/doc/guides/dts/index.rst @@ -414,6 +414,12 @@ the following node as an example: This node would get mapped to a binding with this in it: +.. code-block:: yaml + + compatible: "foo-company,bar-device" + +You might also run across this legacy syntax, which works the same way: + .. code-block:: yaml ... diff --git a/dts/binding-template.yaml b/dts/binding-template.yaml index 6ee4c9e0aef..1e650b96879 100644 --- a/dts/binding-template.yaml +++ b/dts/binding-template.yaml @@ -4,6 +4,29 @@ description: > Longer free-form description of the node. Can go over multiple lines. +# Used to map nodes to bindings +compatible: "manufacturer,device" + +# The 'compatible' above would match this node: +# +# device { +# compatible = "manufacturer,device"; +# ... +# }; +# +# Assuming no binding has 'compatible: "manufacturer,device-v2"', it would also +# match this node: +# +# device { +# compatible = "manufacturer,device-v2", "manufacturer,device"; +# ... +# }; +# +# Strings in 'compatible' properties on nodes are tried from left to right, and +# the first binding found is used. +# +# If more than one binding for a compatible is found, an error is raised. + # Many bindings have common fields. These are stored in files given in # 'include', which are merged into the binding (with a recursive dictionary # merge). @@ -99,11 +122,6 @@ sub-node: # foo = <&label1 1 2>, <&label2 3 4>; // Okay for 'type: phandle-array' # etc. properties: - # An entry for 'compatible' must appear, as it's used to map nodes to - # bindings - compatible: - constraint: "foo-company,bar-device" - # Describes a property like 'current-speed = <115200>;'. We pretend that # it's obligatory for the example node and set 'required: true'. current-speed: @@ -137,20 +155,29 @@ properties: const: 1 # If the binding describes an interrupt controller, GPIO controller, pinmux -# device, or any other device referenced via a phandle plus a specifier (some -# additional data besides the phandle), then the cells in the specifier must be -# listed in '#cells', like below. +# device, or any other node referenced by other nodes, then #cells should be +# given. # -# If the specifier is empty (e.g. '#clock-cells = <0>'), then '#cells' can -# either be omitted (recommended) or set to an empty array. Note that an empty -# array is specified as '"#cells": []' in YAML. +# To understand the purpose of #cells, assume that some node has # -# For example, say that some node has 'foo-gpios = <&gpio1 1 2>'. The <1 2> -# part of the property value is the specifier, with two cells. The node pointed -# at by &gpio1 is expected to have '#gpio-cells = <2>', and its binding should -# have two elements in '#cells', corresponding to the 1 and 2 values above. +# foo-gpios = <&gpio-ctrl 1 2>; +# +# , where &gpio-ctrl refers to a node whose binding is this file. +# +# The <1 2> part of the property value is called a *specifier* (this +# terminology is from the devicetree specification), and contains additional +# data associated with the GPIO. Here, the specifier has two cells, and the +# node pointed at by &gpio-ctrl is expected to have '#gpio-cells = <2>'. +# +# #cells gives a name to each cell in the specifier. These names are used +# when generating identifiers. +# +# In this example, assume that 1 refers to a pin and that 2 is a flag value. +# This gives a #cells assignment like below. "#cells": - - cell0 # name of first cell - - cell1 # name of second cell - - cell2 # name of third cell - - and so on and so forth + - pin # name of first cell + - flag # name of second cell + +# If the specifier is empty (e.g. '#clock-cells = <0>'), then #cells can either +# be omitted (recommended) or set to an empty array. Note that an empty array +# is specified as '"#cells": []' in YAML. diff --git a/dts/bindings/arc/arc,dccm.yaml b/dts/bindings/arc/arc,dccm.yaml index b58929f92b9..48231dd19a7 100644 --- a/dts/bindings/arc/arc,dccm.yaml +++ b/dts/bindings/arc/arc,dccm.yaml @@ -9,11 +9,10 @@ title: ARC DCCM description: > This binding gives a base representation of the ARC DCCM +compatible: "arc,dccm" + include: base.yaml properties: - compatible: - constraint: "arc,dccm" - reg: required: true diff --git a/dts/bindings/arc/arc,iccm.yaml b/dts/bindings/arc/arc,iccm.yaml index bd6bc9451b7..892f367040b 100644 --- a/dts/bindings/arc/arc,iccm.yaml +++ b/dts/bindings/arc/arc,iccm.yaml @@ -9,11 +9,10 @@ title: ARC ICCM description: > This binding gives a base representation of the ARC ICCM +compatible: "arc,iccm" + include: base.yaml properties: - compatible: - constraint: "arc,iccm" - reg: required: true diff --git a/dts/bindings/arm/arm,dtcm.yaml b/dts/bindings/arm/arm,dtcm.yaml index 450363e9bff..4f79df003f3 100644 --- a/dts/bindings/arm/arm,dtcm.yaml +++ b/dts/bindings/arm/arm,dtcm.yaml @@ -4,11 +4,10 @@ title: DTCM description: > This binding gives a base representation of the Cortex M7 DTCM (Data Tightly Coupled Memory) +compatible: "arm,dtcm" + include: base.yaml properties: - compatible: - constraint: "arm,dtcm" - reg: required: true diff --git a/dts/bindings/arm/arm,scc.yaml b/dts/bindings/arm/arm,scc.yaml index 82739a1a46c..35662f79f55 100644 --- a/dts/bindings/arm/arm,scc.yaml +++ b/dts/bindings/arm/arm,scc.yaml @@ -9,11 +9,10 @@ title: ARM Serial Configuration Control description: > This binding gives a base representation of the ARM SCC +compatible: "arm,scc" + include: base.yaml properties: - compatible: - constraint: "arm,scc" - reg: required: true diff --git a/dts/bindings/arm/atmel,sam0-device_id.yaml b/dts/bindings/arm/atmel,sam0-device_id.yaml index cd9a7c45dd9..afd03c25ed5 100644 --- a/dts/bindings/arm/atmel,sam0-device_id.yaml +++ b/dts/bindings/arm/atmel,sam0-device_id.yaml @@ -3,11 +3,10 @@ title: Atmel Device ID (Serial Number) binding description: > Binding for locating the Device ID (serial number) on Atmel SAM0 devices. +compatible: "atmel,sam0-id" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-id" - reg: required: true diff --git a/dts/bindings/arm/atmel,sam0-dmac.yaml b/dts/bindings/arm/atmel,sam0-dmac.yaml index 8fb8d38b0c4..bf7c7a43852 100644 --- a/dts/bindings/arm/atmel,sam0-dmac.yaml +++ b/dts/bindings/arm/atmel,sam0-dmac.yaml @@ -3,12 +3,11 @@ title: Atmel DMAC binding description: > Binding for the Atmel SAM0 DMA controller. +compatible: "atmel,sam0-dmac" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-dmac" - reg: required: true diff --git a/dts/bindings/arm/atmel,sam0-sercom.yaml b/dts/bindings/arm/atmel,sam0-sercom.yaml index 9fd846408e8..a5135681817 100644 --- a/dts/bindings/arm/atmel,sam0-sercom.yaml +++ b/dts/bindings/arm/atmel,sam0-sercom.yaml @@ -3,12 +3,11 @@ title: Atmel SERCOM binding description: > Binding for the Atmel SAM0 multi-protocol (UART, SPI, I2C) SERCOM unit. +compatible: "atmel,sam0-sercom" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-sercom" - reg: required: true diff --git a/dts/bindings/arm/nordic,nrf-dppic.yaml b/dts/bindings/arm/nordic,nrf-dppic.yaml index c1ef054d58d..082241fded4 100644 --- a/dts/bindings/arm/nordic,nrf-dppic.yaml +++ b/dts/bindings/arm/nordic,nrf-dppic.yaml @@ -10,11 +10,10 @@ description: > Binding for the Nordic DPPIC Distributed Programmable Peripheral Interconnect Controller +compatible: "nordic,nrf-dppic" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-dppic" - reg: required: true diff --git a/dts/bindings/arm/nordic,nrf-ficr.yaml b/dts/bindings/arm/nordic,nrf-ficr.yaml index 358b1107877..301586e05d1 100644 --- a/dts/bindings/arm/nordic,nrf-ficr.yaml +++ b/dts/bindings/arm/nordic,nrf-ficr.yaml @@ -3,11 +3,10 @@ title: Nordic FICR (Factory Information Configuration Registers) description: > Binding for the Nordic FICR (Factory Information Configuration Registers) +compatible: "nordic,nrf-ficr" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-ficr" - reg: required: true diff --git a/dts/bindings/arm/nordic,nrf-spu.yaml b/dts/bindings/arm/nordic,nrf-spu.yaml index d683c61bb0d..e0c653859c2 100644 --- a/dts/bindings/arm/nordic,nrf-spu.yaml +++ b/dts/bindings/arm/nordic,nrf-spu.yaml @@ -3,12 +3,11 @@ title: Nordic SPU (System Protection Unit) description: > Binding for the Nordic SPU (System Protection Unit) +compatible: "nordic,nrf-spu" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-spu" - reg: required: true diff --git a/dts/bindings/arm/nordic,nrf-uicr.yaml b/dts/bindings/arm/nordic,nrf-uicr.yaml index 2da74c89c2a..23b435e87d4 100644 --- a/dts/bindings/arm/nordic,nrf-uicr.yaml +++ b/dts/bindings/arm/nordic,nrf-uicr.yaml @@ -3,11 +3,10 @@ title: Nordic UICR (User Information Configuration Registers) description: > Binding for the Nordic UICR (User Information Configuration Registers) +compatible: "nordic,nrf-uicr" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-uicr" - reg: required: true diff --git a/dts/bindings/arm/nxp,imx-dtcm.yaml b/dts/bindings/arm/nxp,imx-dtcm.yaml index fe711fdd258..9ecfc3f7c38 100644 --- a/dts/bindings/arm/nxp,imx-dtcm.yaml +++ b/dts/bindings/arm/nxp,imx-dtcm.yaml @@ -9,11 +9,10 @@ title: i.MX DTCM (Data Tightly Coupled Memory) description: > This binding gives a base representation of the i.MX DTCM +compatible: "nxp,imx-dtcm" + include: base.yaml properties: - compatible: - constraint: "nxp,imx-dtcm" - reg: required: true diff --git a/dts/bindings/arm/nxp,imx-epit.yaml b/dts/bindings/arm/nxp,imx-epit.yaml index 47e4025603f..48df6cded76 100644 --- a/dts/bindings/arm/nxp,imx-epit.yaml +++ b/dts/bindings/arm/nxp,imx-epit.yaml @@ -9,12 +9,11 @@ title: IMX EPIT COUNTER description: > This binding gives a base representation of the i.MX Enhanced Periodic Interrupt Timer (EPIT) +compatible: "nxp,imx-epit" + include: base.yaml properties: - compatible: - constraint: "nxp,imx-epit" - reg: required: true diff --git a/dts/bindings/arm/nxp,imx-itcm.yaml b/dts/bindings/arm/nxp,imx-itcm.yaml index 22c32a86f89..3dc4f6200d5 100644 --- a/dts/bindings/arm/nxp,imx-itcm.yaml +++ b/dts/bindings/arm/nxp,imx-itcm.yaml @@ -9,11 +9,10 @@ title: i.MX ITCM (Instruction Tightly Coupled Memory) description: > This binding gives a base representation of the i.MX ITCM +compatible: "nxp,imx-itcm" + include: base.yaml properties: - compatible: - constraint: "nxp,imx-itcm" - reg: required: true diff --git a/dts/bindings/arm/nxp,imx-mu.yaml b/dts/bindings/arm/nxp,imx-mu.yaml index f338ecff827..27cab718325 100644 --- a/dts/bindings/arm/nxp,imx-mu.yaml +++ b/dts/bindings/arm/nxp,imx-mu.yaml @@ -9,12 +9,11 @@ title: IMX MESSAGING UNIT description: > This binding gives a base representation of the i.MX Messaging Unit +compatible: "nxp,imx-mu" + include: base.yaml properties: - compatible: - constraint: "nxp,imx-mu" - reg: required: true diff --git a/dts/bindings/arm/nxp,kinetis-mcg.yaml b/dts/bindings/arm/nxp,kinetis-mcg.yaml index c5b4274343f..89fed92d15b 100644 --- a/dts/bindings/arm/nxp,kinetis-mcg.yaml +++ b/dts/bindings/arm/nxp,kinetis-mcg.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis Multipurpose Clock Generator (MCG) description: > This is a representation of the NXP Kinetis MCG IP node +compatible: "nxp,kinetis-mcg" + include: [clock-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,kinetis-mcg" - reg: required: true diff --git a/dts/bindings/arm/nxp,kinetis-pcc.yaml b/dts/bindings/arm/nxp,kinetis-pcc.yaml index daee45c5b19..2d45a968368 100644 --- a/dts/bindings/arm/nxp,kinetis-pcc.yaml +++ b/dts/bindings/arm/nxp,kinetis-pcc.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis PCC (Peripheral Clock Controller) description: > This is a representation of the NXP Kinetis PCC IP node +compatible: "nxp,kinetis-pcc" + include: [clock-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,kinetis-pcc" - reg: required: true diff --git a/dts/bindings/arm/nxp,kinetis-scg.yaml b/dts/bindings/arm/nxp,kinetis-scg.yaml index f4675812df4..8447e2ce569 100644 --- a/dts/bindings/arm/nxp,kinetis-scg.yaml +++ b/dts/bindings/arm/nxp,kinetis-scg.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis SCG (System Clock Generator) description: > This is a representation of the NXP Kinetis SCG IP node +compatible: "nxp,kinetis-scg" + include: [clock-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,kinetis-scg" - reg: required: true diff --git a/dts/bindings/arm/nxp,kinetis-sim.yaml b/dts/bindings/arm/nxp,kinetis-sim.yaml index e94a6402bf2..b864ba04719 100644 --- a/dts/bindings/arm/nxp,kinetis-sim.yaml +++ b/dts/bindings/arm/nxp,kinetis-sim.yaml @@ -9,12 +9,11 @@ title: Kinetis System Integration Module (SIM) description: > This is a representation of the Kinetis SIM IP node +compatible: "nxp,kinetis-sim" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-sim" - reg: required: true diff --git a/dts/bindings/arm/nxp,lpc-mailbox.yaml b/dts/bindings/arm/nxp,lpc-mailbox.yaml index 61b99d1dafb..ae02588e604 100644 --- a/dts/bindings/arm/nxp,lpc-mailbox.yaml +++ b/dts/bindings/arm/nxp,lpc-mailbox.yaml @@ -9,12 +9,11 @@ title: LPC MAILBOX description: > This binding gives a base representation of the LPC MAILBOX +compatible: "nxp,lpc-mailbox" + include: base.yaml properties: - compatible: - constraint: "nxp,lpc-mailbox" - reg: required: true diff --git a/dts/bindings/arm/st,stm32-ccm.yaml b/dts/bindings/arm/st,stm32-ccm.yaml index a771d0ad9e5..6462bcffd52 100644 --- a/dts/bindings/arm/st,stm32-ccm.yaml +++ b/dts/bindings/arm/st,stm32-ccm.yaml @@ -4,11 +4,10 @@ title: STM32 CCM description: > This binding gives a base representation of the STM32 CCM (Core Coupled Memory) +compatible: "st,stm32-ccm" + include: base.yaml properties: - compatible: - constraint: "st,stm32-ccm" - reg: required: true diff --git a/dts/bindings/arm/ti,cc2650-prcm.yaml b/dts/bindings/arm/ti,cc2650-prcm.yaml index 850ec8eb73d..c0fc49037da 100644 --- a/dts/bindings/arm/ti,cc2650-prcm.yaml +++ b/dts/bindings/arm/ti,cc2650-prcm.yaml @@ -5,11 +5,10 @@ description: > This binding gives a base representation of the TI CC2650 Power, Reset, and Clock control Module. +compatible: "ti,cc2650-prcm" + include: base.yaml properties: - compatible: - constraint: "ti,cc2650-prcm" - reg: required: true diff --git a/dts/bindings/audio/st,mpxxdtyy-i2s.yaml b/dts/bindings/audio/st,mpxxdtyy-i2s.yaml index c708d87e9c0..51c648cd995 100644 --- a/dts/bindings/audio/st,mpxxdtyy-i2s.yaml +++ b/dts/bindings/audio/st,mpxxdtyy-i2s.yaml @@ -9,10 +9,10 @@ title: ST Microelectronics MPXXDTYY digital pdm microphone family description: > This binding gives a base representation of MPXXDTYY digital microphone family +compatible: "st,mpxxdtyy" + include: i2s-device.yaml properties: - compatible: - constraint: "st,mpxxdtyy" label: required: true diff --git a/dts/bindings/audio/ti,tlv320dac.yaml b/dts/bindings/audio/ti,tlv320dac.yaml index 7013f947e7a..9279060426d 100644 --- a/dts/bindings/audio/ti,tlv320dac.yaml +++ b/dts/bindings/audio/ti,tlv320dac.yaml @@ -9,12 +9,11 @@ title: Texas Instruments TLV320DAC Audio DAC description: > This binding gives a base representation of TLV320DAC310x Audio DAC +compatible: "ti,tlv320dac" + include: i2c-device.yaml properties: - compatible: - constraint: "ti,tlv320dac" - reset-gpios: type: phandle-array required: true diff --git a/dts/bindings/bluetooth/zephyr,bt-hci-spi-slave.yaml b/dts/bindings/bluetooth/zephyr,bt-hci-spi-slave.yaml index 857dbad1f9e..96167bb9fcd 100644 --- a/dts/bindings/bluetooth/zephyr,bt-hci-spi-slave.yaml +++ b/dts/bindings/bluetooth/zephyr,bt-hci-spi-slave.yaml @@ -10,15 +10,14 @@ description: > This binding gives the base representation of a bluetooth controller node that provides HCI over SPI. +compatible: "zephyr,bt-hci-spi-slave" + include: base.yaml parent: bus: spi properties: - compatible: - constraint: "zephyr,bt-hci-spi-slave" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml b/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml index d61af662d81..249016f8d71 100644 --- a/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml +++ b/dts/bindings/bluetooth/zephyr,bt-hci-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives the base representation of a bluetooth module which use Zephyr's bluetooth Host Controller Interface SPI driver (e.g. nRF51822). +compatible: "zephyr,bt-hci-spi" + include: spi-device.yaml properties: - compatible: - constraint: "zephyr,bt-hci-spi" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/can/can-device.yaml b/dts/bindings/can/can-device.yaml index 1e3c9cf2532..3b1caa23c01 100644 --- a/dts/bindings/can/can-device.yaml +++ b/dts/bindings/can/can-device.yaml @@ -4,10 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # -title: CAN Device Base Structure - -description: > - This binding gives the base structures for all can devices +# Common fields for CAN devices include: base.yaml diff --git a/dts/bindings/can/microchip,mcp2515.yaml b/dts/bindings/can/microchip,mcp2515.yaml index 0112350df7e..56f1a506879 100644 --- a/dts/bindings/can/microchip,mcp2515.yaml +++ b/dts/bindings/can/microchip,mcp2515.yaml @@ -9,11 +9,11 @@ title: MCP2515 CAN description: > This binding gives a base representation of the MCP2515 SPI CAN controller +compatible: "microchip,mcp2515" + include: [spi-device.yaml, can-controller.yaml] properties: - compatible: - constraint: "microchip,mcp2515" int-gpios: type: phandle-array required: true diff --git a/dts/bindings/can/nxp,kinetis-flexcan.yaml b/dts/bindings/can/nxp,kinetis-flexcan.yaml index 00f52a0f3cd..5a0879b371e 100644 --- a/dts/bindings/can/nxp,kinetis-flexcan.yaml +++ b/dts/bindings/can/nxp,kinetis-flexcan.yaml @@ -9,12 +9,11 @@ title: NXP FlexCAN description: > This binding gives a base representation of the NXP FlexCAN controller +compatible: "nxp,kinetis-flexcan" + include: can-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-flexcan" - reg: required: true diff --git a/dts/bindings/can/st,stm32-can.yaml b/dts/bindings/can/st,stm32-can.yaml index d67a783f4aa..f59fee5d500 100644 --- a/dts/bindings/can/st,stm32-can.yaml +++ b/dts/bindings/can/st,stm32-can.yaml @@ -3,12 +3,11 @@ title: STM32 CAN description: > This binding gives a base representation of the STM32 CAN controller +compatible: "st,stm32-can" + include: can-controller.yaml properties: - compatible: - constraint: "st,stm32-can" - reg: required: true diff --git a/dts/bindings/clock/fixed-clock.yaml b/dts/bindings/clock/fixed-clock.yaml index 0b46a01f2a2..7c522d8b24d 100644 --- a/dts/bindings/clock/fixed-clock.yaml +++ b/dts/bindings/clock/fixed-clock.yaml @@ -9,15 +9,11 @@ title: Generic fixed rate clock provider description: > This is a representation of a generic fixed rate clock provider. +compatible: "fixed-clock" + include: clock-controller.yaml properties: - compatible: - type: string - required: true - description: compatible strings - constraint: "fixed-clock" - label: type: string required: false diff --git a/dts/bindings/clock/nordic,nrf-clock.yaml b/dts/bindings/clock/nordic,nrf-clock.yaml index 80e80e25d4b..de982172ffb 100644 --- a/dts/bindings/clock/nordic,nrf-clock.yaml +++ b/dts/bindings/clock/nordic,nrf-clock.yaml @@ -9,12 +9,11 @@ title: Nordic nRF clock control description: > This is a representation of the Nordic nRF clock control node +compatible: "nordic,nrf-clock" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-clock" - label: required: true diff --git a/dts/bindings/clock/nxp,imx-ccm.yaml b/dts/bindings/clock/nxp,imx-ccm.yaml index 7c0bffe91a9..ffd113c5b2d 100644 --- a/dts/bindings/clock/nxp,imx-ccm.yaml +++ b/dts/bindings/clock/nxp,imx-ccm.yaml @@ -9,12 +9,11 @@ title: i.MX Clock Controller Module (CCM) description: > This is a representation of the i.MX CCM IP node +compatible: "nxp,imx-ccm" + include: [clock-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,imx-ccm" - reg: required: true diff --git a/dts/bindings/clock/st,stm32-rcc.yaml b/dts/bindings/clock/st,stm32-rcc.yaml index 9222a61ff7a..c8d49fbe7fb 100644 --- a/dts/bindings/clock/st,stm32-rcc.yaml +++ b/dts/bindings/clock/st,stm32-rcc.yaml @@ -3,12 +3,11 @@ title: STM32 RCC description: > This binding gives a base representation of the STM32 Clock control +compatible: "st,stm32-rcc" + include: [clock-controller.yaml, base.yaml] properties: - compatible: - constraint: "st,stm32-rcc" - reg: required: true diff --git a/dts/bindings/cpu/arm,cortex-m0+.yaml b/dts/bindings/cpu/arm,cortex-m0+.yaml index 46ee69a7b4f..272325967f9 100644 --- a/dts/bindings/cpu/arm,cortex-m0+.yaml +++ b/dts/bindings/cpu/arm,cortex-m0+.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M0+ CPU description: > This binding gives a base representation for ARM Cortex-M0+ CPU. -include: cpu.yaml +compatible: "arm,cortex-m0+" -properties: - compatible: - constraint: "arm,cortex-m0+" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m0.yaml b/dts/bindings/cpu/arm,cortex-m0.yaml index db4c24debaa..014589f5271 100644 --- a/dts/bindings/cpu/arm,cortex-m0.yaml +++ b/dts/bindings/cpu/arm,cortex-m0.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M0 CPU description: > This binding gives a base representation for ARM Cortex-M0 CPU. -include: cpu.yaml +compatible: "arm,cortex-m0" -properties: - compatible: - constraint: "arm,cortex-m0" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m23.yaml b/dts/bindings/cpu/arm,cortex-m23.yaml index ab2f9c058ad..be323705124 100644 --- a/dts/bindings/cpu/arm,cortex-m23.yaml +++ b/dts/bindings/cpu/arm,cortex-m23.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M23 CPU description: > This binding gives a base representation for ARM Cortex-M23 CPU. -include: cpu.yaml +compatible: "arm,cortex-m23" -properties: - compatible: - constraint: "arm,cortex-m23" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m3.yaml b/dts/bindings/cpu/arm,cortex-m3.yaml index f0539a5b298..b55e36d08e3 100644 --- a/dts/bindings/cpu/arm,cortex-m3.yaml +++ b/dts/bindings/cpu/arm,cortex-m3.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M3 CPU description: > This binding gives a base representation for ARM Cortex-M3 CPU. -include: cpu.yaml +compatible: "arm,cortex-m3" -properties: - compatible: - constraint: "arm,cortex-m3" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m33.yaml b/dts/bindings/cpu/arm,cortex-m33.yaml index 139efedf345..be738164fe1 100644 --- a/dts/bindings/cpu/arm,cortex-m33.yaml +++ b/dts/bindings/cpu/arm,cortex-m33.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M33 CPU description: > This binding gives a base representation for ARM Cortex-M33 CPU. -include: cpu.yaml +compatible: "arm,cortex-m33" -properties: - compatible: - constraint: "arm,cortex-m33" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m4.yaml b/dts/bindings/cpu/arm,cortex-m4.yaml index f0b473c5088..bb6a43df407 100644 --- a/dts/bindings/cpu/arm,cortex-m4.yaml +++ b/dts/bindings/cpu/arm,cortex-m4.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M4 CPU description: > This binding gives a base representation for ARM Cortex-M4 CPU. -include: cpu.yaml +compatible: "arm,cortex-m4" -properties: - compatible: - constraint: "arm,cortex-m4" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m4f.yaml b/dts/bindings/cpu/arm,cortex-m4f.yaml index f7d371b0885..bf7a5e4c447 100644 --- a/dts/bindings/cpu/arm,cortex-m4f.yaml +++ b/dts/bindings/cpu/arm,cortex-m4f.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M4F CPU description: > This binding gives a base representation for ARM Cortex-M4F CPU. -include: cpu.yaml +compatible: "arm,cortex-m4f" -properties: - compatible: - constraint: "arm,cortex-m4f" +include: cpu.yaml diff --git a/dts/bindings/cpu/arm,cortex-m7.yaml b/dts/bindings/cpu/arm,cortex-m7.yaml index b9ec396ea58..f3124ffa61c 100644 --- a/dts/bindings/cpu/arm,cortex-m7.yaml +++ b/dts/bindings/cpu/arm,cortex-m7.yaml @@ -9,8 +9,6 @@ title: ARM Cortex-M7 CPU description: > This binding gives a base representation for ARM Cortex-M7 CPU. -include: cpu.yaml +compatible: "arm,cortex-m7" -properties: - compatible: - constraint: "arm,cortex-m7" +include: cpu.yaml diff --git a/dts/bindings/cpu/cadence,tensilica-xtensa-lx6.yaml b/dts/bindings/cpu/cadence,tensilica-xtensa-lx6.yaml index 8be8c7210da..96bf4508099 100644 --- a/dts/bindings/cpu/cadence,tensilica-xtensa-lx6.yaml +++ b/dts/bindings/cpu/cadence,tensilica-xtensa-lx6.yaml @@ -9,8 +9,6 @@ title: Cadence Tensilica Xtensa LX6 CPU description: > This binding gives a base representation for Cadence Tensilica Xtensa LX6 CPU. -include: cpu.yaml +compatible: "cadence,tensilica-xtensa-lx6" -properties: - compatible: - constraint: "cadence,tensilica-xtensa-lx6" +include: cpu.yaml diff --git a/dts/bindings/cpu/sample_controller.yaml b/dts/bindings/cpu/sample_controller.yaml index 53e1c0dcba7..cb12d023c4d 100644 --- a/dts/bindings/cpu/sample_controller.yaml +++ b/dts/bindings/cpu/sample_controller.yaml @@ -9,8 +9,6 @@ title: Sample Controller CPU description: > This binding gives a base representation for Sample Controller CPU. -include: cpu.yaml +compatible: "sample_controller" -properties: - compatible: - constraint: "sample_controller" +include: cpu.yaml diff --git a/dts/bindings/cpu/snps,arcem.yaml b/dts/bindings/cpu/snps,arcem.yaml index 90e741f1dae..e325af0d5b1 100644 --- a/dts/bindings/cpu/snps,arcem.yaml +++ b/dts/bindings/cpu/snps,arcem.yaml @@ -9,8 +9,6 @@ title: Synopsys ARC EM CPU description: > This binding gives a base representation for Synopsys ARC EM CPU. -include: cpu.yaml +compatible: "snps,arcem" -properties: - compatible: - constraint: "snps,arcem" +include: cpu.yaml diff --git a/dts/bindings/crypto/arm,cryptocell-310.yaml b/dts/bindings/crypto/arm,cryptocell-310.yaml index 32aa4b1651a..e5022c8a922 100644 --- a/dts/bindings/crypto/arm,cryptocell-310.yaml +++ b/dts/bindings/crypto/arm,cryptocell-310.yaml @@ -9,12 +9,11 @@ title: ARM TrustZone CryptoCell 310 description: > This is a representation of the ARM TrustZone CryptoCell 310 +compatible: "arm,cryptocell-310" + include: base.yaml properties: - compatible: - constraint: "arm,cryptocell-310" - reg: required: true diff --git a/dts/bindings/crypto/nordic,nrf-cc310.yaml b/dts/bindings/crypto/nordic,nrf-cc310.yaml index 56dc6242cb3..ef453d06010 100644 --- a/dts/bindings/crypto/nordic,nrf-cc310.yaml +++ b/dts/bindings/crypto/nordic,nrf-cc310.yaml @@ -9,12 +9,11 @@ title: Nordic Control Interface for ARM TrustZone CryptoCell 310 description: > This is a representation of the Nordic Control Interface for ARM TrustZone CryptoCell 310 +compatible: "nordic,nrf-cc310" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-cc310" - reg: required: true diff --git a/dts/bindings/display/fsl,imx6sx-lcdif.yaml b/dts/bindings/display/fsl,imx6sx-lcdif.yaml index 60731abae92..b358b200d23 100644 --- a/dts/bindings/display/fsl,imx6sx-lcdif.yaml +++ b/dts/bindings/display/fsl,imx6sx-lcdif.yaml @@ -9,12 +9,11 @@ title: NXP Enhanced LCD Interface (eLCDIF) controller description: > This binding gives a base representation of the NXP i.MX eLCDIF controller +compatible: "fsl,imx6sx-lcdif" + include: base.yaml properties: - compatible: - constraint: "fsl,imx6sx-lcdif" - reg: required: true diff --git a/dts/bindings/display/ilitek,ili9340.yaml b/dts/bindings/display/ilitek,ili9340.yaml index 97453bfafe7..a1b1f73832c 100644 --- a/dts/bindings/display/ilitek,ili9340.yaml +++ b/dts/bindings/display/ilitek,ili9340.yaml @@ -9,12 +9,11 @@ title: ILI9340 320x240 Display Controller description: > This is a representation of the ILI9340 320x240 Display Controller +compatible: "ilitek,ili9340" + include: spi-device.yaml properties: - compatible: - constraint: "ilitek,ili9340" - reset-gpios: type: phandle-array required: false diff --git a/dts/bindings/display/rocktech,rk043fn02h-ct.yaml b/dts/bindings/display/rocktech,rk043fn02h-ct.yaml index 682c55fbfef..35ed3e85e0b 100644 --- a/dts/bindings/display/rocktech,rk043fn02h-ct.yaml +++ b/dts/bindings/display/rocktech,rk043fn02h-ct.yaml @@ -10,8 +10,6 @@ description: > This binding gives a base representation of the Rocktech LCD module with LED backlight and capacitive touch panel. -include: base.yaml +compatible: "rocktech,rk043fn02h-ct" -properties: - compatible: - constraint: "rocktech,rk043fn02h-ct" +include: base.yaml diff --git a/dts/bindings/display/sitronix,st7789v.yaml b/dts/bindings/display/sitronix,st7789v.yaml index 2b3b461538e..24c675a5612 100644 --- a/dts/bindings/display/sitronix,st7789v.yaml +++ b/dts/bindings/display/sitronix,st7789v.yaml @@ -9,12 +9,11 @@ title: ST7789V 320x240 Display Controller description: > This is a representation of the ST7789V 320x240 Display Controller +compatible: "sitronix,st7789v" + include: spi-device.yaml properties: - compatible: - constraint: "sitronix,st7789v" - reset-gpios: type: phandle-array required: true diff --git a/dts/bindings/display/solomon,ssd1306fb.yaml b/dts/bindings/display/solomon,ssd1306fb.yaml index e31e092e052..d1ffc09ba38 100644 --- a/dts/bindings/display/solomon,ssd1306fb.yaml +++ b/dts/bindings/display/solomon,ssd1306fb.yaml @@ -9,12 +9,11 @@ title: SSD1306 128x64 Dot Matrix Display Controller description: > This is a representation of the SSD1306 128x64 Dot Matrix Display Controller +compatible: "solomon,ssd1306fb" + include: i2c-device.yaml properties: - compatible: - constraint: "solomon,ssd1306fb" - height: type: int required: true diff --git a/dts/bindings/display/solomon,ssd1673fb.yaml b/dts/bindings/display/solomon,ssd1673fb.yaml index f3d26fe2bb1..f3482b02d9f 100644 --- a/dts/bindings/display/solomon,ssd1673fb.yaml +++ b/dts/bindings/display/solomon,ssd1673fb.yaml @@ -9,12 +9,11 @@ title: SSD16XX 250x150 EPD Display Controller description: > This is a representation of the SSD16XX 250x150 EPD Display Controller +compatible: "solomon,ssd16xxfb" + include: spi-device.yaml properties: - compatible: - constraint: "solomon,ssd16xxfb" - height: type: int required: true diff --git a/dts/bindings/espi/microchip,xec-espi.yaml b/dts/bindings/espi/microchip,xec-espi.yaml index 078e10b6248..4b4095a1e06 100644 --- a/dts/bindings/espi/microchip,xec-espi.yaml +++ b/dts/bindings/espi/microchip,xec-espi.yaml @@ -7,12 +7,11 @@ title: MICROCHIP ESPI description: > This binding gives a base representation of ESPI controller for Microchip +compatible: "microchip,xec-espi" + include: espi-controller.yaml properties: - compatible: - constraint: "microchip,xec-espi" - reg: description: mmio register space required: true diff --git a/dts/bindings/ethernet/intel,e1000.yaml b/dts/bindings/ethernet/intel,e1000.yaml index a4a4d9cd6e6..5d8a4688a1c 100644 --- a/dts/bindings/ethernet/intel,e1000.yaml +++ b/dts/bindings/ethernet/intel,e1000.yaml @@ -8,12 +8,11 @@ title: Intel E1000 Ethernet controller description: > This is a representation of the Intel E1000 Ethernet controller +compatible: "intel,e1000" + include: base.yaml properties: - compatible: - constraint: "intel,e1000" - reg: required: true diff --git a/dts/bindings/ethernet/litex,eth0.yaml b/dts/bindings/ethernet/litex,eth0.yaml index e120f0ba4f1..ef34640720f 100644 --- a/dts/bindings/ethernet/litex,eth0.yaml +++ b/dts/bindings/ethernet/litex,eth0.yaml @@ -9,12 +9,11 @@ title: LiteX Ethernet description: > This binding gives a base representation of LiteX Ethernet +compatible: "litex,eth0" + include: ethernet.yaml properties: - compatible: - constraint: "litex,eth0" - reg: required: true diff --git a/dts/bindings/ethernet/microchip,enc28j60.yaml b/dts/bindings/ethernet/microchip,enc28j60.yaml index 04b78296753..89a670bc92a 100644 --- a/dts/bindings/ethernet/microchip,enc28j60.yaml +++ b/dts/bindings/ethernet/microchip,enc28j60.yaml @@ -8,11 +8,12 @@ title: 10Base-T Ethernet Controller with SPI Interface description: > This binding gives a base representation of the standalone ENC28J60 chip + +compatible: "microchip,enc28j60" + include: [spi-device.yaml, ethernet.yaml] properties: - compatible: - constraint: "microchip,enc28j60" int-gpios: type: phandle-array required: true diff --git a/dts/bindings/ethernet/nxp,kinetis-ethernet.yaml b/dts/bindings/ethernet/nxp,kinetis-ethernet.yaml index eb672c89f6b..c0ed86e5183 100644 --- a/dts/bindings/ethernet/nxp,kinetis-ethernet.yaml +++ b/dts/bindings/ethernet/nxp,kinetis-ethernet.yaml @@ -8,11 +8,12 @@ title: NXP Kinetis Ethernet description: > This binding gives a base representation of the NXP Kinetis Ethernet + +compatible: "nxp,kinetis-ethernet" + include: ethernet.yaml properties: - compatible: - constraint: "nxp,kinetis-ethernet" reg: required: true interrupts: diff --git a/dts/bindings/ethernet/nxp.kinetis-ptp.yaml b/dts/bindings/ethernet/nxp.kinetis-ptp.yaml index fa78405065a..a0e6dd7d04d 100644 --- a/dts/bindings/ethernet/nxp.kinetis-ptp.yaml +++ b/dts/bindings/ethernet/nxp.kinetis-ptp.yaml @@ -9,10 +9,10 @@ title: NXP Kinetis Ethernet PTP description: > This binding gives a base representation of the NXP Kinetis Ethernet PTP +compatible: "nxp,kinetis-ptp" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-ptp" interrupts: required: true diff --git a/dts/bindings/ethernet/smsc,lan9220.yaml b/dts/bindings/ethernet/smsc,lan9220.yaml index 89a8aef0f00..c1574482aed 100644 --- a/dts/bindings/ethernet/smsc,lan9220.yaml +++ b/dts/bindings/ethernet/smsc,lan9220.yaml @@ -9,12 +9,11 @@ description: > This is a representation of the formerly SMSC, now Microchip, LAN9220 Ethernet controller. +compatible: "smsc,lan9220" + include: base.yaml properties: - compatible: - constraint: "smsc,lan9220" - reg: required: true diff --git a/dts/bindings/ethernet/ti,stellaris-ethernet.yaml b/dts/bindings/ethernet/ti,stellaris-ethernet.yaml index 26903db5544..776280891cf 100644 --- a/dts/bindings/ethernet/ti,stellaris-ethernet.yaml +++ b/dts/bindings/ethernet/ti,stellaris-ethernet.yaml @@ -8,11 +8,11 @@ title: TI Stellaris Ethernet description: > This binding gives a base representation of the TI Stellaris Ethernet +compatible: "ti,stellaris-ethernet" + include: ethernet.yaml properties: - compatible: - constraint: "ti,stellaris-ethernet" reg: required: true interrupts: diff --git a/dts/bindings/flash_controller/atmel,sam-flash-controller.yaml b/dts/bindings/flash_controller/atmel,sam-flash-controller.yaml index f3be5d95c27..25d4b790815 100644 --- a/dts/bindings/flash_controller/atmel,sam-flash-controller.yaml +++ b/dts/bindings/flash_controller/atmel,sam-flash-controller.yaml @@ -9,12 +9,11 @@ title: Atmel SAM Flash Controller description: > This binding gives a base representation of the Atmel SAM Enhanced Embedded Flash Controller +compatible: "atmel,sam-flash-controller" + include: flash-controller.yaml properties: - compatible: - constraint: "atmel,sam-flash-controller" - peripheral-id: type: int description: peripheral ID diff --git a/dts/bindings/flash_controller/atmel,sam0-nvmctrl.yaml b/dts/bindings/flash_controller/atmel,sam0-nvmctrl.yaml index 7b920d872f9..89278f6f9de 100644 --- a/dts/bindings/flash_controller/atmel,sam0-nvmctrl.yaml +++ b/dts/bindings/flash_controller/atmel,sam0-nvmctrl.yaml @@ -3,8 +3,6 @@ title: Atmel SAM0 Non-Volatile Memory Controller description: > This binding gives a base representation of the Atmel SAM0 NVMC -include: flash-controller.yaml +compatible: "atmel,sam0-nvmctrl" -properties: - compatible: - constraint: "atmel,sam0-nvmctrl" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/cypress,psoc6-flash-controller.yaml b/dts/bindings/flash_controller/cypress,psoc6-flash-controller.yaml index 8e7a49c4360..7202897ad1a 100644 --- a/dts/bindings/flash_controller/cypress,psoc6-flash-controller.yaml +++ b/dts/bindings/flash_controller/cypress,psoc6-flash-controller.yaml @@ -9,8 +9,6 @@ title: Cypress Flash Controller description: > This binding gives a base representation of the Cypress Flash Controller -include: flash-controller.yaml +compatible: "cypress,psoc6-flash-controller" -properties: - compatible: - constraint: "cypress,psoc6-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml b/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml index 6c159678b81..087c6571065 100644 --- a/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml +++ b/dts/bindings/flash_controller/nordic,nrf51-flash-controller.yaml @@ -3,8 +3,6 @@ title: Nordic NVMC description: > This binding gives a base representation of the Nordic NVMC -include: flash-controller.yaml +compatible: "nordic,nrf51-flash-controller" -properties: - compatible: - constraint: "nordic,nrf51-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml b/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml index b4d9e24b30a..1f4d1d64161 100644 --- a/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml +++ b/dts/bindings/flash_controller/nordic,nrf52-flash-controller.yaml @@ -3,8 +3,6 @@ title: Nordic NVMC description: > This binding gives a base representation of the Nordic NVMC -include: flash-controller.yaml +compatible: "nordic,nrf52-flash-controller" -properties: - compatible: - constraint: "nordic,nrf52-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/nordic,nrf91-flash-controller.yaml b/dts/bindings/flash_controller/nordic,nrf91-flash-controller.yaml index 7dadeecb8e5..5dc215a4367 100644 --- a/dts/bindings/flash_controller/nordic,nrf91-flash-controller.yaml +++ b/dts/bindings/flash_controller/nordic,nrf91-flash-controller.yaml @@ -3,8 +3,6 @@ title: Nordic NVMC description: > This binding gives a base representation of the Nordic NVMC -include: flash-controller.yaml +compatible: "nordic,nrf91-flash-controller" -properties: - compatible: - constraint: "nordic,nrf91-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/nxp,kinetis-ftfa.yaml b/dts/bindings/flash_controller/nxp,kinetis-ftfa.yaml index 92cb7a835a3..341f251cdff 100644 --- a/dts/bindings/flash_controller/nxp,kinetis-ftfa.yaml +++ b/dts/bindings/flash_controller/nxp,kinetis-ftfa.yaml @@ -3,8 +3,6 @@ title: NXP Kinetis Flash Memory Module (FTFA) description: > This binding gives for the NXP Kinetis Flash Memory Module A (FTFA) -include: flash-controller.yaml +compatible: "nxp,kinetis-ftfa" -properties: - compatible: - constraint: "nxp,kinetis-ftfa" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml b/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml index f2809b26a25..fecd14a5d15 100644 --- a/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml +++ b/dts/bindings/flash_controller/nxp,kinetis-ftfe.yaml @@ -3,8 +3,6 @@ title: NXP Kinetis Flash Memory Module (FTFE) description: > This binding gives for the NXP Kinetis Flash Memory Module E (FTFE) -include: flash-controller.yaml +compatible: "nxp,kinetis-ftfe" -properties: - compatible: - constraint: "nxp,kinetis-ftfe" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml b/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml index bf4b37be622..5fae3f23a07 100644 --- a/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml +++ b/dts/bindings/flash_controller/nxp,kinetis-ftfl.yaml @@ -3,8 +3,6 @@ title: NXP Kinetis Flash Memory Module (FTFL) description: > This binding gives for the NXP Kinetis Flash Memory Module L (FTFL) -include: flash-controller.yaml +compatible: "nxp,kinetis-ftfl" -properties: - compatible: - constraint: "nxp,kinetis-ftfl" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/openisa,rv32m1-ftfe.yaml b/dts/bindings/flash_controller/openisa,rv32m1-ftfe.yaml index 6eebc63a099..e5e66367cc2 100644 --- a/dts/bindings/flash_controller/openisa,rv32m1-ftfe.yaml +++ b/dts/bindings/flash_controller/openisa,rv32m1-ftfe.yaml @@ -3,8 +3,6 @@ title: OpenISA Flash Memory Module (FTFE) description: > This binding gives for the OpenISA Flash Memory Module E (FTFE) -include: flash-controller.yaml +compatible: "openisa,rv32m1-ftfe" -properties: - compatible: - constraint: "openisa,rv32m1-ftfe" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/silabs,gecko-flash-controller.yaml b/dts/bindings/flash_controller/silabs,gecko-flash-controller.yaml index 9bf8bfa4d9b..39670dc2ae1 100644 --- a/dts/bindings/flash_controller/silabs,gecko-flash-controller.yaml +++ b/dts/bindings/flash_controller/silabs,gecko-flash-controller.yaml @@ -9,8 +9,6 @@ title: Silicon Labs Gecko Flash Controller description: > This binding gives a base representation of the Silicon Labs Gecko Flash Controller -include: flash-controller.yaml +compatible: "silabs,gecko-flash-controller" -properties: - compatible: - constraint: "silabs,gecko-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32f0-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32f0-flash-controller.yaml index 88c25bf10e7..9afdd78fd02 100644 --- a/dts/bindings/flash_controller/st,stm32f0-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32f0-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 F0 Flash Controller description: > This binding gives a base representation of the STM32 F0 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32f0-flash-controller" -properties: - compatible: - constraint: "st,stm32f0-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32f2-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32f2-flash-controller.yaml index 15f7ef697ba..ca72bc9ed73 100644 --- a/dts/bindings/flash_controller/st,stm32f2-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32f2-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 F2 Flash Controller description: > This binding gives a base representation of the STM32 F2 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32f2-flash-controller" -properties: - compatible: - constraint: "st,stm32f2-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32f3-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32f3-flash-controller.yaml index 01d9425a615..770559fa30f 100644 --- a/dts/bindings/flash_controller/st,stm32f3-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32f3-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 F3 Flash Controller description: > This binding gives a base representation of the STM32 F3 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32f3-flash-controller" -properties: - compatible: - constraint: "st,stm32f3-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32f4-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32f4-flash-controller.yaml index d1c2b79c583..e24d31e7073 100644 --- a/dts/bindings/flash_controller/st,stm32f4-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32f4-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 F4 Flash Controller description: > This binding gives a base representation of the STM32 F4 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32f4-flash-controller" -properties: - compatible: - constraint: "st,stm32f4-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32f7-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32f7-flash-controller.yaml index 13e8f54e5da..90f6c5307f2 100644 --- a/dts/bindings/flash_controller/st,stm32f7-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32f7-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 F7 Flash Controller description: > This binding gives a base representation of the STM32 F7 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32f7-flash-controller" -properties: - compatible: - constraint: "st,stm32f7-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32g0-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32g0-flash-controller.yaml index 0ee5e08a988..cc12f914f29 100644 --- a/dts/bindings/flash_controller/st,stm32g0-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32g0-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 G0 Flash Controller description: > This binding gives a base representation of the STM32 G0 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32g0-flash-controller" -properties: - compatible: - constraint: "st,stm32g0-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32h7-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32h7-flash-controller.yaml index 9db17e52b7a..dd9af442290 100644 --- a/dts/bindings/flash_controller/st,stm32h7-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32h7-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 H7 Flash Controller description: > This binding gives a base representation of the STM32 H7 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32h7-flash-controller" -properties: - compatible: - constraint: "st,stm32h7-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32l1-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32l1-flash-controller.yaml index 305cf7fdbc8..6d786feea9c 100644 --- a/dts/bindings/flash_controller/st,stm32l1-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32l1-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 L1 Flash Controller description: > This binding gives a base representation of the STM32 L1 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32l1-flash-controller" -properties: - compatible: - constraint: "st,stm32l1-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32l4-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32l4-flash-controller.yaml index a334b259f3c..71506aa9532 100644 --- a/dts/bindings/flash_controller/st,stm32l4-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32l4-flash-controller.yaml @@ -3,8 +3,6 @@ title: STM32 L4 Flash Controller description: > This binding gives a base representation of the STM32 L4 Flash Controller -include: flash-controller.yaml +compatible: "st,stm32l4-flash-controller" -properties: - compatible: - constraint: "st,stm32l4-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/st,stm32wb-flash-controller.yaml b/dts/bindings/flash_controller/st,stm32wb-flash-controller.yaml index b841c195ec8..8da150149ad 100644 --- a/dts/bindings/flash_controller/st,stm32wb-flash-controller.yaml +++ b/dts/bindings/flash_controller/st,stm32wb-flash-controller.yaml @@ -3,12 +3,11 @@ title: STM32 WB Flash Controller description: > This binding gives a base representation of the STM32 wb Flash Controller +compatible: "st,stm32wb-flash-controller" + include: flash-controller.yaml properties: - compatible: - constraint: "st,stm32wb-flash-controller" - single-bank: type: boolean description: dual-bank mode not enabled (page erase 4096k) diff --git a/dts/bindings/flash_controller/zephyr,native-posix-flash-controller.yaml b/dts/bindings/flash_controller/zephyr,native-posix-flash-controller.yaml index b4bba9f8cfe..c2529b8692d 100644 --- a/dts/bindings/flash_controller/zephyr,native-posix-flash-controller.yaml +++ b/dts/bindings/flash_controller/zephyr,native-posix-flash-controller.yaml @@ -4,8 +4,6 @@ description: > This binding gives a base representation of the Native POSIX flash controller -include: flash-controller.yaml +compatible: "zephyr,native-posix-flash-controller" -properties: - compatible: - constraint: "zephyr,native-posix-flash-controller" +include: flash-controller.yaml diff --git a/dts/bindings/flash_controller/zephyr,sim-flash.yaml b/dts/bindings/flash_controller/zephyr,sim-flash.yaml index 5d037113f08..7f1c5762bcc 100644 --- a/dts/bindings/flash_controller/zephyr,sim-flash.yaml +++ b/dts/bindings/flash_controller/zephyr,sim-flash.yaml @@ -5,11 +5,10 @@ title: simulated flash description: > This binding gives a base representation of a simulated flash memory +compatible: "zephyr,sim-flash" + include: base.yaml properties: - compatible: - constraint: "zephyr,sim-flash" - label: required: true diff --git a/dts/bindings/gpio/arduino-header-r3.yaml b/dts/bindings/gpio/arduino-header-r3.yaml index 770b3c81609..e6b866f7b58 100644 --- a/dts/bindings/gpio/arduino-header-r3.yaml +++ b/dts/bindings/gpio/arduino-header-r3.yaml @@ -9,8 +9,6 @@ title: ARDUINO GPIO HEADER description: > This is a representation of GPIO pin nodes exposed as headers on Arduino R3 -include: [gpio-nexus.yaml, base.yaml] +compatible: "arduino-header-r3" -properties: - compatible: - constraint: "arduino-header-r3" +include: [gpio-nexus.yaml, base.yaml] diff --git a/dts/bindings/gpio/arm,cmsdk-gpio.yaml b/dts/bindings/gpio/arm,cmsdk-gpio.yaml index d9c8016730f..43ef661f10c 100644 --- a/dts/bindings/gpio/arm,cmsdk-gpio.yaml +++ b/dts/bindings/gpio/arm,cmsdk-gpio.yaml @@ -3,12 +3,11 @@ title: ARM CMSDK GPIO description: > This binding gives a base representation of the ARM CMSDK GPIO +compatible: "arm,cmsdk-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "arm,cmsdk-gpio" - reg: required: true diff --git a/dts/bindings/gpio/atmel,sam-gpio.yaml b/dts/bindings/gpio/atmel,sam-gpio.yaml index a0ea69416be..81c7b913cb7 100644 --- a/dts/bindings/gpio/atmel,sam-gpio.yaml +++ b/dts/bindings/gpio/atmel,sam-gpio.yaml @@ -3,12 +3,11 @@ title: Atmel SAM GPIO PORT driver description: > This is a representation of the SAM GPIO PORT nodes +compatible: "atmel,sam-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "atmel,sam-gpio" - reg: required: true diff --git a/dts/bindings/gpio/atmel,sam0-gpio.yaml b/dts/bindings/gpio/atmel,sam0-gpio.yaml index cc5cccb7569..993186a4a03 100644 --- a/dts/bindings/gpio/atmel,sam0-gpio.yaml +++ b/dts/bindings/gpio/atmel,sam0-gpio.yaml @@ -3,12 +3,11 @@ title: Atmel SAM0 GPIO PORT driver description: > This is a representation of the SAM0 GPIO PORT nodes +compatible: "atmel,sam0-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "atmel,sam0-gpio" - reg: required: true diff --git a/dts/bindings/gpio/gpio-keys.yaml b/dts/bindings/gpio/gpio-keys.yaml index 308986c3cf4..e4dc96d3489 100644 --- a/dts/bindings/gpio/gpio-keys.yaml +++ b/dts/bindings/gpio/gpio-keys.yaml @@ -9,12 +9,7 @@ title: GPIO KEYS description: > This is a representation of the GPIO KEYS nodes -properties: - compatible: - constraint: "gpio-keys" - type: string-array - required: true - description: compatible strings +compatible: "gpio-keys" sub-node: properties: diff --git a/dts/bindings/gpio/gpio-leds.yaml b/dts/bindings/gpio/gpio-leds.yaml index 4718582073e..403e735c3d3 100644 --- a/dts/bindings/gpio/gpio-leds.yaml +++ b/dts/bindings/gpio/gpio-leds.yaml @@ -9,12 +9,7 @@ title: GPIO LED description: > This is a representation of the LED GPIO nodes -properties: - compatible: - constraint: "gpio-leds" - type: string-array - required: true - description: compatible strings +compatible: "gpio-leds" sub-node: properties: diff --git a/dts/bindings/gpio/holtek,ht16k33-keyscan.yaml b/dts/bindings/gpio/holtek,ht16k33-keyscan.yaml index 356cb387875..c6b780be1e4 100644 --- a/dts/bindings/gpio/holtek,ht16k33-keyscan.yaml +++ b/dts/bindings/gpio/holtek,ht16k33-keyscan.yaml @@ -2,14 +2,14 @@ title: Holtek HT16K33 LED Driver With Keyscan description: Holtek HT16K33 Keyscan binding +compatible: "holtek,ht16k33-keyscan" + include: base.yaml parent: bus: ht16k33 properties: - compatible: - constraint: "holtek,ht16k33-keyscan" reg: required: true label: diff --git a/dts/bindings/gpio/intel,apl-gpio.yaml b/dts/bindings/gpio/intel,apl-gpio.yaml index 33fdaeae552..c15150b6d72 100644 --- a/dts/bindings/gpio/intel,apl-gpio.yaml +++ b/dts/bindings/gpio/intel,apl-gpio.yaml @@ -9,12 +9,11 @@ title: Intel Apollo Lake GPIO controller description: > This is a representation of the Intel Apollo Lake GPIO node +compatible: "intel,apl-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "intel,apl-gpio" - reg: required: true diff --git a/dts/bindings/gpio/intel,qmsi-gpio.yaml b/dts/bindings/gpio/intel,qmsi-gpio.yaml index 9143aecb4fd..e2d9786d828 100644 --- a/dts/bindings/gpio/intel,qmsi-gpio.yaml +++ b/dts/bindings/gpio/intel,qmsi-gpio.yaml @@ -9,12 +9,11 @@ title: Intel QMSI GPIO description: > This is a representation of the Intel QMSI GPIO nodes +compatible: "intel,qmsi-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "intel,qmsi-gpio" - reg: required: true diff --git a/dts/bindings/gpio/intel,qmsi-ss-gpio.yaml b/dts/bindings/gpio/intel,qmsi-ss-gpio.yaml index 1f050be97cf..da21c57be2b 100644 --- a/dts/bindings/gpio/intel,qmsi-ss-gpio.yaml +++ b/dts/bindings/gpio/intel,qmsi-ss-gpio.yaml @@ -9,12 +9,11 @@ title: Intel QMSI SS GPIO description: > This is a representation of the Intel QMSI SS GPIO nodes +compatible: "intel,qmsi-ss-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "intel,qmsi-ss-gpio" - reg: required: true diff --git a/dts/bindings/gpio/microchip,xec-gpio.yaml b/dts/bindings/gpio/microchip,xec-gpio.yaml index cbdaaba38ae..9695aa4ac71 100644 --- a/dts/bindings/gpio/microchip,xec-gpio.yaml +++ b/dts/bindings/gpio/microchip,xec-gpio.yaml @@ -4,18 +4,16 @@ # SPDX-License-Identifier: Apache-2.0 # - title: MICROCHIP GPIO description: > This is a representation of the CEC/MEC GPIO nodes for Microchip +compatible: "microchip,xec-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "microchip,xec-gpio" - reg: required: true diff --git a/dts/bindings/gpio/nordic,nrf-gpio.yaml b/dts/bindings/gpio/nordic,nrf-gpio.yaml index 3be9e1ea3e7..de7be672ce4 100644 --- a/dts/bindings/gpio/nordic,nrf-gpio.yaml +++ b/dts/bindings/gpio/nordic,nrf-gpio.yaml @@ -9,12 +9,11 @@ title: NRF5 GPIO description: > This is a representation of the NRF GPIO nodes +compatible: "nordic,nrf-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "nordic,nrf-gpio" - reg: required: true diff --git a/dts/bindings/gpio/nordic,nrf-gpiote.yaml b/dts/bindings/gpio/nordic,nrf-gpiote.yaml index 697ada76b38..c62dc605973 100644 --- a/dts/bindings/gpio/nordic,nrf-gpiote.yaml +++ b/dts/bindings/gpio/nordic,nrf-gpiote.yaml @@ -9,12 +9,11 @@ title: NRF5 GPIOTE description: > This is a representation of the NRF GPIOTE node +compatible: "nordic,nrf-gpiote" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-gpiote" - reg: required: true diff --git a/dts/bindings/gpio/nxp,imx-gpio.yaml b/dts/bindings/gpio/nxp,imx-gpio.yaml index 9df56695882..8549cddb121 100644 --- a/dts/bindings/gpio/nxp,imx-gpio.yaml +++ b/dts/bindings/gpio/nxp,imx-gpio.yaml @@ -9,12 +9,11 @@ title: i.MX GPIO description: > This is a representation of the i.MX GPIO nodes +compatible: "nxp,imx-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,imx-gpio" - reg: required: true diff --git a/dts/bindings/gpio/nxp,kinetis-gpio.yaml b/dts/bindings/gpio/nxp,kinetis-gpio.yaml index 85e0ccf041d..e76cd8c0ff7 100644 --- a/dts/bindings/gpio/nxp,kinetis-gpio.yaml +++ b/dts/bindings/gpio/nxp,kinetis-gpio.yaml @@ -3,12 +3,11 @@ title: Kinetis GPIO description: > This is a representation of the Kinetis GPIO nodes +compatible: "nxp,kinetis-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,kinetis-gpio" - reg: required: true diff --git a/dts/bindings/gpio/openisa,rv32m1-gpio.yaml b/dts/bindings/gpio/openisa,rv32m1-gpio.yaml index 7c9a7d2c5ba..08017a83bc9 100644 --- a/dts/bindings/gpio/openisa,rv32m1-gpio.yaml +++ b/dts/bindings/gpio/openisa,rv32m1-gpio.yaml @@ -3,12 +3,11 @@ title: OpenISA GPIO description: > This is a representation of the OpenISA GPIO nodes +compatible: "openisa,rv32m1-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "openisa,rv32m1-gpio" - reg: required: true diff --git a/dts/bindings/gpio/semtech,sx1509b-gpio.yaml b/dts/bindings/gpio/semtech,sx1509b-gpio.yaml index 97e9d3d7ad1..1f9f638909c 100644 --- a/dts/bindings/gpio/semtech,sx1509b-gpio.yaml +++ b/dts/bindings/gpio/semtech,sx1509b-gpio.yaml @@ -9,12 +9,11 @@ title: Semtech SX1509B I2C GPIO description: > This is a representation of the SX1509B GPIO node +compatible: "semtech,sx1509b" + include: [i2c-device.yaml, gpio-controller.yaml] properties: - compatible: - constraint: "semtech,sx1509b" - label: required: true diff --git a/dts/bindings/gpio/sifive,gpio0.yaml b/dts/bindings/gpio/sifive,gpio0.yaml index 952072a2b2d..8c4a96b5ece 100644 --- a/dts/bindings/gpio/sifive,gpio0.yaml +++ b/dts/bindings/gpio/sifive,gpio0.yaml @@ -9,12 +9,11 @@ title: SiFive GPIO description: > This is a representation of the SiFive GPIO nodes +compatible: "sifive,gpio0" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "sifive,gpio0" - reg: required: true diff --git a/dts/bindings/gpio/silabs,efm32-gpio-port.yaml b/dts/bindings/gpio/silabs,efm32-gpio-port.yaml index ddad1034a17..a6ab1b5c2e0 100644 --- a/dts/bindings/gpio/silabs,efm32-gpio-port.yaml +++ b/dts/bindings/gpio/silabs,efm32-gpio-port.yaml @@ -3,12 +3,11 @@ title: EFM32 GPIO description: > This is a representation of the EFM32 GPIO Port nodes +compatible: "silabs,efm32-gpio-port" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "silabs,efm32-gpio-port" - reg: required: true diff --git a/dts/bindings/gpio/silabs,efm32-gpio.yaml b/dts/bindings/gpio/silabs,efm32-gpio.yaml index 79fd3d69380..b2f858f7a8d 100644 --- a/dts/bindings/gpio/silabs,efm32-gpio.yaml +++ b/dts/bindings/gpio/silabs,efm32-gpio.yaml @@ -3,12 +3,11 @@ title: EFM32 GPIO description: > This is a representation of the EFM32 GPIO nodes +compatible: "silabs,efm32-gpio" + include: base.yaml properties: - compatible: - constraint: "silabs,efm32-gpio" - reg: required: true diff --git a/dts/bindings/gpio/silabs,efr32mg12-gpio-port.yaml b/dts/bindings/gpio/silabs,efr32mg12-gpio-port.yaml index 57cadb48456..20d4fc3c1b1 100644 --- a/dts/bindings/gpio/silabs,efr32mg12-gpio-port.yaml +++ b/dts/bindings/gpio/silabs,efr32mg12-gpio-port.yaml @@ -3,12 +3,11 @@ title: EFR32MG GPIO description: > This is a representation of the EFR32MG GPIO Port nodes +compatible: "silabs,efr32mg-gpio-port" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "silabs,efr32mg-gpio-port" - reg: required: true diff --git a/dts/bindings/gpio/silabs,efr32mg12-gpio.yaml b/dts/bindings/gpio/silabs,efr32mg12-gpio.yaml index 289be942ecc..531c255be29 100644 --- a/dts/bindings/gpio/silabs,efr32mg12-gpio.yaml +++ b/dts/bindings/gpio/silabs,efr32mg12-gpio.yaml @@ -3,12 +3,11 @@ title: EFR32MG GPIO description: > This is a representation of the EFR32MG GPIO nodes +compatible: "silabs,efr32mg-gpio" + include: base.yaml properties: - compatible: - constraint: "silabs,efr32mg-gpio" - reg: required: true diff --git a/dts/bindings/gpio/silabs,efr32xg1-gpio-port.yaml b/dts/bindings/gpio/silabs,efr32xg1-gpio-port.yaml index 9fab3d3f4f5..d47e5377b6b 100644 --- a/dts/bindings/gpio/silabs,efr32xg1-gpio-port.yaml +++ b/dts/bindings/gpio/silabs,efr32xg1-gpio-port.yaml @@ -3,12 +3,11 @@ title: EFR32XG1 GPIO description: > This is a representation of the EFR32XG1 GPIO Port nodes +compatible: "silabs,efr32xg1-gpio-port" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "silabs,efr32xg1-gpio-port" - reg: required: true diff --git a/dts/bindings/gpio/silabs,efr32xg1-gpio.yaml b/dts/bindings/gpio/silabs,efr32xg1-gpio.yaml index 54df2c81259..4fbc4d33a14 100644 --- a/dts/bindings/gpio/silabs,efr32xg1-gpio.yaml +++ b/dts/bindings/gpio/silabs,efr32xg1-gpio.yaml @@ -3,12 +3,11 @@ title: EFR32XG1 GPIO description: > This is a representation of the EFR32XG1 GPIO nodes +compatible: "silabs,efr32xg1-gpio" + include: base.yaml properties: - compatible: - constraint: "silabs,efr32xg1-gpio" - reg: required: true diff --git a/dts/bindings/gpio/snps,designware-gpio.yaml b/dts/bindings/gpio/snps,designware-gpio.yaml index 04b50b5b247..adbd92d34ae 100644 --- a/dts/bindings/gpio/snps,designware-gpio.yaml +++ b/dts/bindings/gpio/snps,designware-gpio.yaml @@ -9,12 +9,11 @@ title: Synopsys Designware GPIO controller description: > This is a representation of the Synopsys DesignWare gpio node +compatible: "snps,designware-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "snps,designware-gpio" - reg: required: true diff --git a/dts/bindings/gpio/st,stm32-gpio.yaml b/dts/bindings/gpio/st,stm32-gpio.yaml index e9daad3d88e..a3a2f1d9ad6 100644 --- a/dts/bindings/gpio/st,stm32-gpio.yaml +++ b/dts/bindings/gpio/st,stm32-gpio.yaml @@ -9,12 +9,11 @@ title: STM32 GPIO description: > This is a representation of the STM32 GPIO nodes +compatible: "st,stm32-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "st,stm32-gpio" - reg: required: true diff --git a/dts/bindings/gpio/ti,cc13xx-cc26xx-gpio.yaml b/dts/bindings/gpio/ti,cc13xx-cc26xx-gpio.yaml index 0fe97048b0c..90a74aeea7c 100644 --- a/dts/bindings/gpio/ti,cc13xx-cc26xx-gpio.yaml +++ b/dts/bindings/gpio/ti,cc13xx-cc26xx-gpio.yaml @@ -9,12 +9,11 @@ title: TI SimpleLink CC13xx / CC26xx GPIO description: > This is a representation of the TI SimpleLink CC13xx / CC26xx GPIO node +compatible: "ti,cc13xx-cc26xx-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "ti,cc13xx-cc26xx-gpio" - reg: required: true diff --git a/dts/bindings/gpio/ti,cc2650-gpio.yaml b/dts/bindings/gpio/ti,cc2650-gpio.yaml index a388fdfe782..00e2c773034 100644 --- a/dts/bindings/gpio/ti,cc2650-gpio.yaml +++ b/dts/bindings/gpio/ti,cc2650-gpio.yaml @@ -4,12 +4,11 @@ title: TI CC2650 GPIO description: > This is a representation of the TI CC2650 GPIO node +compatible: "ti,cc2650-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "ti,cc2650-gpio" - reg: required: true diff --git a/dts/bindings/gpio/ti,cc32xx-gpio.yaml b/dts/bindings/gpio/ti,cc32xx-gpio.yaml index 7521f873ad5..42b9e3d3864 100644 --- a/dts/bindings/gpio/ti,cc32xx-gpio.yaml +++ b/dts/bindings/gpio/ti,cc32xx-gpio.yaml @@ -4,12 +4,11 @@ title: TI CC32XX GPIO description: > This is a representation of the TI CC32XX GPIO node +compatible: "ti,cc32xx-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "ti,cc32xx-gpio" - reg: required: true diff --git a/dts/bindings/gpio/ti,stellaris-gpio.yaml b/dts/bindings/gpio/ti,stellaris-gpio.yaml index ca60a964040..8e9bff01baa 100644 --- a/dts/bindings/gpio/ti,stellaris-gpio.yaml +++ b/dts/bindings/gpio/ti,stellaris-gpio.yaml @@ -4,12 +4,11 @@ title: TI Stellaris GPIO description: > This is a representation of the TI Stellaris GPIO node +compatible: "ti,stellaris-gpio" + include: [gpio-controller.yaml, base.yaml] properties: - compatible: - constraint: "ti,stellaris-gpio" - reg: required: true diff --git a/dts/bindings/i2c/arm,versatile-i2c.yaml b/dts/bindings/i2c/arm,versatile-i2c.yaml index 3f213377c43..d47bb5f2ce0 100644 --- a/dts/bindings/i2c/arm,versatile-i2c.yaml +++ b/dts/bindings/i2c/arm,versatile-i2c.yaml @@ -9,11 +9,10 @@ title: ARM SBCon two-wire serial bus interface description: > This is a representation of the ARM SBCon two-wire serial bus interface +compatible: "arm,versatile-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "arm,versatile-i2c" - reg: required: true diff --git a/dts/bindings/i2c/atmel,sam-i2c-twi.yaml b/dts/bindings/i2c/atmel,sam-i2c-twi.yaml index c6c1c6b9245..f7c993bedbd 100644 --- a/dts/bindings/i2c/atmel,sam-i2c-twi.yaml +++ b/dts/bindings/i2c/atmel,sam-i2c-twi.yaml @@ -9,12 +9,11 @@ title: Atmel SAM Family I2C (TWI) node description: > This is a representation of the Atmel SAM Family I2C (TWI) node +compatible: "atmel,sam-i2c-twi" + include: i2c-controller.yaml properties: - compatible: - constraint: "atmel,sam-i2c-twi" - reg: required: true diff --git a/dts/bindings/i2c/atmel,sam-i2c-twihs.yaml b/dts/bindings/i2c/atmel,sam-i2c-twihs.yaml index a3c4d1bf576..43289984a6f 100644 --- a/dts/bindings/i2c/atmel,sam-i2c-twihs.yaml +++ b/dts/bindings/i2c/atmel,sam-i2c-twihs.yaml @@ -9,12 +9,11 @@ title: Atmel SAM Family I2C (TWIHS) node description: > This is a representation of the Atmel SAM Family I2C (TWIHS) node +compatible: "atmel,sam-i2c-twihs" + include: i2c-controller.yaml properties: - compatible: - constraint: "atmel,sam-i2c-twihs" - reg: required: true diff --git a/dts/bindings/i2c/atmel,sam0-i2c.yaml b/dts/bindings/i2c/atmel,sam0-i2c.yaml index 801e8fb4355..eb5e0b755de 100644 --- a/dts/bindings/i2c/atmel,sam0-i2c.yaml +++ b/dts/bindings/i2c/atmel,sam0-i2c.yaml @@ -9,12 +9,11 @@ title: Atmel SAM0 series SERCOM I2C controller description: > This is a representation of the Atmel SAM0 series SERCOM I2C nodes +compatible: "atmel,sam0-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "atmel,sam0-i2c" - reg: required: true diff --git a/dts/bindings/i2c/fsl,imx7d-i2c.yaml b/dts/bindings/i2c/fsl,imx7d-i2c.yaml index c626463ede8..2ba76b5b586 100644 --- a/dts/bindings/i2c/fsl,imx7d-i2c.yaml +++ b/dts/bindings/i2c/fsl,imx7d-i2c.yaml @@ -9,12 +9,11 @@ title: i.MX I2C Controller description: > This is a representation of the i.MX I2C nodes +compatible: "fsl,imx7d-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "fsl,imx7d-i2c" - reg: required: true diff --git a/dts/bindings/i2c/intel,qmsi-i2c.yaml b/dts/bindings/i2c/intel,qmsi-i2c.yaml index 79e00f41b2d..ec1710d3c8a 100644 --- a/dts/bindings/i2c/intel,qmsi-i2c.yaml +++ b/dts/bindings/i2c/intel,qmsi-i2c.yaml @@ -9,12 +9,11 @@ title: Intel QMSI i2c description: > This binding gives a base representation of the Intel QMSI i2c +compatible: "intel,qmsi-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "intel,qmsi-i2c" - reg: required: true diff --git a/dts/bindings/i2c/intel,qmsi-ss-i2c.yaml b/dts/bindings/i2c/intel,qmsi-ss-i2c.yaml index 9f6aaccc42e..bcf4c51cb3e 100644 --- a/dts/bindings/i2c/intel,qmsi-ss-i2c.yaml +++ b/dts/bindings/i2c/intel,qmsi-ss-i2c.yaml @@ -9,12 +9,11 @@ title: Intel QMSI SS i2c description: > This binding gives a base representation of the Intel QMSI SS i2c +compatible: "intel,qmsi-ss-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "intel,qmsi-ss-i2c" - reg: required: true diff --git a/dts/bindings/i2c/microchip,xec-i2c.yaml b/dts/bindings/i2c/microchip,xec-i2c.yaml index 4da0b14a5d9..4d76680c230 100644 --- a/dts/bindings/i2c/microchip,xec-i2c.yaml +++ b/dts/bindings/i2c/microchip,xec-i2c.yaml @@ -9,12 +9,11 @@ title: MICROCHIP I2C description: > This binding gives a base representation for I2C/SMB controller for Microchip +compatible: "microchip,xec-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "microchip,xec-i2c" - reg: required: true diff --git a/dts/bindings/i2c/nios2,i2c.yaml b/dts/bindings/i2c/nios2,i2c.yaml index b5bcaea362e..779e103effc 100644 --- a/dts/bindings/i2c/nios2,i2c.yaml +++ b/dts/bindings/i2c/nios2,i2c.yaml @@ -9,11 +9,10 @@ title: NIOS2 i2c description: > This binding gives a base representation of the NIOS2 i2c +compatible: "nios2,i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "nios2,i2c" - reg: required: true diff --git a/dts/bindings/i2c/nordic,nrf-i2c.yaml b/dts/bindings/i2c/nordic,nrf-i2c.yaml index 99703834407..024a6b4c4a6 100644 --- a/dts/bindings/i2c/nordic,nrf-i2c.yaml +++ b/dts/bindings/i2c/nordic,nrf-i2c.yaml @@ -10,12 +10,11 @@ title: Nordic nRF Family I2C Master node description: > This is a representation of the Nordic nRF I2C node +compatible: "nordic,nrf-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "nordic,nrf-i2c" - reg: required: true diff --git a/dts/bindings/i2c/nxp,imx-lpi2c.yaml b/dts/bindings/i2c/nxp,imx-lpi2c.yaml index 319222fa209..5e5fe41ada5 100644 --- a/dts/bindings/i2c/nxp,imx-lpi2c.yaml +++ b/dts/bindings/i2c/nxp,imx-lpi2c.yaml @@ -9,12 +9,11 @@ title: NXP LPI2C description: > This binding gives a base representation of the NXP i.MX LPI2C controller +compatible: "nxp,imx-lpi2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "nxp,imx-lpi2c" - reg: required: true diff --git a/dts/bindings/i2c/nxp,kinetis-i2c.yaml b/dts/bindings/i2c/nxp,kinetis-i2c.yaml index 8ef5d2d0e89..7bb7f4cb81c 100644 --- a/dts/bindings/i2c/nxp,kinetis-i2c.yaml +++ b/dts/bindings/i2c/nxp,kinetis-i2c.yaml @@ -9,12 +9,11 @@ title: Kinetis I2C Controller description: > This is a representation of the Kinetis I2C nodes +compatible: "nxp,kinetis-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-i2c" - reg: required: true diff --git a/dts/bindings/i2c/openisa,rv32m1-lpi2c.yaml b/dts/bindings/i2c/openisa,rv32m1-lpi2c.yaml index 66d9ea972ee..9f5c82d688b 100644 --- a/dts/bindings/i2c/openisa,rv32m1-lpi2c.yaml +++ b/dts/bindings/i2c/openisa,rv32m1-lpi2c.yaml @@ -9,12 +9,11 @@ title: OpenISA LPI2C description: > This binding gives a base representation of the OpenISA LPI2C controller +compatible: "openisa,rv32m1-lpi2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "openisa,rv32m1-lpi2c" - reg: required: true diff --git a/dts/bindings/i2c/sifive,i2c0.yaml b/dts/bindings/i2c/sifive,i2c0.yaml index e23a6519e43..24f18b7cef8 100644 --- a/dts/bindings/i2c/sifive,i2c0.yaml +++ b/dts/bindings/i2c/sifive,i2c0.yaml @@ -9,12 +9,11 @@ title: SiFive Freedom I2C description: > This is a binding for the SiFive Freedom I2C interface +compatible: "sifive,i2c0" + include: i2c-controller.yaml properties: - compatible: - constraint: "sifive,i2c0" - input-frequency: type: int required: false diff --git a/dts/bindings/i2c/silabs,gecko-i2c.yaml b/dts/bindings/i2c/silabs,gecko-i2c.yaml index 1da6f582e35..781a4851fe3 100644 --- a/dts/bindings/i2c/silabs,gecko-i2c.yaml +++ b/dts/bindings/i2c/silabs,gecko-i2c.yaml @@ -9,12 +9,11 @@ title: Silabs Gecko I2C Controller description: > This is a representation of the Silabs Gecko I2C nodes +compatible: "silabs,gecko-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "silabs,gecko-i2c" - reg: required: true diff --git a/dts/bindings/i2c/snps,designware-i2c.yaml b/dts/bindings/i2c/snps,designware-i2c.yaml index 4747c40c56a..07709df3474 100644 --- a/dts/bindings/i2c/snps,designware-i2c.yaml +++ b/dts/bindings/i2c/snps,designware-i2c.yaml @@ -9,12 +9,11 @@ title: Synopys DesignWare I2C controller description: > This is a representation of the Synopsys DesignWare i2c node +compatible: "snps,designware-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "snps,designware-i2c" - reg: required: true diff --git a/dts/bindings/i2c/st,stm32-i2c-v1.yaml b/dts/bindings/i2c/st,stm32-i2c-v1.yaml index 92a0c4cbf41..63689fadf52 100644 --- a/dts/bindings/i2c/st,stm32-i2c-v1.yaml +++ b/dts/bindings/i2c/st,stm32-i2c-v1.yaml @@ -9,12 +9,11 @@ title: STM32 I2C V1 description: > This binding gives a base representation of the STM32 I2C V1 controller +compatible: "st,stm32-i2c-v1" + include: i2c-controller.yaml properties: - compatible: - constraint: "st,stm32-i2c-v1" - reg: required: true diff --git a/dts/bindings/i2c/st,stm32-i2c-v2.yaml b/dts/bindings/i2c/st,stm32-i2c-v2.yaml index 9d4038efe62..8d724e46988 100644 --- a/dts/bindings/i2c/st,stm32-i2c-v2.yaml +++ b/dts/bindings/i2c/st,stm32-i2c-v2.yaml @@ -9,12 +9,11 @@ title: STM32 I2C V2 description: > This binding gives a base representation of the STM32 I2C V2 controller +compatible: "st,stm32-i2c-v2" + include: i2c-controller.yaml properties: - compatible: - constraint: "st,stm32-i2c-v2" - reg: required: true diff --git a/dts/bindings/i2c/ti,cc13xx-cc26xx-i2c.yaml b/dts/bindings/i2c/ti,cc13xx-cc26xx-i2c.yaml index f564c107c3e..d8b3903c6d6 100644 --- a/dts/bindings/i2c/ti,cc13xx-cc26xx-i2c.yaml +++ b/dts/bindings/i2c/ti,cc13xx-cc26xx-i2c.yaml @@ -9,12 +9,11 @@ title: TI CC13xx / CC26xx I2C description: > This is a representation of the TI CC13xx / CC26xx I2C node +compatible: "ti,cc13xx-cc26xx-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "ti,cc13xx-cc26xx-i2c" - reg: required: true diff --git a/dts/bindings/i2c/ti,cc32xx-i2c.yaml b/dts/bindings/i2c/ti,cc32xx-i2c.yaml index e9677ef321e..2308f0097fe 100644 --- a/dts/bindings/i2c/ti,cc32xx-i2c.yaml +++ b/dts/bindings/i2c/ti,cc32xx-i2c.yaml @@ -3,12 +3,11 @@ title: CC32XX I2C description: > This binding gives a base representation of the TI CC32XX I2C controller +compatible: "ti,cc32xx-i2c" + include: i2c-controller.yaml properties: - compatible: - constraint: "ti,cc32xx-i2c" - reg: required: true diff --git a/dts/bindings/i2s/st,stm32-i2s.yaml b/dts/bindings/i2s/st,stm32-i2s.yaml index 57f71f69dbb..914e68bbded 100644 --- a/dts/bindings/i2s/st,stm32-i2s.yaml +++ b/dts/bindings/i2s/st,stm32-i2s.yaml @@ -9,12 +9,11 @@ title: STM32 I2S description: > This binding gives a base representation of the STM32 I2S controller +compatible: "st,stm32-i2s" + include: i2s-controller.yaml properties: - compatible: - constraint: "st,stm32-i2s" - reg: required: true diff --git a/dts/bindings/ieee802154/nxp,mcr20a.yaml b/dts/bindings/ieee802154/nxp,mcr20a.yaml index c76fd5acec7..d0a63c0c503 100644 --- a/dts/bindings/ieee802154/nxp,mcr20a.yaml +++ b/dts/bindings/ieee802154/nxp,mcr20a.yaml @@ -9,12 +9,11 @@ title: NXP MCR20A 802.15.4 Wireless Transceiver description: > This is a representation of the NXP MCR20A wireless transceiver. +compatible: "nxp,mcr20a" + include: spi-device.yaml properties: - compatible: - constraint: "nxp,mcr20a" - irqb-gpios: type: phandle-array required: true diff --git a/dts/bindings/ieee802154/ti,cc1200.yaml b/dts/bindings/ieee802154/ti,cc1200.yaml index 2af63814321..905f03c7ea7 100644 --- a/dts/bindings/ieee802154/ti,cc1200.yaml +++ b/dts/bindings/ieee802154/ti,cc1200.yaml @@ -9,8 +9,6 @@ title: CC1200 802.15.4 Wireless Transceiver description: > This is a representation of the CC1200 wireless transceiver. -include: spi-device.yaml +compatible: "ti,cc1200" -properties: - compatible: - constraint: "ti,cc1200" +include: spi-device.yaml diff --git a/dts/bindings/ieee802154/ti,cc2520.yaml b/dts/bindings/ieee802154/ti,cc2520.yaml index 436a190a5da..47a5c41fd4e 100644 --- a/dts/bindings/ieee802154/ti,cc2520.yaml +++ b/dts/bindings/ieee802154/ti,cc2520.yaml @@ -9,12 +9,11 @@ title: CC2520 802.15.4 Wireless Transceiver description: > This is a representation of the CC2520 wireless transceiver. +compatible: "ti,cc2520" + include: spi-device.yaml properties: - compatible: - constraint: "ti,cc2520" - vreg-en-gpios: type: phandle-array required: false diff --git a/dts/bindings/iio/adc/atmel,sam-afec.yaml b/dts/bindings/iio/adc/atmel,sam-afec.yaml index d951e805db5..42fa8d9f859 100644 --- a/dts/bindings/iio/adc/atmel,sam-afec.yaml +++ b/dts/bindings/iio/adc/atmel,sam-afec.yaml @@ -3,12 +3,11 @@ title: Atmel SAM Family AFEC description: > This binding gives a base representation of the Atmel SAM AFEC +compatible: "atmel,sam-afec" + include: adc-controller.yaml properties: - compatible: - constraint: "atmel,sam-afec" - reg: required: true diff --git a/dts/bindings/iio/adc/atmel,sam0-adc.yaml b/dts/bindings/iio/adc/atmel,sam0-adc.yaml index ef4ff3c3401..beddced1fc9 100644 --- a/dts/bindings/iio/adc/atmel,sam0-adc.yaml +++ b/dts/bindings/iio/adc/atmel,sam0-adc.yaml @@ -9,12 +9,11 @@ title: Atmel SAM0 Family ADC description: > This binding gives a base representation of the Atmel SAM0 ADC +compatible: "atmel,sam0-adc" + include: adc-controller.yaml properties: - compatible: - constraint: "atmel,sam0-adc" - reg: required: true diff --git a/dts/bindings/iio/adc/nordic,nrf-adc.yaml b/dts/bindings/iio/adc/nordic,nrf-adc.yaml index dca9ec6f00c..33c821eaf48 100644 --- a/dts/bindings/iio/adc/nordic,nrf-adc.yaml +++ b/dts/bindings/iio/adc/nordic,nrf-adc.yaml @@ -9,12 +9,11 @@ title: Nordic Semiconductor nRF Family ADC description: > This is a representation of the nRF ADC node +compatible: "nordic,nrf-adc" + include: adc-controller.yaml properties: - compatible: - constraint: "nordic,nrf-adc" - reg: required: true diff --git a/dts/bindings/iio/adc/nordic,nrf-saadc.yaml b/dts/bindings/iio/adc/nordic,nrf-saadc.yaml index 12e034238af..28dacee3f88 100644 --- a/dts/bindings/iio/adc/nordic,nrf-saadc.yaml +++ b/dts/bindings/iio/adc/nordic,nrf-saadc.yaml @@ -9,12 +9,11 @@ title: Nordic Semiconductor nRF Family SAADC description: > This is a representation of the nRF SAADC node +compatible: "nordic,nrf-saadc" + include: adc-controller.yaml properties: - compatible: - constraint: "nordic,nrf-saadc" - reg: required: true diff --git a/dts/bindings/iio/adc/nxp,kinetis-adc12.yaml b/dts/bindings/iio/adc/nxp,kinetis-adc12.yaml index 78597c1e068..dd27d11b560 100644 --- a/dts/bindings/iio/adc/nxp,kinetis-adc12.yaml +++ b/dts/bindings/iio/adc/nxp,kinetis-adc12.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis ADC12 description: > This binding gives a base representation of the NXP Kinetis ADC12 +compatible: "nxp,kinetis-adc12" + include: adc-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-adc12" - reg: required: true diff --git a/dts/bindings/iio/adc/nxp,kinetis-adc16.yaml b/dts/bindings/iio/adc/nxp,kinetis-adc16.yaml index e02803cae12..7d3829ed7b0 100644 --- a/dts/bindings/iio/adc/nxp,kinetis-adc16.yaml +++ b/dts/bindings/iio/adc/nxp,kinetis-adc16.yaml @@ -9,12 +9,11 @@ title: Kinetis ADC16 description: > This binding gives a base representation of the Kinetis ADC16 +compatible: "nxp,kinetis-adc16" + include: adc-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-adc16" - reg: required: true diff --git a/dts/bindings/iio/adc/st,stm32-adc.yaml b/dts/bindings/iio/adc/st,stm32-adc.yaml index 9e3cfa0839d..aec2142e118 100644 --- a/dts/bindings/iio/adc/st,stm32-adc.yaml +++ b/dts/bindings/iio/adc/st,stm32-adc.yaml @@ -10,12 +10,11 @@ title: ST STM32 family ADC description: > This binding gives a base representation of the ST STM32 ADC +compatible: "st,stm32-adc" + include: adc-controller.yaml properties: - compatible: - constraint: "st,stm32-adc" - reg: required: true diff --git a/dts/bindings/interrupt-controller/arm,gic.yaml b/dts/bindings/interrupt-controller/arm,gic.yaml index 3f67b7782d3..f326bcf4064 100644 --- a/dts/bindings/interrupt-controller/arm,gic.yaml +++ b/dts/bindings/interrupt-controller/arm,gic.yaml @@ -3,18 +3,17 @@ # # SPDX-License-Identifier: Apache-2.0 # ---- + title: ARMv7-R Generic Interrupt Controller description: > This binding describes the ARM Generic Interrupt Controller. +compatible: "arm,gic" + include: base.yaml properties: - compatible: - constraint: "arm,gic" - reg: required: true @@ -25,4 +24,3 @@ properties: - irq - priority - flags -... diff --git a/dts/bindings/interrupt-controller/arm,v6m-nvic.yaml b/dts/bindings/interrupt-controller/arm,v6m-nvic.yaml index aba8dbe34a2..cbadacf71fc 100644 --- a/dts/bindings/interrupt-controller/arm,v6m-nvic.yaml +++ b/dts/bindings/interrupt-controller/arm,v6m-nvic.yaml @@ -3,12 +3,11 @@ title: ARMv6-M NVIC Interrupt Controller description: > This binding describes the ARMv6-M Nested Vectored Interrupt Controller. +compatible: "arm,v6m-nvic" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "arm,v6m-nvic" - reg: required: true diff --git a/dts/bindings/interrupt-controller/arm,v7m-nvic.yaml b/dts/bindings/interrupt-controller/arm,v7m-nvic.yaml index 887769ea0b0..4ffc9220826 100644 --- a/dts/bindings/interrupt-controller/arm,v7m-nvic.yaml +++ b/dts/bindings/interrupt-controller/arm,v7m-nvic.yaml @@ -3,12 +3,11 @@ title: ARMv7-M NVIC Interrupt Controller description: > This binding describes the ARMv7-M Nested Vectored Interrupt Controller. +compatible: "arm,v7m-nvic" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "arm,v7m-nvic" - reg: required: true diff --git a/dts/bindings/interrupt-controller/arm,v8m-nvic.yaml b/dts/bindings/interrupt-controller/arm,v8m-nvic.yaml index 8f2590b74c4..5a3ba18cb4c 100644 --- a/dts/bindings/interrupt-controller/arm,v8m-nvic.yaml +++ b/dts/bindings/interrupt-controller/arm,v8m-nvic.yaml @@ -3,12 +3,11 @@ title: ARMv8-M NVIC Interrupt Controller description: > This binding describes the ARMv8-M Nested Vectored Interrupt Controller. +compatible: "arm,v8m-nvic" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "arm,v8m-nvic" - reg: required: true diff --git a/dts/bindings/interrupt-controller/atmel,sam0-eic.yaml b/dts/bindings/interrupt-controller/atmel,sam0-eic.yaml index ca5d583be6b..570bf67aff2 100644 --- a/dts/bindings/interrupt-controller/atmel,sam0-eic.yaml +++ b/dts/bindings/interrupt-controller/atmel,sam0-eic.yaml @@ -3,12 +3,11 @@ title: Atmel SAM0 External Interrupt Controller description: > This binding describes the Atmel SAM0 series External Interrupt Controller +compatible: "atmel,sam0-eic" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-eic" - reg: required: true diff --git a/dts/bindings/interrupt-controller/intel,cavs-intc.yaml b/dts/bindings/interrupt-controller/intel,cavs-intc.yaml index b72b5de429b..e01dc870cae 100644 --- a/dts/bindings/interrupt-controller/intel,cavs-intc.yaml +++ b/dts/bindings/interrupt-controller/intel,cavs-intc.yaml @@ -3,12 +3,11 @@ title: CAVS Interrupt Controller description: > This binding describes CAVS Interrupt controller +compatible: "intel,cavs-intc" + include: base.yaml properties: - compatible: - constraint: "intel,cavs-intc" - reg: required: true diff --git a/dts/bindings/interrupt-controller/intel,ioapic.yaml b/dts/bindings/interrupt-controller/intel,ioapic.yaml index 06a2776a357..6449934f098 100644 --- a/dts/bindings/interrupt-controller/intel,ioapic.yaml +++ b/dts/bindings/interrupt-controller/intel,ioapic.yaml @@ -4,12 +4,11 @@ description: > This binding describes the Intel I/O Advanced Programmable Interrupt controller +compatible: "intel,ioapic" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "intel,ioapic" - reg: required: true diff --git a/dts/bindings/interrupt-controller/openisa,rv32m1-event-unit.yaml b/dts/bindings/interrupt-controller/openisa,rv32m1-event-unit.yaml index 3fe291230d8..d79aa595c3c 100644 --- a/dts/bindings/interrupt-controller/openisa,rv32m1-event-unit.yaml +++ b/dts/bindings/interrupt-controller/openisa,rv32m1-event-unit.yaml @@ -10,12 +10,11 @@ title: RV32M1 Event Unit description: > This binding describes the RV32M1 Event Unit +compatible: "openisa,rv32m1-event-unit" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "openisa,rv32m1-event-unit" - reg: required: true diff --git a/dts/bindings/interrupt-controller/openisa,rv32m1-intmux.yaml b/dts/bindings/interrupt-controller/openisa,rv32m1-intmux.yaml index ff0175494cb..dc8a365d8af 100644 --- a/dts/bindings/interrupt-controller/openisa,rv32m1-intmux.yaml +++ b/dts/bindings/interrupt-controller/openisa,rv32m1-intmux.yaml @@ -9,12 +9,11 @@ title: RV32M1 INTMUX description: > This binding describes the RV32M1 INTMUX IP +compatible: "openisa,rv32m1-intmux" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "openisa,rv32m1-intmux" - reg: required: true diff --git a/dts/bindings/interrupt-controller/riscv,cpu-intc.yaml b/dts/bindings/interrupt-controller/riscv,cpu-intc.yaml index 2a886d4e402..1272891fa98 100644 --- a/dts/bindings/interrupt-controller/riscv,cpu-intc.yaml +++ b/dts/bindings/interrupt-controller/riscv,cpu-intc.yaml @@ -9,12 +9,11 @@ title: RISC-V CPU INTC description: > This binding describes the RISC-V CPU Interrupt Controller +compatible: "riscv,cpu-intc" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "riscv,cpu-intc" - "#interrupt-cells": const: 1 diff --git a/dts/bindings/interrupt-controller/shared-irq.yaml b/dts/bindings/interrupt-controller/shared-irq.yaml index 0bdd559569d..01f55199a4b 100644 --- a/dts/bindings/interrupt-controller/shared-irq.yaml +++ b/dts/bindings/interrupt-controller/shared-irq.yaml @@ -3,12 +3,11 @@ title: Shared IRQ interrupt dispatcher description: > This binding describes Shared IRQ interrupt dispatcher +compatible: "shared-irq" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "shared-irq" - interrupts: required: true diff --git a/dts/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/dts/bindings/interrupt-controller/sifive,plic-1.0.0.yaml index 27c8d1bfe58..1a26b80cf24 100644 --- a/dts/bindings/interrupt-controller/sifive,plic-1.0.0.yaml +++ b/dts/bindings/interrupt-controller/sifive,plic-1.0.0.yaml @@ -5,12 +5,11 @@ title: SiFive PLIC description: SiFive RISCV-V platform-local interrupt controller +compatible: "sifive,plic-1.0.0" + include: riscv,plic0.yaml properties: - compatible: - constraint: "sifive,plic-1.0.0" - riscv,ndev: type: int description: Number of external interrupts supported diff --git a/dts/bindings/interrupt-controller/snps,archs-idu-intc.yaml b/dts/bindings/interrupt-controller/snps,archs-idu-intc.yaml index 2cad349d94f..0628ad4ad21 100644 --- a/dts/bindings/interrupt-controller/snps,archs-idu-intc.yaml +++ b/dts/bindings/interrupt-controller/snps,archs-idu-intc.yaml @@ -11,11 +11,9 @@ description: > SMP configurations for dynamic IRQ routing, load balancing of common/external IRQs towards core intc -include: [interrupt-controller.yaml, base.yaml] +compatible: "snps,archs-idu-intc" -properties: - compatible: - constraint: "snps,archs-idu-intc" +include: [interrupt-controller.yaml, base.yaml] "#cells": - irq diff --git a/dts/bindings/interrupt-controller/snps,arcv2-intc.yaml b/dts/bindings/interrupt-controller/snps,arcv2-intc.yaml index 898f77cca76..c4160fd9b03 100644 --- a/dts/bindings/interrupt-controller/snps,arcv2-intc.yaml +++ b/dts/bindings/interrupt-controller/snps,arcv2-intc.yaml @@ -9,12 +9,11 @@ title: ARCV2 Interrupt Controller description: > This binding describes the ARCV2 IRQ controller +compatible: "snps,arcv2-intc" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "snps,arcv2-intc" - "#interrupt-cells": const: 2 diff --git a/dts/bindings/interrupt-controller/snps,designware-intc.yaml b/dts/bindings/interrupt-controller/snps,designware-intc.yaml index 5f4a466f787..9a674706320 100644 --- a/dts/bindings/interrupt-controller/snps,designware-intc.yaml +++ b/dts/bindings/interrupt-controller/snps,designware-intc.yaml @@ -3,12 +3,11 @@ title: DesignWare Interrupt Controller description: > This binding describes DesignWare Programmable Interrupt controller +compatible: "snps,designware-intc" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "snps,designware-intc" - reg: required: true diff --git a/dts/bindings/interrupt-controller/vexriscv,intc0.yaml b/dts/bindings/interrupt-controller/vexriscv,intc0.yaml index 7f090ea70b7..f50f25b6305 100644 --- a/dts/bindings/interrupt-controller/vexriscv,intc0.yaml +++ b/dts/bindings/interrupt-controller/vexriscv,intc0.yaml @@ -9,12 +9,11 @@ title: LiteX VexRiscV Interrupt Controller description: > This binding describes LiteX VexRiscV Interrupt Controller +compatible: "vexriscv,intc0" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "vexriscv,intc0" - reg: required: true diff --git a/dts/bindings/interrupt-controller/xtensa,intc.yaml b/dts/bindings/interrupt-controller/xtensa,intc.yaml index 1d23e768ebd..049fd8c7506 100644 --- a/dts/bindings/interrupt-controller/xtensa,intc.yaml +++ b/dts/bindings/interrupt-controller/xtensa,intc.yaml @@ -3,12 +3,11 @@ title: Xtensa Core Interrupt Controller description: > This binding describes Xtensa Core Interrupt controller +compatible: "xtensa,core-intc" + include: [interrupt-controller.yaml, base.yaml] properties: - compatible: - constraint: "xtensa,core-intc" - reg: required: true diff --git a/dts/bindings/ipm/st,stm32-ipcc-mailbox.yaml b/dts/bindings/ipm/st,stm32-ipcc-mailbox.yaml index 5c4a0f4dcc4..ebae9134713 100644 --- a/dts/bindings/ipm/st,stm32-ipcc-mailbox.yaml +++ b/dts/bindings/ipm/st,stm32-ipcc-mailbox.yaml @@ -9,11 +9,10 @@ title: STM32 MAILBOX description: > This binding gives a base representation of the STM32 IPCC +compatible: "st,stm32-ipcc-mailbox" + include: base.yaml properties: - compatible: - constraint: "st,stm32-ipcc-mailbox" - clocks: required: true diff --git a/dts/bindings/led/holtek,ht16k33.yaml b/dts/bindings/led/holtek,ht16k33.yaml index 2b9e98ba7d2..3cb05bb1bb2 100644 --- a/dts/bindings/led/holtek,ht16k33.yaml +++ b/dts/bindings/led/holtek,ht16k33.yaml @@ -2,14 +2,14 @@ title: Holtek HT16K33 LED Driver description: Holtek HT16K33 LEDs binding +compatible: "holtek,ht16k33" + include: i2c-device.yaml child: bus: ht16k33 properties: - compatible: - constraint: "holtek,ht16k33" "#address-cells": required: true const: 1 diff --git a/dts/bindings/led/nxp,pca9633.yaml b/dts/bindings/led/nxp,pca9633.yaml index c93f0ca76a3..955990a8adc 100644 --- a/dts/bindings/led/nxp,pca9633.yaml +++ b/dts/bindings/led/nxp,pca9633.yaml @@ -2,8 +2,6 @@ title: NXP PCA9633 LED Driver description: NXP PCA9633 LED binding -include: i2c-device.yaml +compatible: "nxp,pca9633" -properties: - compatible: - constraint: "nxp,pca9633" +include: i2c-device.yaml diff --git a/dts/bindings/led/pwm-leds.yaml b/dts/bindings/led/pwm-leds.yaml index 09e70e93f06..05c366b36ac 100644 --- a/dts/bindings/led/pwm-leds.yaml +++ b/dts/bindings/led/pwm-leds.yaml @@ -9,12 +9,7 @@ title: PWM LED description: > This is a representation of the PWM GPIO nodes -properties: - compatible: - constraint: "pwm-leds" - type: string-array - required: true - description: compatible strings +compatible: "pwm-leds" sub-node: properties: diff --git a/dts/bindings/led/ti,lp3943.yaml b/dts/bindings/led/ti,lp3943.yaml index 109439dfa4b..2dfbec18e40 100644 --- a/dts/bindings/led/ti,lp3943.yaml +++ b/dts/bindings/led/ti,lp3943.yaml @@ -2,8 +2,6 @@ title: TI LP3943 LED Driver description: TI LP3943 LED binding -include: i2c-device.yaml +compatible: "ti,lp3943" -properties: - compatible: - constraint: "ti,lp3943" +include: i2c-device.yaml diff --git a/dts/bindings/led/ti,lp5562.yaml b/dts/bindings/led/ti,lp5562.yaml index 07bb714180d..d77a07ab208 100644 --- a/dts/bindings/led/ti,lp5562.yaml +++ b/dts/bindings/led/ti,lp5562.yaml @@ -2,8 +2,6 @@ title: TI LP5562 LED Driver description: TI LP5562 LED binding -include: i2c-device.yaml +compatible: "ti,lp5562" -properties: - compatible: - constraint: "ti,lp5562" +include: i2c-device.yaml diff --git a/dts/bindings/led_strip/apa,apa-102.yaml b/dts/bindings/led_strip/apa,apa-102.yaml index 6aea4435d0a..0f91c95632c 100644 --- a/dts/bindings/led_strip/apa,apa-102.yaml +++ b/dts/bindings/led_strip/apa,apa-102.yaml @@ -2,8 +2,6 @@ title: APA102 SPI LED strip description: APA102 SPI LED strip binding -include: spi-device.yaml +compatible: "apa,apa102" -properties: - compatible: - constraint: "apa,apa102" +include: spi-device.yaml diff --git a/dts/bindings/led_strip/colorway,lpd8803.yaml b/dts/bindings/led_strip/colorway,lpd8803.yaml index ca2b2fda715..1063d427726 100644 --- a/dts/bindings/led_strip/colorway,lpd8803.yaml +++ b/dts/bindings/led_strip/colorway,lpd8803.yaml @@ -8,8 +8,6 @@ title: Colorway LPD8803 SPI LED strip description: Colorway LPD8803 SPI LED strip binding -include: spi-device.yaml +compatible: "colorway,lpd8803" -properties: - compatible: - constraint: "colorway,lpd8803" +include: spi-device.yaml diff --git a/dts/bindings/led_strip/colorway,lpd8806.yaml b/dts/bindings/led_strip/colorway,lpd8806.yaml index 2b3860bfa83..8cad4f6f015 100644 --- a/dts/bindings/led_strip/colorway,lpd8806.yaml +++ b/dts/bindings/led_strip/colorway,lpd8806.yaml @@ -8,8 +8,6 @@ title: Colorway LPD8806 SPI LED strip description: Colorway LPD8806 SPI LED strip binding -include: spi-device.yaml +compatible: "colorway,lpd8806" -properties: - compatible: - constraint: "colorway,lpd8806" +include: spi-device.yaml diff --git a/dts/bindings/led_strip/worldsemi,ws2812.yaml b/dts/bindings/led_strip/worldsemi,ws2812.yaml index f9409897cab..0714fb95516 100644 --- a/dts/bindings/led_strip/worldsemi,ws2812.yaml +++ b/dts/bindings/led_strip/worldsemi,ws2812.yaml @@ -8,8 +8,6 @@ title: Worldsemi WS2812 SPI LED strip description: Worldsemi WS2812 SPI LED strip binding -include: spi-device.yaml +compatible: "worldsemi,ws2812" -properties: - compatible: - constraint: "worldsemi,ws2812" +include: spi-device.yaml diff --git a/dts/bindings/memory-controllers/nxp,imx-semc.yaml b/dts/bindings/memory-controllers/nxp,imx-semc.yaml index 684922f6f96..3b55a12dce2 100644 --- a/dts/bindings/memory-controllers/nxp,imx-semc.yaml +++ b/dts/bindings/memory-controllers/nxp,imx-semc.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of the NXP smart external memory controller (SEMC) +compatible: "nxp,imx-semc" + include: base.yaml properties: - compatible: - constraint: "nxp,imx-semc" - reg: required: true diff --git a/dts/bindings/mhu/arm,mhu.yaml b/dts/bindings/mhu/arm,mhu.yaml index 0f06d1b32ac..76c678a6519 100644 --- a/dts/bindings/mhu/arm,mhu.yaml +++ b/dts/bindings/mhu/arm,mhu.yaml @@ -9,12 +9,11 @@ title: ARM MHU description: > This binding gives a base representation of the ARM MHU +compatible: "arm,mhu" + include: base.yaml properties: - compatible: - constraint: "arm,mhu" - reg: required: true diff --git a/dts/bindings/misc/skyworks,sky13351.yaml b/dts/bindings/misc/skyworks,sky13351.yaml index b3e72c58223..6518cfaf970 100644 --- a/dts/bindings/misc/skyworks,sky13351.yaml +++ b/dts/bindings/misc/skyworks,sky13351.yaml @@ -10,11 +10,11 @@ description: > This binding allows control of the output selectors of the SKY13351 SPDT switch. +compatible: "skyworks,sky13351" + include: base.yaml properties: - compatible: - constraint: "skyworks,sky13351" vctl1-gpios: type: phandle-array required: true diff --git a/dts/bindings/mmc/mmc-spi-slot.yaml b/dts/bindings/mmc/mmc-spi-slot.yaml index 2db77e9a7e0..0a0296fefcb 100644 --- a/dts/bindings/mmc/mmc-spi-slot.yaml +++ b/dts/bindings/mmc/mmc-spi-slot.yaml @@ -8,8 +8,6 @@ title: MMC/SD/SDIO slot connected via SPI description: MMC/SD/SDIO slot connected via SPI -include: spi-device.yaml +compatible: "zephyr,mmc-spi-slot" -properties: - compatible: - constraint: "zephyr,mmc-spi-slot" +include: spi-device.yaml diff --git a/dts/bindings/mmc/nxp,imx-usdhc.yaml b/dts/bindings/mmc/nxp,imx-usdhc.yaml index 2625fcd4536..902d061b120 100644 --- a/dts/bindings/mmc/nxp,imx-usdhc.yaml +++ b/dts/bindings/mmc/nxp,imx-usdhc.yaml @@ -9,12 +9,11 @@ title: NXP i.MXRT USDHC module description: > This binding specifies the NXP i.MXRT USDHC module. +compatible: "nxp,imx-usdhc" + include: mmc.yaml properties: - compatible: - constraint: "nxp,imx-usdhc" - clocks: required: true diff --git a/dts/bindings/mmu_mpu/arm,armv7m-mpu.yaml b/dts/bindings/mmu_mpu/arm,armv7m-mpu.yaml index 8b452cc85b4..115ad66f320 100644 --- a/dts/bindings/mmu_mpu/arm,armv7m-mpu.yaml +++ b/dts/bindings/mmu_mpu/arm,armv7m-mpu.yaml @@ -3,12 +3,11 @@ title: ARMv7-M Memory Protection Unit description: > This binding describes the ARMv7-M Memory Protection Unit (MPU). +compatible: "arm,armv7m-mpu" + include: base.yaml properties: - compatible: - constraint: "arm,armv7m-mpu" - reg: required: true diff --git a/dts/bindings/mmu_mpu/arm,armv8m-mpu.yaml b/dts/bindings/mmu_mpu/arm,armv8m-mpu.yaml index c69dcc6f205..3ee90dd6506 100644 --- a/dts/bindings/mmu_mpu/arm,armv8m-mpu.yaml +++ b/dts/bindings/mmu_mpu/arm,armv8m-mpu.yaml @@ -3,12 +3,11 @@ title: ARMv8-M Memory Protection Unit description: > This binding describes the ARMv8-M Memory Protection Unit (MPU). +compatible: "arm,armv8m-mpu" + include: base.yaml properties: - compatible: - constraint: "arm,armv8m-mpu" - reg: required: true diff --git a/dts/bindings/modem/ublox,sara-r4.yaml b/dts/bindings/modem/ublox,sara-r4.yaml index 42a25885924..0f3bcc9f05a 100644 --- a/dts/bindings/modem/ublox,sara-r4.yaml +++ b/dts/bindings/modem/ublox,sara-r4.yaml @@ -9,12 +9,11 @@ title: u-blox SARA-R4 modem description: > This is a representation of the u-blox SARA-R4 modem. +compatible: "ubloc,sara-r4" + include: uart-device.yaml properties: - compatible: - constraint: "ublox,sara-r4" - label: required: true diff --git a/dts/bindings/modem/wnc,m14a2a.yaml b/dts/bindings/modem/wnc,m14a2a.yaml index d52267fc7e7..fd406fc76cd 100644 --- a/dts/bindings/modem/wnc,m14a2a.yaml +++ b/dts/bindings/modem/wnc,m14a2a.yaml @@ -9,12 +9,11 @@ title: WNC-M14A2A LTE-M Modem description: > This is a representation of the WNC-M14A2A LTE-M modem. +compatible: "wnc,m14a2a" + include: uart-device.yaml properties: - compatible: - constraint: "wnc,m14a2a" - label: required: true diff --git a/dts/bindings/mtd/atmel,at24.yaml b/dts/bindings/mtd/atmel,at24.yaml index e54c4830151..f6840a46d2f 100644 --- a/dts/bindings/mtd/atmel,at24.yaml +++ b/dts/bindings/mtd/atmel,at24.yaml @@ -9,11 +9,11 @@ title: Virtual I2C slave eeprom description: > This binding gives a base representation of a generic I2C slave EEPROM +compatible: "atmel,at24" + include: i2c-device.yaml properties: - compatible: - constraint: "atmel,at24" size: type: int required: true diff --git a/dts/bindings/mtd/jedec,spi-nor.yaml b/dts/bindings/mtd/jedec,spi-nor.yaml index 01aaac2c189..ffa6df48db0 100644 --- a/dts/bindings/mtd/jedec,spi-nor.yaml +++ b/dts/bindings/mtd/jedec,spi-nor.yaml @@ -9,12 +9,11 @@ title: SPI NOR flash devices (JEDEC CFI interface) description: > Any SPI NOR flash that supports the JEDEC CFI interface. +compatible: "jedec,spi-nor" + include: spi-device.yaml properties: - compatible: - constraint: "jedec,spi-nor" - jedec-id: type: uint8-array required: true diff --git a/dts/bindings/mtd/partition.yaml b/dts/bindings/mtd/partition.yaml index 921311bfc6a..35708b15fb6 100644 --- a/dts/bindings/mtd/partition.yaml +++ b/dts/bindings/mtd/partition.yaml @@ -3,13 +3,9 @@ title: Flash Partitions description: > This binding gives a base FLASH partition description -properties: - compatible: - constraint: "fixed-partitions" - type: string-array - required: true - description: compatible strings +compatible: "fixed-partitions" +properties: "#address-cells": type: int required: false diff --git a/dts/bindings/mtd/soc-nv-flash.yaml b/dts/bindings/mtd/soc-nv-flash.yaml index 8defeda889f..8213a525cc9 100644 --- a/dts/bindings/mtd/soc-nv-flash.yaml +++ b/dts/bindings/mtd/soc-nv-flash.yaml @@ -3,12 +3,11 @@ title: Flash base node description description: > This binding gives a base FLASH description +compatible: "soc-nv-flash" + include: base.yaml properties: - compatible: - constraint: "soc-nv-flash" - label: required: false diff --git a/dts/bindings/mtd/winbond,w25q16.yaml b/dts/bindings/mtd/winbond,w25q16.yaml index be56bd81fc0..a4031c5cd11 100644 --- a/dts/bindings/mtd/winbond,w25q16.yaml +++ b/dts/bindings/mtd/winbond,w25q16.yaml @@ -9,8 +9,6 @@ title: SPI NOR FLASH description: > This binding gives a base representation of SPI slave NOR FLASH -include: spi-device.yaml +compatible: "winbond,w25q16" -properties: - compatible: - constraint: "winbond,w25q16" +include: spi-device.yaml diff --git a/dts/bindings/phy/st,stm32-usbphyc.yaml b/dts/bindings/phy/st,stm32-usbphyc.yaml index 9570b12c2ee..359d535b802 100644 --- a/dts/bindings/phy/st,stm32-usbphyc.yaml +++ b/dts/bindings/phy/st,stm32-usbphyc.yaml @@ -9,12 +9,11 @@ title: STM32 USB HS PHY description: > This binding gives a base representation of the STM32 USB HS PHY controller +compatible: "st,stm32-usbphyc" + include: phy-controller.yaml properties: - compatible: - constraint: "st,stm32-usbphyc" - reg: required: true diff --git a/dts/bindings/phy/usb-nop-xceiv.yaml b/dts/bindings/phy/usb-nop-xceiv.yaml index ff19acfbe7f..384122b077d 100644 --- a/dts/bindings/phy/usb-nop-xceiv.yaml +++ b/dts/bindings/phy/usb-nop-xceiv.yaml @@ -10,11 +10,10 @@ description: > This binding is to be used by all the usb transceivers which are built-in with USB IP +compatible: "usb-nop-xceiv" + include: phy-controller.yaml properties: - compatible: - constraint: "usb-nop-xceiv" - "#phy-cells": const: 0 diff --git a/dts/bindings/pinctrl/atmel,sam0-pinmux.yaml b/dts/bindings/pinctrl/atmel,sam0-pinmux.yaml index 247564c20f0..ff0e632f899 100644 --- a/dts/bindings/pinctrl/atmel,sam0-pinmux.yaml +++ b/dts/bindings/pinctrl/atmel,sam0-pinmux.yaml @@ -3,12 +3,11 @@ title: Atmel SAM0 PINMUX description: > This binding gives a base representation of the Atmel SAM0 PINMUX +compatible: "atmel,sam0-pinmux" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-pinmux" - reg: required: true diff --git a/dts/bindings/pinctrl/intel,s1000-pinmux.yaml b/dts/bindings/pinctrl/intel,s1000-pinmux.yaml index 44159d54ddd..5a54472657f 100644 --- a/dts/bindings/pinctrl/intel,s1000-pinmux.yaml +++ b/dts/bindings/pinctrl/intel,s1000-pinmux.yaml @@ -4,12 +4,11 @@ title: Intel S1000 Pinmux description: > This is a representation of the Intel S1000 SoC's pinmux node +compatible: "intel,s1000-pinmux" + include: base.yaml properties: - compatible: - constraint: "intel,s1000-pinmux" - reg: required: true diff --git a/dts/bindings/pinctrl/nxp,kinetis-pinmux.yaml b/dts/bindings/pinctrl/nxp,kinetis-pinmux.yaml index 39a5df6db70..cd0abee6aa5 100644 --- a/dts/bindings/pinctrl/nxp,kinetis-pinmux.yaml +++ b/dts/bindings/pinctrl/nxp,kinetis-pinmux.yaml @@ -3,12 +3,11 @@ title: Kinetis Pinmux description: > This is a representation of the Kinetis Pinmux node +compatible: "nxp,kinetis-pinmux" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-pinmux" - reg: required: true diff --git a/dts/bindings/pinctrl/openisa,rv32m1-pinmux.yaml b/dts/bindings/pinctrl/openisa,rv32m1-pinmux.yaml index 20c127b1cbd..f95f1295337 100644 --- a/dts/bindings/pinctrl/openisa,rv32m1-pinmux.yaml +++ b/dts/bindings/pinctrl/openisa,rv32m1-pinmux.yaml @@ -3,12 +3,11 @@ title: RV32M1 Pinmux description: > This is a representation of the RV32M1 Pinmux node +compatible: "openisa,rv32m1-pinmux" + include: base.yaml properties: - compatible: - constraint: "openisa,rv32m1-pinmux" - reg: required: true diff --git a/dts/bindings/pinctrl/st,stm32-pinmux.yaml b/dts/bindings/pinctrl/st,stm32-pinmux.yaml index b32263e53e0..44896055ecc 100644 --- a/dts/bindings/pinctrl/st,stm32-pinmux.yaml +++ b/dts/bindings/pinctrl/st,stm32-pinmux.yaml @@ -3,12 +3,11 @@ title: STM32 PINMUX description: > This binding gives a base representation of the STM32 PINMUX +compatible: "st,stm32-pinmux" + include: base.yaml properties: - compatible: - constraint: "st,stm32-pinmux" - reg: required: true diff --git a/dts/bindings/pinctrl/ti,cc13xx-cc26xx-pinmux.yaml b/dts/bindings/pinctrl/ti,cc13xx-cc26xx-pinmux.yaml index bec8fbd2b1f..6c05823dff3 100644 --- a/dts/bindings/pinctrl/ti,cc13xx-cc26xx-pinmux.yaml +++ b/dts/bindings/pinctrl/ti,cc13xx-cc26xx-pinmux.yaml @@ -9,12 +9,11 @@ title: TI SimpleLink CC13xx / CC26xx Pinmux description: > This is a representation of the TI SimpleLink CC13xx / CC26xx pinmux node +compatible: "ti,cc13xx-cc26xx-pinmux" + include: base.yaml properties: - compatible: - constraint: "ti,cc13xx-cc26xx-pinmux" - reg: required: true diff --git a/dts/bindings/pinctrl/ti,cc2650-pinmux.yaml b/dts/bindings/pinctrl/ti,cc2650-pinmux.yaml index 3818328b84c..48463f2ea2f 100644 --- a/dts/bindings/pinctrl/ti,cc2650-pinmux.yaml +++ b/dts/bindings/pinctrl/ti,cc2650-pinmux.yaml @@ -4,12 +4,11 @@ title: TI CC2650 Pinmux description: > This is a representation of the TI CC2650 pinmux node +compatible: "ti,cc2650-pinmux" + include: base.yaml properties: - compatible: - constraint: "ti,cc2650-pinmux" - reg: required: true diff --git a/dts/bindings/power/nordic,nrf-power.yaml b/dts/bindings/power/nordic,nrf-power.yaml index 6f6c9739587..5f3277d866c 100644 --- a/dts/bindings/power/nordic,nrf-power.yaml +++ b/dts/bindings/power/nordic,nrf-power.yaml @@ -9,12 +9,11 @@ title: Nordic nRF power control description: > This is a representation of the Nordic nRF power control node +compatible: "nordic,nrf-power" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-power" - reg: required: true diff --git a/dts/bindings/pwm/atmel,sam-pwm.yaml b/dts/bindings/pwm/atmel,sam-pwm.yaml index f748089c5ab..8b1fd362999 100644 --- a/dts/bindings/pwm/atmel,sam-pwm.yaml +++ b/dts/bindings/pwm/atmel,sam-pwm.yaml @@ -9,12 +9,11 @@ title: Atmel SAM PWM description: > This binding gives a base representation of the Atmel SAM PWM +compatible: "atmel,sam-pwm" + include: [pwm-controller.yaml, base.yaml] properties: - compatible: - constraint: "atmel,sam-pwm" - reg: required: true diff --git a/dts/bindings/pwm/fsl,imx7d-pwm.yaml b/dts/bindings/pwm/fsl,imx7d-pwm.yaml index 7d9eb7a4ee2..f27e90c4421 100644 --- a/dts/bindings/pwm/fsl,imx7d-pwm.yaml +++ b/dts/bindings/pwm/fsl,imx7d-pwm.yaml @@ -9,12 +9,11 @@ title: i.MX7D PWM description: > This binding gives a base representation of the i.MX7D PWM +compatible: "fsl,imx7d-pwm" + include: [pwm-controller.yaml, base.yaml] properties: - compatible: - constraint: "fsl,imx7d-pwm" - reg: required: true diff --git a/dts/bindings/pwm/nordic,nrf-pwm.yaml b/dts/bindings/pwm/nordic,nrf-pwm.yaml index 092095f9f3f..62da1604ce8 100644 --- a/dts/bindings/pwm/nordic,nrf-pwm.yaml +++ b/dts/bindings/pwm/nordic,nrf-pwm.yaml @@ -3,12 +3,11 @@ title: nRF PWM description: > This binding gives a base representation of the nRF PWM +compatible: "nordic,nrf-pwm" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-pwm" - reg: required: true diff --git a/dts/bindings/pwm/nordic,nrf-sw-pwm.yaml b/dts/bindings/pwm/nordic,nrf-sw-pwm.yaml index edfd853fa3e..c544e05c10d 100644 --- a/dts/bindings/pwm/nordic,nrf-sw-pwm.yaml +++ b/dts/bindings/pwm/nordic,nrf-sw-pwm.yaml @@ -3,12 +3,11 @@ title: nRF SW PWM description: > This binding gives a base representation of the nRFx S/W PWM +compatible: "nordic,nrf-sw-pwm" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-sw-pwm" - label: required: true diff --git a/dts/bindings/pwm/nxp,flexpwm.yaml b/dts/bindings/pwm/nxp,flexpwm.yaml index 2a2ceed454a..f165e1b1527 100644 --- a/dts/bindings/pwm/nxp,flexpwm.yaml +++ b/dts/bindings/pwm/nxp,flexpwm.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of the NXP eFLEX PWM module which is supposed to contain mcux-pwm submodules. +compatible: "nxp,flexpwm" + include: base.yaml properties: - compatible: - constraint: "nxp,flexpwm" - reg: required: true diff --git a/dts/bindings/pwm/nxp,imx-pwm.yaml b/dts/bindings/pwm/nxp,imx-pwm.yaml index 8ec8d335e5d..d4150802c98 100644 --- a/dts/bindings/pwm/nxp,imx-pwm.yaml +++ b/dts/bindings/pwm/nxp,imx-pwm.yaml @@ -9,12 +9,11 @@ title: MCUX PWM description: > This binding gives a base representation of the NXP MCUX PWM +compatible: "nxp,imx-pwm" + include: [pwm-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,imx-pwm" - index: type: int description: flexpwm submodule index @@ -31,4 +30,3 @@ properties: "#cells": - channel -... diff --git a/dts/bindings/pwm/nxp,kinetis-ftm.yaml b/dts/bindings/pwm/nxp,kinetis-ftm.yaml index 1bf106cf8f0..efdf5839542 100644 --- a/dts/bindings/pwm/nxp,kinetis-ftm.yaml +++ b/dts/bindings/pwm/nxp,kinetis-ftm.yaml @@ -9,12 +9,11 @@ title: Kinetis FTM description: > This binding gives a base representation of the Kinetis FTM +compatible: "nxp,kinetis-ftm" + include: [pwm-controller.yaml, base.yaml] properties: - compatible: - constraint: "nxp,kinetis-ftm" - reg: required: true diff --git a/dts/bindings/pwm/sifive,pwm0.yaml b/dts/bindings/pwm/sifive,pwm0.yaml index 0e81af49c95..60f5ee50724 100644 --- a/dts/bindings/pwm/sifive,pwm0.yaml +++ b/dts/bindings/pwm/sifive,pwm0.yaml @@ -9,12 +9,11 @@ title: SiFive PWM description: > This binding gives a base representation of the SiFive PWM +compatible: "sifive,pwm0" + include: [pwm-controller.yaml, base.yaml] properties: - compatible: - constraint: "sifive,pwm0" - clock-frequency: type: int required: false diff --git a/dts/bindings/pwm/st,stm32-pwm.yaml b/dts/bindings/pwm/st,stm32-pwm.yaml index e3f49feddc5..ff5f234201b 100644 --- a/dts/bindings/pwm/st,stm32-pwm.yaml +++ b/dts/bindings/pwm/st,stm32-pwm.yaml @@ -3,12 +3,11 @@ title: STM32 PWM description: > This binding gives a base representation of the STM32 PWM +compatible: "st,stm32-pwm" + include: [pwm-controller.yaml, base.yaml] properties: - compatible: - constraint: "st,stm32-pwm" - label: required: true diff --git a/dts/bindings/riscv/openisa,rv32m1-pcc.yaml b/dts/bindings/riscv/openisa,rv32m1-pcc.yaml index c2a8483ac84..089637d4cce 100644 --- a/dts/bindings/riscv/openisa,rv32m1-pcc.yaml +++ b/dts/bindings/riscv/openisa,rv32m1-pcc.yaml @@ -9,12 +9,11 @@ title: RV32M1 PCC (Peripheral Clock Control) description: > This is a representation of the RV32M1 PCC IP node +compatible: "openisa,rv32m1-pcc" + include: [clock-controller.yaml, base.yaml] properties: - compatible: - constraint: "openisa,rv32m1-pcc" - reg: required: true diff --git a/dts/bindings/rng/atmel,sam-trng.yaml b/dts/bindings/rng/atmel,sam-trng.yaml index f023b380121..d19e2aa1b81 100644 --- a/dts/bindings/rng/atmel,sam-trng.yaml +++ b/dts/bindings/rng/atmel,sam-trng.yaml @@ -9,12 +9,11 @@ title: Atmel SAM TRNG (True Random Number Generator) description: > This binding gives a base representation of the Atmel SAM RNG +compatible: "atmel,sam-trng" + include: base.yaml properties: - compatible: - constraint: "atmel,sam-trng" - reg: required: true diff --git a/dts/bindings/rng/nxp,kinetis-rnga.yaml b/dts/bindings/rng/nxp,kinetis-rnga.yaml index c4e45c86b9e..530be130b9e 100644 --- a/dts/bindings/rng/nxp,kinetis-rnga.yaml +++ b/dts/bindings/rng/nxp,kinetis-rnga.yaml @@ -9,12 +9,11 @@ title: Kinetis RNGA (Random Number Generator Accelerator) description: > This binding gives a base representation of the Kinetis RNGA +compatible: "nxp,kinetis-rnga" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-rnga" - reg: required: true diff --git a/dts/bindings/rng/nxp,kinetis-trng.yaml b/dts/bindings/rng/nxp,kinetis-trng.yaml index c46f332b3c8..039c7580ad2 100644 --- a/dts/bindings/rng/nxp,kinetis-trng.yaml +++ b/dts/bindings/rng/nxp,kinetis-trng.yaml @@ -9,12 +9,11 @@ title: Kinetis TRNG (True Random Number Generator) description: > This binding gives a base representation of the Kinetis RNGA +compatible: "nxp,kinetis-trng" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-trng" - reg: required: true diff --git a/dts/bindings/rng/ti,cc13xx-cc26xx-trng.yaml b/dts/bindings/rng/ti,cc13xx-cc26xx-trng.yaml index c4e08a828a9..22dd0ec6f84 100644 --- a/dts/bindings/rng/ti,cc13xx-cc26xx-trng.yaml +++ b/dts/bindings/rng/ti,cc13xx-cc26xx-trng.yaml @@ -9,12 +9,11 @@ title: TI SimpleLink CC13xx / CC26xx True Random Number Generator (TRNG) description: > This is a representation of the TI SimpleLink CC13xx / CC26xx TRNG node +compatible: "ti,cc13xx-cc26xx-trng" + include: base.yaml properties: - compatible: - constraint: "ti,cc13xx-cc26xx-trng" - reg: required: true diff --git a/dts/bindings/rtc/atmel,sam0-rtc.yaml b/dts/bindings/rtc/atmel,sam0-rtc.yaml index 69d592135d5..e206a5e886c 100644 --- a/dts/bindings/rtc/atmel,sam0-rtc.yaml +++ b/dts/bindings/rtc/atmel,sam0-rtc.yaml @@ -9,12 +9,11 @@ title: Atmel SAM0 RTC description: > This binding gives a base representation of the Atmel SAM0 RTC +compatible: "atmel,sam0-rtc" + include: rtc.yaml properties: - compatible: - constraint: "atmel,sam0-rtc" - reg: required: true diff --git a/dts/bindings/rtc/intel,qmsi-rtc.yaml b/dts/bindings/rtc/intel,qmsi-rtc.yaml index 2ed55f49899..253f1fd71c6 100644 --- a/dts/bindings/rtc/intel,qmsi-rtc.yaml +++ b/dts/bindings/rtc/intel,qmsi-rtc.yaml @@ -9,11 +9,10 @@ title: Intel QMSI RTC description: > This is a representation of the Intel QMSI RTC nodes +compatible: "intel,qmsi-rtc" + include: rtc.yaml properties: - compatible: - constraint: "intel,qmsi-rtc" - reg: required: true diff --git a/dts/bindings/rtc/nordic,nrf-rtc.yaml b/dts/bindings/rtc/nordic,nrf-rtc.yaml index 51437028354..b79e4470d27 100644 --- a/dts/bindings/rtc/nordic,nrf-rtc.yaml +++ b/dts/bindings/rtc/nordic,nrf-rtc.yaml @@ -9,19 +9,18 @@ title: Nordic nRF Real Time Counter description: > This is a representation of the Nordic nRF RTC node +compatible: "nordic,nrf-rtc" + include: rtc.yaml properties: - compatible: - constraint: "nordic,nrf-rtc" - reg: required: true - #If enabled, overflow different than full range (24 bits) is handled - #through PPI channel which ensures precise timing. If disabled then - #counter is cleared in the interrupt which results in accumulative - #error of counter period if top value is different than maximal. + # If enabled, overflow different than full range (24 bits) is handled + # through PPI channel which ensures precise timing. If disabled then + # counter is cleared in the interrupt which results in accumulative error + # of counter period if top value is different than maximal. ppi-wrap: type: boolean description: Enable wrapping with PPI diff --git a/dts/bindings/rtc/nxp,kinetis-rtc.yaml b/dts/bindings/rtc/nxp,kinetis-rtc.yaml index c0826348b5c..02d098faa16 100644 --- a/dts/bindings/rtc/nxp,kinetis-rtc.yaml +++ b/dts/bindings/rtc/nxp,kinetis-rtc.yaml @@ -9,11 +9,10 @@ title: Kinetis RTC description: > This binding gives a base representation of the Kinetis RTC +compatible: "nxp,kinetis-rtc" + include: rtc.yaml properties: - compatible: - constraint: "nxp,kinetis-rtc" - reg: required: true diff --git a/dts/bindings/rtc/silabs,gecko-rtcc.yaml b/dts/bindings/rtc/silabs,gecko-rtcc.yaml index 5eb5d35a47c..d885a9f2542 100644 --- a/dts/bindings/rtc/silabs,gecko-rtcc.yaml +++ b/dts/bindings/rtc/silabs,gecko-rtcc.yaml @@ -9,11 +9,10 @@ title: Silabs Gecko Real Time Counter description: > This is a representation of the Silabs Gecko RTCC node +compatible: "silabs,gecko-rtcc" + include: rtc.yaml properties: - compatible: - constraint: "silabs,gecko-rtcc" - reg: required: true diff --git a/dts/bindings/rtc/st,stm32-rtc.yaml b/dts/bindings/rtc/st,stm32-rtc.yaml index 8181f9afa10..674d53c9760 100644 --- a/dts/bindings/rtc/st,stm32-rtc.yaml +++ b/dts/bindings/rtc/st,stm32-rtc.yaml @@ -9,11 +9,10 @@ title: STM32 RTC description: > This binding gives a base representation of the STM32 RTC +compatible: "st,stm32-rtc" + include: rtc.yaml properties: - compatible: - constraint: "st,stm32-rtc" - reg: required: true diff --git a/dts/bindings/sensor/adi,adt7420.yaml b/dts/bindings/sensor/adi,adt7420.yaml index 05057f13be5..3c97d93e6e9 100644 --- a/dts/bindings/sensor/adi,adt7420.yaml +++ b/dts/bindings/sensor/adi,adt7420.yaml @@ -9,12 +9,11 @@ title: ADT7420 16-Bit Digital I2C Temperature Sensor description: > This is a representation of the ADT7420 16-Bit Digital I2C Temperature Sensor +compatible: "adi,adt7420" + include: i2c-device.yaml properties: - compatible: - constraint: "adi,adt7420" - int-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/adi,adxl362.yaml b/dts/bindings/sensor/adi,adxl362.yaml index 4514fb57f92..4d230535cd3 100644 --- a/dts/bindings/sensor/adi,adxl362.yaml +++ b/dts/bindings/sensor/adi,adxl362.yaml @@ -9,12 +9,11 @@ title: ADXL362 Three Axis SPI accelerometer description: > This is a representation of the ADXL362 Three Axis SPI accelerometer +compatible: "adi,adxl362" + include: spi-device.yaml properties: - compatible: - constraint: "adi,adxl362" - int1-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/adi,adxl372-i2c.yaml b/dts/bindings/sensor/adi,adxl372-i2c.yaml index 14bc2d44731..2a6ade12c14 100644 --- a/dts/bindings/sensor/adi,adxl372-i2c.yaml +++ b/dts/bindings/sensor/adi,adxl372-i2c.yaml @@ -9,12 +9,11 @@ title: ADXL372 Three Axis High-g I2C/SPI accelerometer description: > This is a representation of the ADXL372 Three Axis High-g I2C/SPI accelerometer +compatible: "adi,adxl372" + include: i2c-device.yaml properties: - compatible: - constraint: "adi,adxl372" - int1-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/adi,adxl372-spi.yaml b/dts/bindings/sensor/adi,adxl372-spi.yaml index e1f30f5bbed..e03e00ec393 100644 --- a/dts/bindings/sensor/adi,adxl372-spi.yaml +++ b/dts/bindings/sensor/adi,adxl372-spi.yaml @@ -11,12 +11,11 @@ description: > This is a representation of the ADXL372 Three Axis High-g accelerometer, accessed through SPI bus +compatible: "adi,adxl372" + include: spi-device.yaml properties: - compatible: - constraint: "adi,adxl372" - int1-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/ams,ccs811.yaml b/dts/bindings/sensor/ams,ccs811.yaml index de4264c7985..2b34549e88f 100644 --- a/dts/bindings/sensor/ams,ccs811.yaml +++ b/dts/bindings/sensor/ams,ccs811.yaml @@ -10,8 +10,6 @@ description: > This binding gives a base representation of CCS811 digital air quality sensor -include: i2c-device.yaml +compatible: "ams,ccs811" -properties: - compatible: - constraint: "ams,ccs811" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/ams,ens210.yaml b/dts/bindings/sensor/ams,ens210.yaml index 6c0e3510bbe..2433954cb65 100644 --- a/dts/bindings/sensor/ams,ens210.yaml +++ b/dts/bindings/sensor/ams,ens210.yaml @@ -10,8 +10,6 @@ description: > This binding gives a base representation of ens210 Relative Humidity and Temperature Sensor -include: i2c-device.yaml +compatible: "ams,ens210" -properties: - compatible: - constraint: "ams,ens210" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/ams,iaqcore.yaml b/dts/bindings/sensor/ams,iaqcore.yaml index dbbde12ffe8..fdd2ea51728 100644 --- a/dts/bindings/sensor/ams,iaqcore.yaml +++ b/dts/bindings/sensor/ams,iaqcore.yaml @@ -10,8 +10,6 @@ description: > This binding gives a base representation of iAQ-core indoor air quality sensor -include: i2c-device.yaml +compatible: "ams,iaqcore" -properties: - compatible: - constraint: "ams,iaqcore" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/avago,apds9960.yaml b/dts/bindings/sensor/avago,apds9960.yaml index 72549399e36..e8604582d43 100644 --- a/dts/bindings/sensor/avago,apds9960.yaml +++ b/dts/bindings/sensor/avago,apds9960.yaml @@ -9,12 +9,11 @@ title: APDS9960 Digital Proximity, Ambient Light, RGB and Gesture Sensor description: > This is a representation of the APDS9960 sensor +compatible: "avago,apds9960" + include: i2c-device.yaml properties: - compatible: - constraint: "avago,apds9960" - int-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/bosch,bme280-i2c.yaml b/dts/bindings/sensor/bosch,bme280-i2c.yaml index 9b5e0380241..72fa17244ff 100644 --- a/dts/bindings/sensor/bosch,bme280-i2c.yaml +++ b/dts/bindings/sensor/bosch,bme280-i2c.yaml @@ -9,8 +9,6 @@ title: BME280 Integrated environmental sensor description: > This is a representation of the BME280 Integrated environmental sensor -include: i2c-device.yaml +compatible: "bosch,bme280" -properties: - compatible: - constraint: "bosch,bme280" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/bosch,bme280-spi.yaml b/dts/bindings/sensor/bosch,bme280-spi.yaml index a70d1579325..20f3cd7bfec 100644 --- a/dts/bindings/sensor/bosch,bme280-spi.yaml +++ b/dts/bindings/sensor/bosch,bme280-spi.yaml @@ -9,8 +9,6 @@ title: BME280 Integrated environmental sensor description: > This is a representation of the BME280 Integrated environmental sensor -include: spi-device.yaml +compatible: "bosch,bme280" -properties: - compatible: - constraint: "bosch,bme280" +include: spi-device.yaml diff --git a/dts/bindings/sensor/bosch,bme680-i2c.yaml b/dts/bindings/sensor/bosch,bme680-i2c.yaml index 9e228dbf507..168c2a4b052 100644 --- a/dts/bindings/sensor/bosch,bme680-i2c.yaml +++ b/dts/bindings/sensor/bosch,bme680-i2c.yaml @@ -10,8 +10,6 @@ description: > The BME680 is an integrated environmental sensor that measures temperature, pressure, humidity and air quality -include: i2c-device.yaml +compatible: "bosch,bme680" -properties: - compatible: - constraint: "bosch,bme680" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/bosch,bmi160.yaml b/dts/bindings/sensor/bosch,bmi160.yaml index 43145467fe4..d4c4b60a3db 100644 --- a/dts/bindings/sensor/bosch,bmi160.yaml +++ b/dts/bindings/sensor/bosch,bmi160.yaml @@ -9,12 +9,11 @@ title: BMI160 Inertial measurement unit description: > This is a representation of the BMI160 Inertial measurement unit +compatible: "bosch,bmi160" + include: spi-device.yaml properties: - compatible: - constraint: "bosch,bmi160" - int-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/max,max30101.yaml b/dts/bindings/sensor/max,max30101.yaml index 65b250c14eb..197644fe08b 100644 --- a/dts/bindings/sensor/max,max30101.yaml +++ b/dts/bindings/sensor/max,max30101.yaml @@ -9,8 +9,6 @@ title: MAX30101 heart rate sensor description: > This is a representation of the MAX30101 heart rate sensor -include: i2c-device.yaml +compatible: "max,max30101" -properties: - compatible: - constraint: "max,max30101" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/meas,ms5837.yaml b/dts/bindings/sensor/meas,ms5837.yaml index c09ec4ac5e1..2b7b3e7f995 100644 --- a/dts/bindings/sensor/meas,ms5837.yaml +++ b/dts/bindings/sensor/meas,ms5837.yaml @@ -10,8 +10,6 @@ description: > This binding gives a base representation of the MS5837 digital pressure sensor -include: i2c-device.yaml +compatible: "meas,ms5837" -properties: - compatible: - constraint: "meas,ms5837" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/nordic,nrf-qdec.yaml b/dts/bindings/sensor/nordic,nrf-qdec.yaml index af9bfb235ba..f3c8005306d 100644 --- a/dts/bindings/sensor/nordic,nrf-qdec.yaml +++ b/dts/bindings/sensor/nordic,nrf-qdec.yaml @@ -9,12 +9,11 @@ title: Nordic nRF Family QDEC node description: > This is a representation of the Nordic nRF QDEC node +compatible: "nordic,nrf-qdec" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-qdec" - reg: required: true diff --git a/dts/bindings/sensor/nordic,nrf-temp.yaml b/dts/bindings/sensor/nordic,nrf-temp.yaml index 177eb8e4e52..18fc9d1d87c 100644 --- a/dts/bindings/sensor/nordic,nrf-temp.yaml +++ b/dts/bindings/sensor/nordic,nrf-temp.yaml @@ -9,12 +9,11 @@ title: Nordic nRF Family TEMP node description: > This is a representation of the Nordic nRF TEMP node +compatible: "nordic,nrf-temp" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-temp" - reg: required: true diff --git a/dts/bindings/sensor/nxp,fxas21002.yaml b/dts/bindings/sensor/nxp,fxas21002.yaml index ecd93823ce4..717106d8df4 100644 --- a/dts/bindings/sensor/nxp,fxas21002.yaml +++ b/dts/bindings/sensor/nxp,fxas21002.yaml @@ -9,12 +9,11 @@ title: FXAS21002 3-axis gyroscope description: > This is a representation of the FXAS21002 3-axis gyroscope sensor +compatible: "nxp,fxas21002" + include: i2c-device.yaml properties: - compatible: - constraint: "nxp,fxas21002" - int1-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/nxp,fxos8700.yaml b/dts/bindings/sensor/nxp,fxos8700.yaml index ee180239f16..ff8eb43bafe 100644 --- a/dts/bindings/sensor/nxp,fxos8700.yaml +++ b/dts/bindings/sensor/nxp,fxos8700.yaml @@ -10,12 +10,11 @@ description: > This is a representation of the FXOS8700 6-axis accelerometer/magnetometer sensor +compatible: "nxp,fxos8700" + include: i2c-device.yaml properties: - compatible: - constraint: "nxp,fxos8700" - reset-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/sensirion,sht3xd.yaml b/dts/bindings/sensor/sensirion,sht3xd.yaml index b8042a66e6a..62ca81daecc 100644 --- a/dts/bindings/sensor/sensirion,sht3xd.yaml +++ b/dts/bindings/sensor/sensirion,sht3xd.yaml @@ -10,11 +10,11 @@ description: > This binding gives a base representation of SHT3x-DIS humidity and temperature sensor +compatible: "sensirion,sht3xd" + include: i2c-device.yaml properties: - compatible: - constraint: "sensirion,sht3xd" alert-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/silabs,si7006.yaml b/dts/bindings/sensor/silabs,si7006.yaml index ff905ccd3ec..2f08374064a 100644 --- a/dts/bindings/sensor/silabs,si7006.yaml +++ b/dts/bindings/sensor/silabs,si7006.yaml @@ -9,8 +9,6 @@ title: Si7006 Temperature and Humidity sensor description: > This is a representation of Si7006 Temperature and Humidity sensor -include: i2c-device.yaml +compatible: "silabs,si7006" -properties: - compatible: - constraint: "silabs,si7006" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,hts221.yaml b/dts/bindings/sensor/st,hts221.yaml index 2130368f29e..6f6f7a90cae 100644 --- a/dts/bindings/sensor/st,hts221.yaml +++ b/dts/bindings/sensor/st,hts221.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of HTS221 humidity and temperature sensor +compatible: "st,hts221" + include: i2c-device.yaml properties: - compatible: - constraint: "st,hts221" - drdy-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/st,lis2dh-i2c.yaml b/dts/bindings/sensor/st,lis2dh-i2c.yaml index c29868f1341..93a6771710b 100644 --- a/dts/bindings/sensor/st,lis2dh-i2c.yaml +++ b/dts/bindings/sensor/st,lis2dh-i2c.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LIS2DH description: > This binding gives a base representation of LIS2DH 3-axis accelerometer +compatible: "st,lis2dh" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lis2dh" - irq-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/st,lis2dh-spi.yaml b/dts/bindings/sensor/st,lis2dh-spi.yaml index c1dbda9809a..b0a5a3aab38 100644 --- a/dts/bindings/sensor/st,lis2dh-spi.yaml +++ b/dts/bindings/sensor/st,lis2dh-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LIS2DH 3-axis accelerometer accessed through SPI bus +compatible: "st,lis2dh" + include: spi-device.yaml properties: - compatible: - constraint: "st,lis2dh" - irq-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/st,lis2ds12-i2c.yaml b/dts/bindings/sensor/st,lis2ds12-i2c.yaml index 7760334017c..b3de5b62b5b 100644 --- a/dts/bindings/sensor/st,lis2ds12-i2c.yaml +++ b/dts/bindings/sensor/st,lis2ds12-i2c.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LIS2DS12 description: > This binding gives a base representation of LIS2DS12 3-axis accelerometer +compatible: "st,lis2ds12" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lis2ds12" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lis2ds12-spi.yaml b/dts/bindings/sensor/st,lis2ds12-spi.yaml index 9c71283a115..26ce8f79bce 100644 --- a/dts/bindings/sensor/st,lis2ds12-spi.yaml +++ b/dts/bindings/sensor/st,lis2ds12-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LIS2DS12 3-axis accelerometer accessed through SPI bus +compatible: "st,lis2ds12" + include: spi-device.yaml properties: - compatible: - constraint: "st,lis2ds12" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lis2dw12-i2c.yaml b/dts/bindings/sensor/st,lis2dw12-i2c.yaml index 698890a36a7..54fea1a4f85 100644 --- a/dts/bindings/sensor/st,lis2dw12-i2c.yaml +++ b/dts/bindings/sensor/st,lis2dw12-i2c.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LIS2DW12 description: > This binding gives a base representation of LIS2DW12 3-axis accelerometer +compatible: "st,lis2dw12" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lis2dw12" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lis2dw12-spi.yaml b/dts/bindings/sensor/st,lis2dw12-spi.yaml index 767884b4f0e..09dd081526c 100644 --- a/dts/bindings/sensor/st,lis2dw12-spi.yaml +++ b/dts/bindings/sensor/st,lis2dw12-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LIS2DW12 3-axis accelerometer accessed through SPI bus +compatible: "st,lis2dw12" + include: spi-device.yaml properties: - compatible: - constraint: "st,lis2dw12" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lis2mdl-magn.yaml b/dts/bindings/sensor/st,lis2mdl-magn.yaml index e7ac76fa9ee..14d6b703ebb 100644 --- a/dts/bindings/sensor/st,lis2mdl-magn.yaml +++ b/dts/bindings/sensor/st,lis2mdl-magn.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LIS2MDL description: > This binding gives a base representation of LIS2MDL magnetometer +compatible: "st,lis2mdl-magn" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lis2mdl-magn" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lis3dh-i2c.yaml b/dts/bindings/sensor/st,lis3dh-i2c.yaml index 063a808e43e..4eaf2a21625 100644 --- a/dts/bindings/sensor/st,lis3dh-i2c.yaml +++ b/dts/bindings/sensor/st,lis3dh-i2c.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LIS3DH description: > This binding gives a base representation of LIS3DH 3-axis accelerometer +compatible: "st,lis3dh" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lis3dh" - irq-gpios: required: false type: phandle-array diff --git a/dts/bindings/sensor/st,lis3mdl-magn.yaml b/dts/bindings/sensor/st,lis3mdl-magn.yaml index 442be5f503a..fcd28ae2272 100644 --- a/dts/bindings/sensor/st,lis3mdl-magn.yaml +++ b/dts/bindings/sensor/st,lis3mdl-magn.yaml @@ -9,8 +9,6 @@ title: STMicroelectronics MEMS sensors LIS3MDL description: > This binding gives a base representation of LIS3MDL magnetometer -include: i2c-device.yaml +compatible: "st,lis3mdl-magn" -properties: - compatible: - constraint: "st,lis3mdl-magn" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,lps22hb-press.yaml b/dts/bindings/sensor/st,lps22hb-press.yaml index 998ee072a26..cfd30e3022d 100644 --- a/dts/bindings/sensor/st,lps22hb-press.yaml +++ b/dts/bindings/sensor/st,lps22hb-press.yaml @@ -9,8 +9,6 @@ title: STMicroelectronics MEMS sensors LPS22HB description: > This binding gives a base representation of LPS22HB pressure sensor -include: i2c-device.yaml +compatible: "st,lps22hb-press" -properties: - compatible: - constraint: "st,lps22hb-press" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,lps22hh-i2c.yaml b/dts/bindings/sensor/st,lps22hh-i2c.yaml index bcdad833985..bfd58eb582c 100644 --- a/dts/bindings/sensor/st,lps22hh-i2c.yaml +++ b/dts/bindings/sensor/st,lps22hh-i2c.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LPS22HH pressure and temperature sensor connected to I2C bus +compatible: "st,lps22hh" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lps22hh" - drdy-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/st,lps22hh-spi.yaml b/dts/bindings/sensor/st,lps22hh-spi.yaml index 3065eaa3565..29f7f1e154d 100644 --- a/dts/bindings/sensor/st,lps22hh-spi.yaml +++ b/dts/bindings/sensor/st,lps22hh-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LPS22HH pressure and temperature sensor connected to SPI bus +compatible: "st,lps22hh" + include: spi-device.yaml properties: - compatible: - constraint: "st,lps22hh" - drdy-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/st,lps25hb-press.yaml b/dts/bindings/sensor/st,lps25hb-press.yaml index 9bf84134633..5d590797110 100644 --- a/dts/bindings/sensor/st,lps25hb-press.yaml +++ b/dts/bindings/sensor/st,lps25hb-press.yaml @@ -9,8 +9,6 @@ title: STMicroelectronics MEMS sensors LPS25HB description: > This binding gives a base representation of LPS25HB pressure sensor -include: i2c-device.yaml +compatible: "st,lps25hb-press" -properties: - compatible: - constraint: "st,lps25hb-press" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,lsm303dlhc-accel.yaml b/dts/bindings/sensor/st,lsm303dlhc-accel.yaml index ea83c8e9691..74de6d84a3e 100644 --- a/dts/bindings/sensor/st,lsm303dlhc-accel.yaml +++ b/dts/bindings/sensor/st,lsm303dlhc-accel.yaml @@ -9,8 +9,6 @@ title: STMicroelectronics MEMS sensors LSM303DLHC description: > This binding gives a base representation of LSM303DLHC acceleration sensor -include: i2c-device.yaml +compatible: "st,lsm303dlhc-accel" -properties: - compatible: - constraint: "st,lsm303dlhc-accel" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,lsm303dlhc-magn.yaml b/dts/bindings/sensor/st,lsm303dlhc-magn.yaml index 5acfc2fcd95..4a9c064733e 100644 --- a/dts/bindings/sensor/st,lsm303dlhc-magn.yaml +++ b/dts/bindings/sensor/st,lsm303dlhc-magn.yaml @@ -9,8 +9,6 @@ title: STMicroelectronics MEMS sensors LSM303DLHC description: > This binding gives a base representation of LSM303DLHC magnetometer sensor -include: i2c-device.yaml +compatible: "st,lsm303dlhc-magn" -properties: - compatible: - constraint: "st,lsm303dlhc-magn" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,lsm6ds0.yaml b/dts/bindings/sensor/st,lsm6ds0.yaml index 1e310adeb3a..09cab5ad83b 100644 --- a/dts/bindings/sensor/st,lsm6ds0.yaml +++ b/dts/bindings/sensor/st,lsm6ds0.yaml @@ -10,8 +10,6 @@ description: > This binding gives a base representation of LSM6DS0 6-axis accelerometer and gyrometer -include: i2c-device.yaml +compatible: "st,lsm6ds0" -properties: - compatible: - constraint: "st,lsm6ds0" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/st,lsm6dsl-i2c.yaml b/dts/bindings/sensor/st,lsm6dsl-i2c.yaml index 3f9303ad192..0bfb3b8d928 100644 --- a/dts/bindings/sensor/st,lsm6dsl-i2c.yaml +++ b/dts/bindings/sensor/st,lsm6dsl-i2c.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LSM6DSL 6-axis accelerometer and gyrometer +compatible: "st,lsm6dsl" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lsm6dsl" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lsm6dsl-spi.yaml b/dts/bindings/sensor/st,lsm6dsl-spi.yaml index 1fc532e7bb5..163c2663528 100644 --- a/dts/bindings/sensor/st,lsm6dsl-spi.yaml +++ b/dts/bindings/sensor/st,lsm6dsl-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LSM6DSL 6-axis accelerometer and gyrometer accessed through SPI bus +compatible: "st,lsm6dsl" + include: spi-device.yaml properties: - compatible: - constraint: "st,lsm6dsl" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lsm6dso-i2c.yaml b/dts/bindings/sensor/st,lsm6dso-i2c.yaml index fd7df3504e5..746fb45185b 100644 --- a/dts/bindings/sensor/st,lsm6dso-i2c.yaml +++ b/dts/bindings/sensor/st,lsm6dso-i2c.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LSM6DSO 6-axis IMU sensor accessed through I2C bus +compatible: "st,lsm6dso" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lsm6dso" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lsm6dso-spi.yaml b/dts/bindings/sensor/st,lsm6dso-spi.yaml index 4667451527f..91c34b8dc62 100644 --- a/dts/bindings/sensor/st,lsm6dso-spi.yaml +++ b/dts/bindings/sensor/st,lsm6dso-spi.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of LSM6DSO 6-axis IMU sensor accessed through SPI bus +compatible: "st,lsm6dso" + include: spi-device.yaml properties: - compatible: - constraint: "st,lsm6dso" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lsm9ds0-gyro-i2c.yaml b/dts/bindings/sensor/st,lsm9ds0-gyro-i2c.yaml index 0a1705f6fd5..14b83808ff4 100644 --- a/dts/bindings/sensor/st,lsm9ds0-gyro-i2c.yaml +++ b/dts/bindings/sensor/st,lsm9ds0-gyro-i2c.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LSM9DS0-GYRO description: > This binding gives a base representation of LSM9DS0 3-axis gyro +compatible: "st,lsm9ds0-gyro" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lsm9ds0-gyro" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,lsm9ds0-mfd-i2c.yaml b/dts/bindings/sensor/st,lsm9ds0-mfd-i2c.yaml index ac329a29176..d95d1734628 100644 --- a/dts/bindings/sensor/st,lsm9ds0-mfd-i2c.yaml +++ b/dts/bindings/sensor/st,lsm9ds0-mfd-i2c.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics MEMS sensors LSM9DS0-MFD description: > This binding gives a base representation of LSM9DS0 3-axis accelerometer + magnetometer +compatible: "st,lsm9ds0-mfd" + include: i2c-device.yaml properties: - compatible: - constraint: "st,lsm9ds0-mfd" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/sensor/st,stts751-i2c.yaml b/dts/bindings/sensor/st,stts751-i2c.yaml index f2e60d8f60f..42aeb74ff93 100644 --- a/dts/bindings/sensor/st,stts751-i2c.yaml +++ b/dts/bindings/sensor/st,stts751-i2c.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of STTS751 temperature sensor connected to I2C bus +compatible: "st,stts751" + include: i2c-device.yaml properties: - compatible: - constraint: "st,stts751" - drdy-gpios: type: phandle-array required: false diff --git a/dts/bindings/sensor/st,vl53l0x.yaml b/dts/bindings/sensor/st,vl53l0x.yaml index 463ae819746..62b4c10d1c1 100644 --- a/dts/bindings/sensor/st,vl53l0x.yaml +++ b/dts/bindings/sensor/st,vl53l0x.yaml @@ -9,8 +9,6 @@ title: STMicroelectronics MEMS sensors VL53L0X description: > This binding gives a base representation of VL53L0X Time Of Flight sensor -include: i2c-device.yaml +compatible: "st,vl53l0x" -properties: - compatible: - constraint: "st,vl53l0x" +include: i2c-device.yaml diff --git a/dts/bindings/sensor/ti,hdc.yaml b/dts/bindings/sensor/ti,hdc.yaml index a81e24e4192..21b11da3fbf 100644 --- a/dts/bindings/sensor/ti,hdc.yaml +++ b/dts/bindings/sensor/ti,hdc.yaml @@ -9,12 +9,11 @@ title: Texas Instruments Temperature and Humidity Sensor description: > This is a representation of the TI Temperature and Humidity sensor (e.g. HDC1008) +compatible: "ti,hdc" + include: i2c-device.yaml properties: - compatible: - constraint: "ti,hdc" - drdy-gpios: type: phandle-array required: false diff --git a/dts/bindings/serial/altera,jtag-uart.yaml b/dts/bindings/serial/altera,jtag-uart.yaml index 36b8b4cc567..128abd21239 100644 --- a/dts/bindings/serial/altera,jtag-uart.yaml +++ b/dts/bindings/serial/altera,jtag-uart.yaml @@ -3,11 +3,10 @@ title: Altera JTAG UART description: > This binding gives a base representation of the Altera Jtag UART +compatible: "altera,jtag-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "altera,jtag-uart" - reg: required: true diff --git a/dts/bindings/serial/arm,cmsdk-uart.yaml b/dts/bindings/serial/arm,cmsdk-uart.yaml index 1bfb4aaf5f4..b69fad2a6f1 100644 --- a/dts/bindings/serial/arm,cmsdk-uart.yaml +++ b/dts/bindings/serial/arm,cmsdk-uart.yaml @@ -3,12 +3,11 @@ title: ARM CMSDK UART description: > This binding gives a base representation of the ARM CMSDK UART +compatible: "arm,cmsdk-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "arm,cmsdk-uart" - reg: required: true diff --git a/dts/bindings/serial/arm,pl011.yaml b/dts/bindings/serial/arm,pl011.yaml index e6def158e8c..7af20ad034e 100644 --- a/dts/bindings/serial/arm,pl011.yaml +++ b/dts/bindings/serial/arm,pl011.yaml @@ -3,12 +3,11 @@ title: ARM PL011 UART description: > This binding gives a base representation of the ARM PL011 UART +compatible: "arm,pl011" + include: uart-controller.yaml properties: - compatible: - constraint: "arm,pl011" - reg: required: true diff --git a/dts/bindings/serial/atmel,sam-uart.yaml b/dts/bindings/serial/atmel,sam-uart.yaml index 66223c26572..386f6c98600 100644 --- a/dts/bindings/serial/atmel,sam-uart.yaml +++ b/dts/bindings/serial/atmel,sam-uart.yaml @@ -3,12 +3,11 @@ title: SAM Family UART description: > This binding gives a base representation of the SAM UART +compatible: "atmel,sam-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "atmel,sam-uart" - reg: required: true diff --git a/dts/bindings/serial/atmel,sam-usart.yaml b/dts/bindings/serial/atmel,sam-usart.yaml index f74900555e5..ec493460988 100644 --- a/dts/bindings/serial/atmel,sam-usart.yaml +++ b/dts/bindings/serial/atmel,sam-usart.yaml @@ -3,12 +3,11 @@ title: Atmel SAM Family USART description: > This binding gives a base representation of the Atmel SAM USART +compatible: "atmel,sam-usart" + include: uart-controller.yaml properties: - compatible: - constraint: "atmel,sam-usart" - reg: required: true diff --git a/dts/bindings/serial/atmel,sam0-uart.yaml b/dts/bindings/serial/atmel,sam0-uart.yaml index 7d7dcc544f2..1d54c5cba62 100644 --- a/dts/bindings/serial/atmel,sam0-uart.yaml +++ b/dts/bindings/serial/atmel,sam0-uart.yaml @@ -3,12 +3,11 @@ title: Atmel SAM0 SERCOM UART driver description: > This binding gives a base representation of the Atmel SAM0 SERCOM UART driver +compatible: "atmel,sam0-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "atmel,sam0-uart" - reg: required: true diff --git a/dts/bindings/serial/cypress,psoc6-uart.yaml b/dts/bindings/serial/cypress,psoc6-uart.yaml index 80df3bb80f9..98f955d8ed6 100644 --- a/dts/bindings/serial/cypress,psoc6-uart.yaml +++ b/dts/bindings/serial/cypress,psoc6-uart.yaml @@ -9,12 +9,11 @@ title: CYPRESS UART description: > This binding gives a base representation of the Cypress UART +compatible: "cypress,psoc6-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "cypress,psoc6-uart" - reg: required: true diff --git a/dts/bindings/serial/intel,qmsi-uart.yaml b/dts/bindings/serial/intel,qmsi-uart.yaml index 5cf95c7bb9e..0bb964c9d67 100644 --- a/dts/bindings/serial/intel,qmsi-uart.yaml +++ b/dts/bindings/serial/intel,qmsi-uart.yaml @@ -9,12 +9,11 @@ title: Intel QMSI Uart description: > This binding gives a base representation of the INTEL QMSI UART +compatible: "intel,qmsi-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "intel,qmsi-uart" - reg: required: true diff --git a/dts/bindings/serial/litex,uart0.yaml b/dts/bindings/serial/litex,uart0.yaml index f4fd272df1e..600160686dc 100644 --- a/dts/bindings/serial/litex,uart0.yaml +++ b/dts/bindings/serial/litex,uart0.yaml @@ -9,12 +9,11 @@ title: LiteX UART description: > This binding gives a base representation of the LiteX UART +compatible: "litex,uart0" + include: uart-controller.yaml properties: - compatible: - constraint: "litex,uart0" - reg: required: true diff --git a/dts/bindings/serial/microsemi,coreuart.yaml b/dts/bindings/serial/microsemi,coreuart.yaml index 7bab818e555..dc254a861e7 100644 --- a/dts/bindings/serial/microsemi,coreuart.yaml +++ b/dts/bindings/serial/microsemi,coreuart.yaml @@ -9,11 +9,10 @@ title: SIFIVE UART description: > This binding gives a base representation of the SIFIVE UART +compatible: "microsemi,coreuart" + include: uart-controller.yaml properties: - compatible: - constraint: "microsemi,coreuart" - reg: required: true diff --git a/dts/bindings/serial/nordic,nrf-uart.yaml b/dts/bindings/serial/nordic,nrf-uart.yaml index 58e87ce150c..bf9a7b951ac 100644 --- a/dts/bindings/serial/nordic,nrf-uart.yaml +++ b/dts/bindings/serial/nordic,nrf-uart.yaml @@ -3,12 +3,11 @@ title: Nordic UART description: > This binding gives a base representation of the Nordic UART +compatible: "nordic,nrf-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "nordic,nrf-uart" - reg: required: true diff --git a/dts/bindings/serial/nordic,nrf-uarte.yaml b/dts/bindings/serial/nordic,nrf-uarte.yaml index ec7220e2cbc..8588521a056 100644 --- a/dts/bindings/serial/nordic,nrf-uarte.yaml +++ b/dts/bindings/serial/nordic,nrf-uarte.yaml @@ -3,12 +3,11 @@ title: Nordic UARTE description: > This binding gives a base representation of the Nordic UARTE +compatible: "nordic,nrf-uarte" + include: uart-controller.yaml properties: - compatible: - constraint: "nordic,nrf-uarte" - reg: required: true diff --git a/dts/bindings/serial/ns16550.yaml b/dts/bindings/serial/ns16550.yaml index 82bc701f558..ddb77b2ce9b 100644 --- a/dts/bindings/serial/ns16550.yaml +++ b/dts/bindings/serial/ns16550.yaml @@ -3,12 +3,11 @@ title: ns16550 description: > This binding gives a base representation of the ns16550 UART +compatible: "ns16550" + include: uart-controller.yaml properties: - compatible: - constraint: "ns16550" - reg: required: true diff --git a/dts/bindings/serial/nxp,imx-uart.yaml b/dts/bindings/serial/nxp,imx-uart.yaml index f43f1a01934..9b83ee89218 100644 --- a/dts/bindings/serial/nxp,imx-uart.yaml +++ b/dts/bindings/serial/nxp,imx-uart.yaml @@ -9,12 +9,11 @@ title: iMX Uart description: > This binding gives a base representation of the iMX UART +compatible: "nxp,imx-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "nxp,imx-uart" - reg: required: true diff --git a/dts/bindings/serial/nxp,kinetis-lpsci.yaml b/dts/bindings/serial/nxp,kinetis-lpsci.yaml index 309a6e801f8..44ba644e75e 100644 --- a/dts/bindings/serial/nxp,kinetis-lpsci.yaml +++ b/dts/bindings/serial/nxp,kinetis-lpsci.yaml @@ -3,12 +3,11 @@ title: Kinetis LPSCI UART description: > This binding gives a base representation of the LPSCI UART +compatible: "nxp,kinetis-lpsci" + include: uart-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-lpsci" - reg: required: true diff --git a/dts/bindings/serial/nxp,kinetis-lpuart.yaml b/dts/bindings/serial/nxp,kinetis-lpuart.yaml index 89fb6f3c933..e45354f3d7f 100644 --- a/dts/bindings/serial/nxp,kinetis-lpuart.yaml +++ b/dts/bindings/serial/nxp,kinetis-lpuart.yaml @@ -3,12 +3,11 @@ title: Kinetis LPUART description: > This binding gives a base representation of the Kinetis LPUART +compatible: "nxp,kinetis-lpuart" + include: uart-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-lpuart" - reg: required: true diff --git a/dts/bindings/serial/nxp,kinetis-uart.yaml b/dts/bindings/serial/nxp,kinetis-uart.yaml index 2b5043c0dfb..d8cdf4796ee 100644 --- a/dts/bindings/serial/nxp,kinetis-uart.yaml +++ b/dts/bindings/serial/nxp,kinetis-uart.yaml @@ -3,12 +3,11 @@ title: Kinetis UART description: > This binding gives a base representation of the Kinetis UART +compatible: "nxp,kinetis-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-uart" - reg: required: true diff --git a/dts/bindings/serial/nxp,lpc-usart.yaml b/dts/bindings/serial/nxp,lpc-usart.yaml index f0ec35bcbb1..88f2f5db9bf 100644 --- a/dts/bindings/serial/nxp,lpc-usart.yaml +++ b/dts/bindings/serial/nxp,lpc-usart.yaml @@ -9,12 +9,11 @@ title: LPC USART description: > This binding gives a base representation of the LPC USART +compatible: "nxp,lpc-usart" + include: uart-controller.yaml properties: - compatible: - constraint: "nxp,lpc-usart" - reg: required: true diff --git a/dts/bindings/serial/openisa,rv32m1-lpuart.yaml b/dts/bindings/serial/openisa,rv32m1-lpuart.yaml index eedcceeb8a5..9b14ee700fe 100644 --- a/dts/bindings/serial/openisa,rv32m1-lpuart.yaml +++ b/dts/bindings/serial/openisa,rv32m1-lpuart.yaml @@ -3,12 +3,11 @@ title: OpenISA LPUART description: > This binding gives a base representation of the OpenISA LPUART +compatible: "openisa,rv32m1-lpuart" + include: uart-controller.yaml properties: - compatible: - constraint: "openisa,rv32m1-lpuart" - reg: required: true diff --git a/dts/bindings/serial/sifive,uart0.yaml b/dts/bindings/serial/sifive,uart0.yaml index b3fe38d0d8d..10f556b8a13 100644 --- a/dts/bindings/serial/sifive,uart0.yaml +++ b/dts/bindings/serial/sifive,uart0.yaml @@ -9,12 +9,11 @@ title: SIFIVE UART description: > This binding gives a base representation of the SIFIVE UART +compatible: "sifive,uart0" + include: uart-controller.yaml properties: - compatible: - constraint: "sifive,uart0" - reg: required: true diff --git a/dts/bindings/serial/silabs,gecko-leuart.yaml b/dts/bindings/serial/silabs,gecko-leuart.yaml index 3c05585525e..f31f0d79f2a 100644 --- a/dts/bindings/serial/silabs,gecko-leuart.yaml +++ b/dts/bindings/serial/silabs,gecko-leuart.yaml @@ -3,12 +3,11 @@ title: GECKO LEUART description: > This binding gives a base representation of the Gecko LEUART +compatible: "silabs,gecko-leuart" + include: uart-controller.yaml properties: - compatible: - constraint: "silabs,gecko-leuart" - reg: required: true diff --git a/dts/bindings/serial/silabs,gecko-uart.yaml b/dts/bindings/serial/silabs,gecko-uart.yaml index 7a6455af224..c131b778c0b 100644 --- a/dts/bindings/serial/silabs,gecko-uart.yaml +++ b/dts/bindings/serial/silabs,gecko-uart.yaml @@ -3,12 +3,11 @@ title: GECKO UART description: > This binding gives a base representation of the GECKO UART +compatible: "silabs,gecko-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "silabs,gecko-uart" - reg: required: true diff --git a/dts/bindings/serial/silabs,gecko-usart.yaml b/dts/bindings/serial/silabs,gecko-usart.yaml index be59d03966f..cad54dbfc79 100644 --- a/dts/bindings/serial/silabs,gecko-usart.yaml +++ b/dts/bindings/serial/silabs,gecko-usart.yaml @@ -3,12 +3,11 @@ title: GECKO USART description: > This binding gives a base representation of the Gecko USART +compatible: "silabs,gecko-usart" + include: uart-controller.yaml properties: - compatible: - constraint: "silabs,gecko-usart" - reg: required: true diff --git a/dts/bindings/serial/snps,nsim-uart.yaml b/dts/bindings/serial/snps,nsim-uart.yaml index 507b9674da6..d3b6133971e 100644 --- a/dts/bindings/serial/snps,nsim-uart.yaml +++ b/dts/bindings/serial/snps,nsim-uart.yaml @@ -9,11 +9,10 @@ title: Synopsys ARC nSIM UART description: > This binding gives a base representation of the Synopsys ARC nSIM UART +compatible: "snps,nsim-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "snps,nsim-uart" - reg: required: true diff --git a/dts/bindings/serial/st,stm32-lpuart.yaml b/dts/bindings/serial/st,stm32-lpuart.yaml index 227f66aaadc..e27bd775dd3 100644 --- a/dts/bindings/serial/st,stm32-lpuart.yaml +++ b/dts/bindings/serial/st,stm32-lpuart.yaml @@ -3,12 +3,11 @@ title: STM32 LPUART description: > This binding gives a base representation of the STM32 LPUART +compatible: "st,stm32-lpuart" + include: uart-controller.yaml properties: - compatible: - constraint: "st,stm32-lpuart" - reg: required: true diff --git a/dts/bindings/serial/st,stm32-uart.yaml b/dts/bindings/serial/st,stm32-uart.yaml index 9dee9406649..68c3f5d9fc8 100644 --- a/dts/bindings/serial/st,stm32-uart.yaml +++ b/dts/bindings/serial/st,stm32-uart.yaml @@ -3,12 +3,11 @@ title: STM32 UART description: > This binding gives a base representation of the STM32 UART +compatible: "st,stm32-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "st,stm32-uart" - reg: required: true diff --git a/dts/bindings/serial/st,stm32-usart.yaml b/dts/bindings/serial/st,stm32-usart.yaml index 7394f9f708f..4e0f596fac4 100644 --- a/dts/bindings/serial/st,stm32-usart.yaml +++ b/dts/bindings/serial/st,stm32-usart.yaml @@ -3,12 +3,11 @@ title: STM32 USART description: > This binding gives a base representation of the STM32 USART +compatible: "st,stm32-usart" + include: uart-controller.yaml properties: - compatible: - constraint: "st,stm32-usart" - reg: required: true diff --git a/dts/bindings/serial/ti,cc13xx-cc26xx-uart.yaml b/dts/bindings/serial/ti,cc13xx-cc26xx-uart.yaml index b2737ce66be..3f9953913b5 100644 --- a/dts/bindings/serial/ti,cc13xx-cc26xx-uart.yaml +++ b/dts/bindings/serial/ti,cc13xx-cc26xx-uart.yaml @@ -9,12 +9,11 @@ title: TI SimpleLink CC13xx / CC26xx UART description: > This is a representation of the TI SimpleLink CC13xx / CC26xx UART node +compatible: "ti,cc13xx-cc26xx-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "ti,cc13xx-cc26xx-uart" - reg: required: true diff --git a/dts/bindings/serial/ti,cc32xx-uart.yaml b/dts/bindings/serial/ti,cc32xx-uart.yaml index 37a6a04dcbb..5173168be74 100644 --- a/dts/bindings/serial/ti,cc32xx-uart.yaml +++ b/dts/bindings/serial/ti,cc32xx-uart.yaml @@ -3,12 +3,11 @@ title: TI CC32XX Uart description: > This binding gives a base representation of the TI CC32XX UART +compatible: "ti,cc32xx-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "ti,cc32xx-uart" - reg: required: true diff --git a/dts/bindings/serial/ti,msp432p4xx-uart.yaml b/dts/bindings/serial/ti,msp432p4xx-uart.yaml index d8db741ce7a..a2b51ab07cf 100644 --- a/dts/bindings/serial/ti,msp432p4xx-uart.yaml +++ b/dts/bindings/serial/ti,msp432p4xx-uart.yaml @@ -3,12 +3,11 @@ title: TI MSP432P4XX UART description: > This binding gives a base representation of the TI MSP432P4XX UART +compatible: "ti,msp432p4xx-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "ti,msp432p4xx-uart" - reg: required: true diff --git a/dts/bindings/serial/ti,stellaris-uart.yaml b/dts/bindings/serial/ti,stellaris-uart.yaml index b53341ca7da..6147e099053 100644 --- a/dts/bindings/serial/ti,stellaris-uart.yaml +++ b/dts/bindings/serial/ti,stellaris-uart.yaml @@ -3,12 +3,11 @@ title: TI Stellaris UART description: > This binding gives a base representation of the TI Stellaris UART +compatible: "ti,stellaris-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "ti,stellaris-uart" - reg: required: true diff --git a/dts/bindings/serial/xlnx,uartps.yaml b/dts/bindings/serial/xlnx,uartps.yaml index f2d122bdf08..c6ea40f5113 100644 --- a/dts/bindings/serial/xlnx,uartps.yaml +++ b/dts/bindings/serial/xlnx,uartps.yaml @@ -1,15 +1,12 @@ ---- title: Xilinx PS UART description: > This binding gives a base representation of the Xilinx PS UART +compatible: "xlnx,xuartps" + include: uart-controller.yaml properties: - compatible: - constraint: "xlnx,xuartps" - reg: required: true -... diff --git a/dts/bindings/serial/xtensa,esp32-uart.yaml b/dts/bindings/serial/xtensa,esp32-uart.yaml index ea8ff9b72aa..50f0d104e84 100644 --- a/dts/bindings/serial/xtensa,esp32-uart.yaml +++ b/dts/bindings/serial/xtensa,esp32-uart.yaml @@ -3,12 +3,11 @@ title: ESP32 Uart description: > This binding gives a base representation of the ESP32 UART +compatible: "xtensa,esp32-uart" + include: uart-controller.yaml properties: - compatible: - constraint: "xtensa,esp32-uart" - reg: required: true diff --git a/dts/bindings/serial/zephyr,native-posix-uart.yaml b/dts/bindings/serial/zephyr,native-posix-uart.yaml index 9822c3e13c4..396d6dac944 100644 --- a/dts/bindings/serial/zephyr,native-posix-uart.yaml +++ b/dts/bindings/serial/zephyr,native-posix-uart.yaml @@ -9,8 +9,6 @@ title: Native POSIX UART description: > This binding gives a base representation of the Native POSIX UART -include: uart-controller.yaml +compatible: "zephyr,native-posix-uart" -properties: - compatible: - constraint: "zephyr,native-posix-uart" +include: uart-controller.yaml diff --git a/dts/bindings/spi/atmel,sam-spi.yaml b/dts/bindings/spi/atmel,sam-spi.yaml index 39b04a12f9a..e0a791fd52c 100644 --- a/dts/bindings/spi/atmel,sam-spi.yaml +++ b/dts/bindings/spi/atmel,sam-spi.yaml @@ -9,12 +9,11 @@ title: Atmel SAM SPI driver description: > This binding gives a base representation of the Atmel SAM SPI controller +compatible: "atmel,sam-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "atmel,sam-spi" - reg: required: true diff --git a/dts/bindings/spi/atmel,sam0-spi.yaml b/dts/bindings/spi/atmel,sam0-spi.yaml index d460728a639..8e624b8cb97 100644 --- a/dts/bindings/spi/atmel,sam0-spi.yaml +++ b/dts/bindings/spi/atmel,sam0-spi.yaml @@ -9,12 +9,11 @@ title: Atmel SAM0 SERCOM SPI driver description: > This binding gives a base representation of the Atmel SAM0 SERCOM SPI controller +compatible: "atmel,sam0-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "atmel,sam0-spi" - reg: required: true diff --git a/dts/bindings/spi/intel,intel-spi.yaml b/dts/bindings/spi/intel,intel-spi.yaml index 3ae27bce9bc..d060690b4f9 100644 --- a/dts/bindings/spi/intel,intel-spi.yaml +++ b/dts/bindings/spi/intel,intel-spi.yaml @@ -9,12 +9,11 @@ title: Intel SPI Controller description: > This is a representation of the Intel SPI controller found on quark x1000. +compatible: "intel,intel-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "intel,intel-spi" - reg: required: true diff --git a/dts/bindings/spi/nordic,nrf-spi.yaml b/dts/bindings/spi/nordic,nrf-spi.yaml index fffdd35f01f..93ab6df0098 100644 --- a/dts/bindings/spi/nordic,nrf-spi.yaml +++ b/dts/bindings/spi/nordic,nrf-spi.yaml @@ -9,12 +9,11 @@ title: Nordic nRF Family SPI Master node description: > This is a representation of the Nordic nRF SPI node +compatible: "nordic,nrf-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "nordic,nrf-spi" - reg: required: true diff --git a/dts/bindings/spi/nordic,nrf-spis.yaml b/dts/bindings/spi/nordic,nrf-spis.yaml index edbf84dc371..ea5d628a562 100644 --- a/dts/bindings/spi/nordic,nrf-spis.yaml +++ b/dts/bindings/spi/nordic,nrf-spis.yaml @@ -9,12 +9,11 @@ title: Nordic nRF Family SPIS (SPI Slave) description: > This is a representation of the Nordic nRF SPIS node +compatible: "nordic,nrf-spis" + include: spi-controller.yaml properties: - compatible: - constraint: "nordic,nrf-spis" - reg: required: true diff --git a/dts/bindings/spi/nxp,imx-flexspi.yaml b/dts/bindings/spi/nxp,imx-flexspi.yaml index 4b9ac206731..d12bf736f7e 100644 --- a/dts/bindings/spi/nxp,imx-flexspi.yaml +++ b/dts/bindings/spi/nxp,imx-flexspi.yaml @@ -9,12 +9,11 @@ title: NXP FlexSPI description: > This binding gives a base representation of the NXP FlexSPI controller +compatible: "nxp,imx-flexspi" + include: spi-controller.yaml properties: - compatible: - constraint: "nxp,imx-flexspi" - reg: required: true diff --git a/dts/bindings/spi/nxp,imx-lpspi.yaml b/dts/bindings/spi/nxp,imx-lpspi.yaml index 87efe97fafb..a0574539231 100644 --- a/dts/bindings/spi/nxp,imx-lpspi.yaml +++ b/dts/bindings/spi/nxp,imx-lpspi.yaml @@ -9,12 +9,11 @@ title: NXP LPSPI description: > This binding gives a base representation of the NXP i.MX LPSPI controller +compatible: "nxp,imx-lpspi" + include: spi-controller.yaml properties: - compatible: - constraint: "nxp,imx-lpspi" - reg: required: true diff --git a/dts/bindings/spi/nxp,kinetis-dspi.yaml b/dts/bindings/spi/nxp,kinetis-dspi.yaml index 7d712b324e3..17da7ba7393 100644 --- a/dts/bindings/spi/nxp,kinetis-dspi.yaml +++ b/dts/bindings/spi/nxp,kinetis-dspi.yaml @@ -9,12 +9,11 @@ title: NXP DSPI description: > This binding gives a base representation of the NXP Kinetis DSPI controller +compatible: "nxp,kinetis-dspi" + include: spi-controller.yaml properties: - compatible: - constraint: "nxp,kinetis-dspi" - reg: required: true diff --git a/dts/bindings/spi/sifive,spi0.yaml b/dts/bindings/spi/sifive,spi0.yaml index f8b925af38b..37b9f27c1fc 100644 --- a/dts/bindings/spi/sifive,spi0.yaml +++ b/dts/bindings/spi/sifive,spi0.yaml @@ -9,11 +9,10 @@ title: Sifive SPI driver description: > This binding gives a base representation of the Sifive SPI controller +compatible: "sifive,spi0" + include: spi-controller.yaml properties: - compatible: - constraint: "sifive,spi0" - reg: required: true diff --git a/dts/bindings/spi/snps,designware-spi.yaml b/dts/bindings/spi/snps,designware-spi.yaml index b71f13e05c6..e1b6170c580 100644 --- a/dts/bindings/spi/snps,designware-spi.yaml +++ b/dts/bindings/spi/snps,designware-spi.yaml @@ -9,12 +9,11 @@ title: Synopsys Designware SPI Controller description: > This is a representation of the Synopsys DesignWare spi node +compatible: "snps,designware-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "snps,designware-spi" - reg: required: true diff --git a/dts/bindings/spi/st,stm32-spi-fifo.yaml b/dts/bindings/spi/st,stm32-spi-fifo.yaml index e094360a48c..5a062987c62 100644 --- a/dts/bindings/spi/st,stm32-spi-fifo.yaml +++ b/dts/bindings/spi/st,stm32-spi-fifo.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of the STM32 SPI controller with embedded Rx and Tx FIFOs +compatible: "st,stm32-spi-fifo" + include: spi-controller.yaml properties: - compatible: - constraint: "st,stm32-spi-fifo" - reg: required: true diff --git a/dts/bindings/spi/st,stm32-spi.yaml b/dts/bindings/spi/st,stm32-spi.yaml index 1e8f5b4eceb..21463b2c125 100644 --- a/dts/bindings/spi/st,stm32-spi.yaml +++ b/dts/bindings/spi/st,stm32-spi.yaml @@ -9,12 +9,11 @@ title: STM32 SPI description: > This binding gives a base representation of the STM32 SPI controller +compatible: "st,stm32-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "st,stm32-spi" - reg: required: true diff --git a/dts/bindings/spi/ti,cc13xx-cc26xx-spi.yaml b/dts/bindings/spi/ti,cc13xx-cc26xx-spi.yaml index 203e904f424..1c49573b8c4 100644 --- a/dts/bindings/spi/ti,cc13xx-cc26xx-spi.yaml +++ b/dts/bindings/spi/ti,cc13xx-cc26xx-spi.yaml @@ -9,12 +9,11 @@ title: TI SimpleLink CC13xx / CC26xx SPI description: > This is a representation of the TI SimpleLink CC13xx / CC26xx SPI node +compatible: "ti,cc13xx-cc26xx-spi" + include: spi-controller.yaml properties: - compatible: - constraint: "ti,cc13xx-cc26xx-spi" - reg: required: true diff --git a/dts/bindings/sram/mmio-sram.yaml b/dts/bindings/sram/mmio-sram.yaml index baa05066890..d254964e0fa 100644 --- a/dts/bindings/sram/mmio-sram.yaml +++ b/dts/bindings/sram/mmio-sram.yaml @@ -9,12 +9,11 @@ title: Generic on-chip SRAM description: > This binding gives a generic on-chip SRAM description +compatible: "mmio-sram" + include: base.yaml properties: - compatible: - constraint: "mmio-sram" - reg: required: true diff --git a/dts/bindings/sram/sifive,dtim0.yaml b/dts/bindings/sram/sifive,dtim0.yaml index 5caa9dc8734..92e3f4f2a71 100644 --- a/dts/bindings/sram/sifive,dtim0.yaml +++ b/dts/bindings/sram/sifive,dtim0.yaml @@ -9,11 +9,10 @@ title: Data Tightly-Integrated Memory description: > This bindings describes the SiFive Data Tightly-Integrated Memory +compatible: "sifive,dtim0" + include: base.yaml properties: - compatible: - constraint: "sifive,dtim0" - reg: required: true diff --git a/dts/bindings/timer/arm,cmsdk-dtimer.yaml b/dts/bindings/timer/arm,cmsdk-dtimer.yaml index 9e1e24f214e..6035fcf8d39 100644 --- a/dts/bindings/timer/arm,cmsdk-dtimer.yaml +++ b/dts/bindings/timer/arm,cmsdk-dtimer.yaml @@ -3,12 +3,11 @@ title: ARM CMSDK DUALTIMER description: > This binding gives a base representation of the ARM CMSDK DUALTIMER +compatible: "arm,cmsdk-dtimer" + include: base.yaml properties: - compatible: - constraint: "arm,cmsdk-dtimer" - reg: required: true diff --git a/dts/bindings/timer/arm,cmsdk-timer.yaml b/dts/bindings/timer/arm,cmsdk-timer.yaml index b27dccc9dc8..bee58e21216 100644 --- a/dts/bindings/timer/arm,cmsdk-timer.yaml +++ b/dts/bindings/timer/arm,cmsdk-timer.yaml @@ -3,12 +3,11 @@ title: ARM CMSDK TIMER description: > This binding gives a base representation of the ARM CMSDK TIMER +compatible: "arm,cmsdk-timer" + include: base.yaml properties: - compatible: - constraint: "arm,cmsdk-timer" - reg: required: true diff --git a/dts/bindings/timer/atmel,sam0-tc32.yaml b/dts/bindings/timer/atmel,sam0-tc32.yaml index 966e05d73fc..e65f16e76bd 100644 --- a/dts/bindings/timer/atmel,sam0-tc32.yaml +++ b/dts/bindings/timer/atmel,sam0-tc32.yaml @@ -10,12 +10,11 @@ description: > This binding gives a base representation of the Atmel SAM0 timer counter (TC) operating in 32-bit wide mode. +compatible: "atmel,sam0-tc32" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-tc32" - reg: required: true diff --git a/dts/bindings/timer/litex,timer0.yaml b/dts/bindings/timer/litex,timer0.yaml index 598c48d80cb..36b255df135 100644 --- a/dts/bindings/timer/litex,timer0.yaml +++ b/dts/bindings/timer/litex,timer0.yaml @@ -9,12 +9,11 @@ title: LiteX timer description: > This binding gives a base representation of the LiteX timer +compatible: "litex,timer0" + include: base.yaml properties: - compatible: - constraint: "litex,timer0" - reg: required: true diff --git a/dts/bindings/timer/microchip,xec-rtos-timer.yaml b/dts/bindings/timer/microchip,xec-rtos-timer.yaml index ae8919a00d2..590bdcba06b 100644 --- a/dts/bindings/timer/microchip,xec-rtos-timer.yaml +++ b/dts/bindings/timer/microchip,xec-rtos-timer.yaml @@ -9,12 +9,11 @@ title: Microchip XEC RTOS timer description: > This is a representation of the Microchip XEC RTOS timer node +compatible: "microchip,xec-rtos-timer" + include: base.yaml properties: - compatible: - constraint: "microchip,xec-rtos-timer" - reg: required: true @@ -23,4 +22,3 @@ properties: label: required: true -... diff --git a/dts/bindings/timer/nordic,nrf-timer.yaml b/dts/bindings/timer/nordic,nrf-timer.yaml index c40ef360112..9b4ede35d8d 100644 --- a/dts/bindings/timer/nordic,nrf-timer.yaml +++ b/dts/bindings/timer/nordic,nrf-timer.yaml @@ -9,12 +9,11 @@ title: Nordic nRF timer description: > This is a representation of the Nordic nRF timer node +compatible: "nordic,nrf-timer" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-timer" - reg: required: true diff --git a/dts/bindings/timer/nxp,imx-gpt.yaml b/dts/bindings/timer/nxp,imx-gpt.yaml index 7513298f055..ca7007ee30e 100644 --- a/dts/bindings/timer/nxp,imx-gpt.yaml +++ b/dts/bindings/timer/nxp,imx-gpt.yaml @@ -9,12 +9,11 @@ title: NXP MCUX General Purpose Timer description: > This is a representation of the NXP MCUX General Purpose Timer (GPT) +compatible: "nxp,imx-gpt" + include: base.yaml properties: - compatible: - constraint: "nxp,imx-gpt" - reg: required: true diff --git a/dts/bindings/timer/openisa,rv32m1-lptmr.yaml b/dts/bindings/timer/openisa,rv32m1-lptmr.yaml index c268e797dec..5b4ccf9a9c3 100644 --- a/dts/bindings/timer/openisa,rv32m1-lptmr.yaml +++ b/dts/bindings/timer/openisa,rv32m1-lptmr.yaml @@ -3,12 +3,11 @@ title: OpenISA RV32M1 LPTMR description: > This binding represents the OpenISA RV32M1 LPTMR peripheral. +compatible: "openisa,rv32m1-lptmr" + include: base.yaml properties: - compatible: - constraint: "openisa,rv32m1-lptmr" - reg: required: true diff --git a/dts/bindings/timer/st,stm32-timers.yaml b/dts/bindings/timer/st,stm32-timers.yaml index 80f059e494e..bca7d9a5329 100644 --- a/dts/bindings/timer/st,stm32-timers.yaml +++ b/dts/bindings/timer/st,stm32-timers.yaml @@ -3,12 +3,11 @@ title: STM32 TIMERS description: > This binding gives a base representation of the STM32 TIMERS +compatible: "st,stm32-timers" + include: base.yaml properties: - compatible: - constraint: "st,stm32-timers" - label: required: true diff --git a/dts/bindings/timer/xlnx,ttcps.yaml b/dts/bindings/timer/xlnx,ttcps.yaml index ea1d862ea0c..5a39dfe7f72 100644 --- a/dts/bindings/timer/xlnx,ttcps.yaml +++ b/dts/bindings/timer/xlnx,ttcps.yaml @@ -1,15 +1,13 @@ ---- title: Xilinx ZynqMP PS TTC TIMERS description: > This binding gives a base representation of the Xilinx ZynqMP PS TTC TIMERS +compatible: "cdns,ttc" + include: base.yaml properties: - compatible: - constraint: "cdns,ttc" - label: required: true @@ -20,4 +18,3 @@ properties: type: int required: false description: Clock frequency information for Timer operation -... diff --git a/dts/bindings/usb/atmel,sam-usbhs.yaml b/dts/bindings/usb/atmel,sam-usbhs.yaml index 19b972017b9..0fdcba2e795 100644 --- a/dts/bindings/usb/atmel,sam-usbhs.yaml +++ b/dts/bindings/usb/atmel,sam-usbhs.yaml @@ -9,12 +9,11 @@ title: Atmel SAM USBHS description: > Atmel SAM Family USB (USBHS) in device mode +compatible: "atmel,sam-usbhs" + include: usb-ep.yaml properties: - compatible: - constraint: "atmel,sam-usbhs" - reg: required: true diff --git a/dts/bindings/usb/atmel,sam0-usb.yaml b/dts/bindings/usb/atmel,sam0-usb.yaml index d2ad3838044..d63db7751cf 100644 --- a/dts/bindings/usb/atmel,sam0-usb.yaml +++ b/dts/bindings/usb/atmel,sam0-usb.yaml @@ -3,12 +3,11 @@ title: Atmel SAM0 USB device description: > Atmel SAM0 USB in device mode +compatible: "atmel,sam0-usb" + include: usb-ep.yaml properties: - compatible: - constraint: "atmel,sam0-usb" - reg: required: true diff --git a/dts/bindings/usb/nordic,nrf-usbd.yaml b/dts/bindings/usb/nordic,nrf-usbd.yaml index 9160e245db1..7895ebe1b11 100644 --- a/dts/bindings/usb/nordic,nrf-usbd.yaml +++ b/dts/bindings/usb/nordic,nrf-usbd.yaml @@ -9,12 +9,11 @@ title: Nordic nRF52 USBD description: > This binding gives a base representation of the Nordic nRF52 USB device controller +compatible: "nordic,nrf-usbd" + include: usb-ep.yaml properties: - compatible: - constraint: "nordic,nrf-usbd" - reg: required: true diff --git a/dts/bindings/usb/nxp,kinetis-usbd.yaml b/dts/bindings/usb/nxp,kinetis-usbd.yaml index 8f71118aae7..374481c1c25 100644 --- a/dts/bindings/usb/nxp,kinetis-usbd.yaml +++ b/dts/bindings/usb/nxp,kinetis-usbd.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis USBD description: > NPX Kinetis USBFSOTG Controller in device mode +compatible: "nxp,kinetis-usbd" + include: usb-ep.yaml properties: - compatible: - constraint: "nxp,kinetis-usbd" - reg: required: true diff --git a/dts/bindings/usb/st,stm32-otgfs.yaml b/dts/bindings/usb/st,stm32-otgfs.yaml index 405a9fb8280..91782d858e5 100644 --- a/dts/bindings/usb/st,stm32-otgfs.yaml +++ b/dts/bindings/usb/st,stm32-otgfs.yaml @@ -9,12 +9,11 @@ title: STM32 OTGFS description: > This binding gives a base representation of the STM32 OTGFS controller +compatible: "st,stm32-otgfs" + include: usb-ep.yaml properties: - compatible: - constraint: "st,stm32-otgfs" - reg: required: true diff --git a/dts/bindings/usb/st,stm32-otghs.yaml b/dts/bindings/usb/st,stm32-otghs.yaml index bfcbc190b41..689763d6235 100644 --- a/dts/bindings/usb/st,stm32-otghs.yaml +++ b/dts/bindings/usb/st,stm32-otghs.yaml @@ -9,12 +9,11 @@ title: STM32 OTGHS description: > This binding gives a base representation of the STM32 OTG HS controller +compatible: "st,stm32-otghs" + include: usb-ep.yaml properties: - compatible: - constraint: "st,stm32-otghs" - reg: required: true diff --git a/dts/bindings/usb/st,stm32-usb.yaml b/dts/bindings/usb/st,stm32-usb.yaml index 59a5dac4955..9398268d3ae 100644 --- a/dts/bindings/usb/st,stm32-usb.yaml +++ b/dts/bindings/usb/st,stm32-usb.yaml @@ -9,12 +9,11 @@ title: STM32 USB description: > This binding gives a base representation of the STM32 USB controller +compatible: "st,stm32-usb" + include: usb-ep.yaml properties: - compatible: - constraint: "st,stm32-usb" - reg: required: true diff --git a/dts/bindings/watchdog/arm,cmsdk-watchdog.yaml b/dts/bindings/watchdog/arm,cmsdk-watchdog.yaml index d9f7c0c53d1..fa091e75372 100644 --- a/dts/bindings/watchdog/arm,cmsdk-watchdog.yaml +++ b/dts/bindings/watchdog/arm,cmsdk-watchdog.yaml @@ -3,12 +3,11 @@ title: ARM CMSDK WATCHDOG description: > This binding gives a base representation of the ARM CMSDK WATCHDOG +compatible: "arm,cmsdk-watchdog" + include: base.yaml properties: - compatible: - constraint: "arm,cmsdk-watchdog" - reg: required: true diff --git a/dts/bindings/watchdog/atmel,sam-watchdog.yaml b/dts/bindings/watchdog/atmel,sam-watchdog.yaml index 061bd92cd76..bce18d26299 100644 --- a/dts/bindings/watchdog/atmel,sam-watchdog.yaml +++ b/dts/bindings/watchdog/atmel,sam-watchdog.yaml @@ -9,12 +9,11 @@ title: Atmel SAM watchdog driver description: > This is a representation of the SAM0 watchdog +compatible: "atmel,sam-watchdog" + include: base.yaml properties: - compatible: - constraint: "atmel,sam-watchdog" - reg: required: true diff --git a/dts/bindings/watchdog/atmel,sam0-watchdog.yaml b/dts/bindings/watchdog/atmel,sam0-watchdog.yaml index 099af0143c8..f91023ef0bb 100644 --- a/dts/bindings/watchdog/atmel,sam0-watchdog.yaml +++ b/dts/bindings/watchdog/atmel,sam0-watchdog.yaml @@ -3,12 +3,11 @@ title: Atmel SAM0 watchdog driver description: > This is a representation of the SAM0 watchdog +compatible: "atmel,sam0-watchdog" + include: base.yaml properties: - compatible: - constraint: "atmel,sam0-watchdog" - reg: required: true diff --git a/dts/bindings/watchdog/intel,qmsi-watchdog.yaml b/dts/bindings/watchdog/intel,qmsi-watchdog.yaml index b4ce955cb91..15086d04266 100644 --- a/dts/bindings/watchdog/intel,qmsi-watchdog.yaml +++ b/dts/bindings/watchdog/intel,qmsi-watchdog.yaml @@ -9,12 +9,11 @@ title: QMSI watchdog driver description: > This is a representation of the QMSI watchdog +compatible: "intel,qmsi-watchdog" + include: base.yaml properties: - compatible: - constraint: "intel,qmsi-watchdog" - reg: required: true diff --git a/dts/bindings/watchdog/nordic,nrf-watchdog.yaml b/dts/bindings/watchdog/nordic,nrf-watchdog.yaml index 0f8658c68df..1fe854892b9 100644 --- a/dts/bindings/watchdog/nordic,nrf-watchdog.yaml +++ b/dts/bindings/watchdog/nordic,nrf-watchdog.yaml @@ -9,12 +9,11 @@ title: Nordic Semiconductor NRF watchdog driver description: > This is a representation of the NRF watchdog +compatible: "nordic,nrf-watchdog" + include: base.yaml properties: - compatible: - constraint: "nordic,nrf-watchdog" - reg: required: true diff --git a/dts/bindings/watchdog/nxp,kinetis-wdog.yaml b/dts/bindings/watchdog/nxp,kinetis-wdog.yaml index 7610ff1ac78..d69ba9f653b 100644 --- a/dts/bindings/watchdog/nxp,kinetis-wdog.yaml +++ b/dts/bindings/watchdog/nxp,kinetis-wdog.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis watchdog driver description: > This is a representation of the Kinetis watchdog +compatible: "nxp,kinetis-wdog" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-wdog" - reg: required: true diff --git a/dts/bindings/watchdog/nxp,kinetis-wdog32.yaml b/dts/bindings/watchdog/nxp,kinetis-wdog32.yaml index b2c91291e91..e13d2dec56d 100644 --- a/dts/bindings/watchdog/nxp,kinetis-wdog32.yaml +++ b/dts/bindings/watchdog/nxp,kinetis-wdog32.yaml @@ -9,12 +9,11 @@ title: NXP Kinetis watchdog (WDOG32) driver description: > This is a representation of the Kinetis watchdog (WDOG32) +compatible: "nxp,kinetis-wdog32" + include: base.yaml properties: - compatible: - constraint: "nxp,kinetis-wdog32" - reg: required: true diff --git a/dts/bindings/watchdog/st,stm32-watchdog.yaml b/dts/bindings/watchdog/st,stm32-watchdog.yaml index 4a3e250b093..4dfe1d32d61 100644 --- a/dts/bindings/watchdog/st,stm32-watchdog.yaml +++ b/dts/bindings/watchdog/st,stm32-watchdog.yaml @@ -9,12 +9,11 @@ title: STMicroelectronics STM32 watchdog driver description: > This is a representation of the STM32 watchdog +compatible: "st,stm32-watchdog" + include: base.yaml properties: - compatible: - constraint: "st,stm32-watchdog" - reg: required: true diff --git a/dts/bindings/wifi/atmel,winc1500.yaml b/dts/bindings/wifi/atmel,winc1500.yaml index 3460c688526..c5ae0c14d7c 100644 --- a/dts/bindings/wifi/atmel,winc1500.yaml +++ b/dts/bindings/wifi/atmel,winc1500.yaml @@ -9,12 +9,11 @@ title: Atmel WINC1500 Wifi module description: > This binding gives the base representation of the Atmel WINC1500 Wifi module +compatible: "atmel,winc1500" + include: spi-device.yaml properties: - compatible: - constraint: "atmel,winc1500" - irq-gpios: type: phandle-array required: true diff --git a/dts/bindings/wifi/inventek,eswifi.yaml b/dts/bindings/wifi/inventek,eswifi.yaml index 0438a22f8ca..cabe18c60bc 100644 --- a/dts/bindings/wifi/inventek,eswifi.yaml +++ b/dts/bindings/wifi/inventek,eswifi.yaml @@ -9,12 +9,11 @@ title: Inventek eS-WiFi WiFi module description: > This binding gives the base representation of es-WiFi module +compatible: "inventek,eswifi" + include: spi-device.yaml properties: - compatible: - constraint: "inventek,eswifi" - resetn-gpios: type: phandle-array required: true diff --git a/scripts/dts/edtlib.py b/scripts/dts/edtlib.py index 942508bf737..6efc504267c 100644 --- a/scripts/dts/edtlib.py +++ b/scripts/dts/edtlib.py @@ -191,12 +191,9 @@ class EDT: # representing the file) binding = yaml.load(contents, Loader=yaml.Loader) - try: - compat = binding["properties"]["compatible"]["constraint"] - except Exception: - continue - - if compat not in dt_compats: + binding_compat = _binding_compat(binding, binding_path) + if binding_compat is None: + # Not a binding. Might be a fragment or spurious file. continue # It's a match. Merge in the included bindings, do sanity checks, @@ -204,7 +201,8 @@ class EDT: binding = self._merge_included_bindings(binding, binding_path) _check_binding(binding, binding_path) - self._compat2binding[compat, _binding_bus(binding)] = \ + + self._compat2binding[binding_compat, _binding_bus(binding)] = \ (binding, binding_path) def _merge_included_bindings(self, binding, binding_path): @@ -1185,6 +1183,57 @@ def _binding_paths(bindings_dirs): return binding_paths +def _binding_compat(binding, binding_path): + # Returns the string listed in 'compatible:' in 'binding', or None if no + # compatible is found. + # + # Also searches for legacy compatibles on the form + # + # properties: + # compatible: + # constraint: + + def new_style_compat(): + # New-style 'compatible: "foo"' compatible + + if binding is None or "compatible" not in binding: + # Empty file, binding fragment, spurious file, or old-style compat + return None + + compatible = binding["compatible"] + if not isinstance(compatible, str): + _err("malformed 'compatible:' field in {} - should be a string" + .format(binding_path)) + + return compatible + + def old_style_compat(): + # Old-style 'constraint: "foo"' compatible + + try: + return binding["properties"]["compatible"]["constraint"] + except Exception: + return None + + new_compat = new_style_compat() + old_compat = old_style_compat() + if old_compat: + _warn("The 'properties: compatible: constraint: ...' way of " + "specifying the compatible in {} is deprecated. Put " + "'compatible: \"{}\"' at the top level of the binding instead." + .format(binding_path, old_compat)) + + if new_compat: + _err("compatibles for {} should be specified with either " + "'compatible:' at the top level or with the legacy " + "'properties: compatible: constraint: ...' field, not both" + .format(binding_path)) + + return old_compat + + return new_compat + + def _binding_bus(binding): # Returns the bus specified in 'binding' (the bus the device described by # 'binding' is on), e.g. "i2c", or None if 'binding' is None or doesn't @@ -1271,8 +1320,8 @@ def _check_binding(binding, binding_path): _err("missing, malformed, or empty '{}' in {}" .format(prop, binding_path)) - ok_top = {"title", "description", "inherits", "properties", "#cells", - "parent", "child", "sub-node"} + ok_top = {"title", "description", "compatible", "inherits", "properties", + "#cells", "parent", "child", "sub-node"} for prop in binding: if prop not in ok_top: diff --git a/scripts/dts/extract_dts_includes.py b/scripts/dts/extract_dts_includes.py index b1dce8f0610..9c488db79d3 100755 --- a/scripts/dts/extract_dts_includes.py +++ b/scripts/dts/extract_dts_includes.py @@ -122,8 +122,12 @@ def generate_node_defines(node_path): generate_bus_defines(node_path) + props = get_binding(node_path).get('properties') + if not props: + return + # Generate per-property ('foo = <1 2 3>', etc.) #defines - for yaml_prop, yaml_val in get_binding(node_path)['properties'].items(): + for yaml_prop, yaml_val in props.items(): if yaml_prop.startswith("#") or yaml_prop.endswith("-map"): continue @@ -325,36 +329,35 @@ def load_bindings(root, binding_dirs): # Add '!include foo.yaml' handling yaml.Loader.add_constructor('!include', yaml_include) - loaded_yamls = set() + # Code below is adapated from edtlib.py + + # Searches for any 'compatible' string mentioned in the devicetree + # files, with a regex + dt_compats_search = re.compile( + "|".join(re.escape(compat) for compat in dts_compats) + ).search for file in binding_files: - # Extract compat from 'constraint:' line - for line in open(file, 'r', encoding='utf-8'): - match = re.match(r'\s+constraint:\s*"([^"]*)"', line) - if match: - break - else: - # No 'constraint:' line found. Move on to next yaml file. + with open(file, encoding="utf-8") as f: + contents = f.read() + + if not dt_compats_search(contents): continue - compat = match.group(1) - if compat not in dts_compats or file in loaded_yamls: - # The compat does not appear in the device tree, or the yaml - # file has already been loaded + binding = yaml.load(contents, Loader=yaml.Loader) + + binding_compats = _binding_compats(binding) + if not binding_compats: continue - # Found a binding (.yaml file) for a 'compatible' value that - # appears in DTS. Load it. - - loaded_yamls.add(file) - - if compat not in compats: - compats.append(compat) - with open(file, 'r', encoding='utf-8') as yf: binding = merge_included_bindings(file, yaml.load(yf, Loader=yaml.Loader)) + for compat in binding_compats: + if compat not in compats: + compats.append(compat) + if 'parent' in binding: bus_to_binding[binding['parent']['bus']][compat] = binding @@ -368,6 +371,32 @@ def load_bindings(root, binding_dirs): extract.globals.binding_compats = compats +def _binding_compats(binding): + # Adapated from edtlib.py + + def new_style_compats(): + if binding is None or "compatible" not in binding: + return [] + + val = binding["compatible"] + + if isinstance(val, str): + return [val] + return val + + def old_style_compat(): + try: + return binding["properties"]["compatible"]["constraint"] + except Exception: + return None + + new_compats = new_style_compats() + old_compat = old_style_compat() + if old_compat: + return [old_compat] + return new_compats + + def find_binding_files(binding_dirs): # Initializes the global 'binding_files' variable with a list of paths to # binding (.yaml) files diff --git a/scripts/dts/test-bindings-2/multidir.yaml b/scripts/dts/test-bindings-2/multidir.yaml index 2a41ac981b8..2bd84e7e93f 100644 --- a/scripts/dts/test-bindings-2/multidir.yaml +++ b/scripts/dts/test-bindings-2/multidir.yaml @@ -3,7 +3,4 @@ title: Binding in test-bindings-2/ description: Binding in test-bindings-2/ -properties: - compatible: - constraint: "in-dir-2" - type: string-array +compatible: "in-dir-2" diff --git a/scripts/dts/test-bindings/clock-1-cell.yaml b/scripts/dts/test-bindings/clock-1-cell.yaml index 08d83944c17..6838ce3e9c8 100644 --- a/scripts/dts/test-bindings/clock-1-cell.yaml +++ b/scripts/dts/test-bindings/clock-1-cell.yaml @@ -3,10 +3,7 @@ title: Clock source with one cell description: Clock source with one cell -properties: - compatible: - constraint: "clock-one-cell" - type: string-array +compatible: "clock-one-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/clock-2-cell.yaml b/scripts/dts/test-bindings/clock-2-cell.yaml index 13c8be10dbd..57573435275 100644 --- a/scripts/dts/test-bindings/clock-2-cell.yaml +++ b/scripts/dts/test-bindings/clock-2-cell.yaml @@ -3,10 +3,7 @@ title: Clock source with two cells description: Clock source with two cells -properties: - compatible: - constraint: "clock-two-cell" - type: string-array +compatible: "clock-two-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/deprecated.yaml b/scripts/dts/test-bindings/deprecated.yaml index 6dfeacc7077..00ffa1ec869 100644 --- a/scripts/dts/test-bindings/deprecated.yaml +++ b/scripts/dts/test-bindings/deprecated.yaml @@ -8,6 +8,7 @@ inherits: !include deprecated-include.yaml properties: + # Deprecated way of specifying the 'compatible' string compatible: constraint: "deprecated" type: string-array diff --git a/scripts/dts/test-bindings/fixed-clock.yaml b/scripts/dts/test-bindings/fixed-clock.yaml index cfa38615f1f..136fd79ea46 100644 --- a/scripts/dts/test-bindings/fixed-clock.yaml +++ b/scripts/dts/test-bindings/fixed-clock.yaml @@ -3,10 +3,8 @@ title: Fixed clock description: Fixed clock -properties: - compatible: - constraint: "fixed-clock" - type: string-array +compatible: "fixed-clock" +properties: clock-frequency: type: int diff --git a/scripts/dts/test-bindings/gpio-1-cell.yaml b/scripts/dts/test-bindings/gpio-1-cell.yaml index 5b2fd3f9d88..a8b9cb7a299 100644 --- a/scripts/dts/test-bindings/gpio-1-cell.yaml +++ b/scripts/dts/test-bindings/gpio-1-cell.yaml @@ -3,10 +3,7 @@ title: GPIO controller with one cell description: GPIO controller with one cell -properties: - compatible: - constraint: "gpio-one-cell" - type: string-array +compatible: "gpio-one-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/gpio-2-cell.yaml b/scripts/dts/test-bindings/gpio-2-cell.yaml index 3d15d411e79..467b46459a2 100644 --- a/scripts/dts/test-bindings/gpio-2-cell.yaml +++ b/scripts/dts/test-bindings/gpio-2-cell.yaml @@ -3,10 +3,7 @@ title: GPIO controller with two cells description: GPIO controller with two cells -properties: - compatible: - constraint: "gpio-two-cell" - type: string-array +compatible: "gpio-two-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/interrupt-1-cell.yaml b/scripts/dts/test-bindings/interrupt-1-cell.yaml index 76d3fadee32..e8d8090b461 100644 --- a/scripts/dts/test-bindings/interrupt-1-cell.yaml +++ b/scripts/dts/test-bindings/interrupt-1-cell.yaml @@ -3,10 +3,7 @@ title: Interrupt controller with one cell description: Interrupt controller with one cell -properties: - compatible: - constraint: "interrupt-one-cell" - type: string-array +compatible: "interrupt-one-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/interrupt-2-cell.yaml b/scripts/dts/test-bindings/interrupt-2-cell.yaml index df6c30b3f02..c29a2a7c1c5 100644 --- a/scripts/dts/test-bindings/interrupt-2-cell.yaml +++ b/scripts/dts/test-bindings/interrupt-2-cell.yaml @@ -3,10 +3,7 @@ title: Interrupt controller with two cells description: Interrupt controller with two cells -properties: - compatible: - constraint: "interrupt-two-cell" - type: string-array +compatible: "interrupt-two-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/interrupt-3-cell.yaml b/scripts/dts/test-bindings/interrupt-3-cell.yaml index 52d50333095..928bd88417b 100644 --- a/scripts/dts/test-bindings/interrupt-3-cell.yaml +++ b/scripts/dts/test-bindings/interrupt-3-cell.yaml @@ -3,10 +3,7 @@ title: Interrupt controller with three cells description: Interrupt controller with three cells -properties: - compatible: - constraint: "interrupt-three-cell" - type: string-array +compatible: "interrupt-three-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/io-channel.yaml b/scripts/dts/test-bindings/io-channel.yaml index 1077d6914d6..b07dbd109c7 100644 --- a/scripts/dts/test-bindings/io-channel.yaml +++ b/scripts/dts/test-bindings/io-channel.yaml @@ -5,10 +5,7 @@ title: IO channel with one cell description: IO channel with one cell -properties: - compatible: - constraint: "io-channel" - type: string-array +compatible: "io-channel" "#cells": - one diff --git a/scripts/dts/test-bindings/multidir.yaml b/scripts/dts/test-bindings/multidir.yaml index a9fe3a9b67f..a9c07ab8b72 100644 --- a/scripts/dts/test-bindings/multidir.yaml +++ b/scripts/dts/test-bindings/multidir.yaml @@ -3,7 +3,4 @@ title: Binding in test-bindings/ description: Binding in test-bindings/ -properties: - compatible: - constraint: "in-dir-1" - type: string-array +compatible: "in-dir-1" diff --git a/scripts/dts/test-bindings/parent.yaml b/scripts/dts/test-bindings/parent.yaml index a2ffe102acf..6fe5660eea9 100644 --- a/scripts/dts/test-bindings/parent.yaml +++ b/scripts/dts/test-bindings/parent.yaml @@ -3,13 +3,11 @@ title: Parent binding description: Parent binding +compatible: "binding-include-test" + include: child.yaml properties: - compatible: - constraint: "binding-include-test" - type: string-array - foo: # Changed from not being required in grandchild-1.yaml required: true diff --git a/scripts/dts/test-bindings/props.yaml b/scripts/dts/test-bindings/props.yaml index bf45e300a4d..b0e7bf16eca 100644 --- a/scripts/dts/test-bindings/props.yaml +++ b/scripts/dts/test-bindings/props.yaml @@ -3,11 +3,9 @@ title: Device.props test description: Device.props test -properties: - compatible: - constraint: "props" - type: string-array +compatible: "props" +properties: nonexistent-boolean: type: boolean diff --git a/scripts/dts/test-bindings/pwm-0-cell.yaml b/scripts/dts/test-bindings/pwm-0-cell.yaml index d4ec3793763..05afad8d0a9 100644 --- a/scripts/dts/test-bindings/pwm-0-cell.yaml +++ b/scripts/dts/test-bindings/pwm-0-cell.yaml @@ -3,7 +3,4 @@ title: PWM source with zero cells description: PWM source with zero cells -properties: - compatible: - constraint: "pwm-zero-cell" - type: string-array +compatible: "pwm-zero-cell" diff --git a/scripts/dts/test-bindings/pwm-1-cell.yaml b/scripts/dts/test-bindings/pwm-1-cell.yaml index f6b6d49f7ce..8358060b944 100644 --- a/scripts/dts/test-bindings/pwm-1-cell.yaml +++ b/scripts/dts/test-bindings/pwm-1-cell.yaml @@ -3,10 +3,7 @@ title: PWM source with one cell description: PWM source with one cell -properties: - compatible: - constraint: "pwm-one-cell" - type: string-array +compatible: "pwm-one-cell" "#cells": - one diff --git a/scripts/dts/test-bindings/sub-node-parent.yaml b/scripts/dts/test-bindings/sub-node-parent.yaml index bf6317dd0dd..8cec3a298ca 100644 --- a/scripts/dts/test-bindings/sub-node-parent.yaml +++ b/scripts/dts/test-bindings/sub-node-parent.yaml @@ -3,10 +3,7 @@ title: Sub-node test description: Sub-node test -properties: - compatible: - constraint: "parent-with-sub-node" - type: string-array +compatible: "parent-with-sub-node" sub-node: properties: diff --git a/scripts/dts/testedtlib.py b/scripts/dts/testedtlib.py index 4591fb42386..321cde52863 100755 --- a/scripts/dts/testedtlib.py +++ b/scripts/dts/testedtlib.py @@ -103,7 +103,7 @@ def run(): "Parent binding") verify_streq(edt.get_dev("/binding-include").props, - "{'compatible': , 'foo': , 'bar': , 'baz': , 'qaz': }") + "{'foo': , 'bar': , 'baz': , 'qaz': }") # # Test 'sub-node:' in binding @@ -120,7 +120,7 @@ def run(): # verify_streq(edt.get_dev("/props").props, - r"{'compatible': , 'nonexistent-boolean': , 'existent-boolean': , 'int': , 'array': , 'uint8-array': , 'string': , 'string-array': , 'phandle-ref': >, 'phandle-refs': , ]>}") + r"{'nonexistent-boolean': , 'existent-boolean': , 'int': , 'array': , 'uint8-array': , 'string': , 'string-array': , 'phandle-ref': >, 'phandle-refs': , ]>}") # # Test having multiple directories with bindings, with a different .dts file