All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/54] ARM: dts: Last round of DT schema fixes
@ 2021-07-21 14:03 ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Hi,\r
\r
Here's another round of schema warnings fixes for the Allwinner platform.\r
\r
There's a fair share of new schemas in there since the schema tools now warn\r
when a compatible is not documented in a schema.\r
\r
We don't have any warning anymore if we use the OPP binding Rob submitted, and\r
since that means we have all our devices properly validated I don't expect more\r
fixes now, aside from the usual bunch of regressions.\r
\r
Let me know what you think,\r
Maxime\r
\r
Maxime Ripard (54):\r
  ASoC: dt-bindings: Add WM8978 Binding\r
  ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema\r
  ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema\r
  ASoC: dt-bindings: Convert Simple Amplifier binding to a schema\r
  dt-bindings: Convert Reserved Memory binding to a schema\r
  dt-bindings: arm: Convert ARM CCI-400 binding to a schema\r
  dt-bindings: bluetooth: broadcom: Fix clocks check\r
  dt-bindings: bluetooth: realtek: Add missing max-speed\r
  dt-bindings: clocks: Fix typo in the H6 compatible\r
  dt-bindings: display: panel-lvds: Document panel compatibles\r
  dt-bindings: display: simple-bridge: Add corpro,gm7123 compatible\r
  dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema\r
  dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema\r
  dt-bindings: hwmon: Add IIO HWMON binding\r
  dt-bindings: iio: st: Remove wrong items length check\r
  dt-bindings: input: Convert ChipOne ICN8318 binding to a schema\r
  dt-bindings: input: Convert Pixcir Touchscreen binding to a schema\r
  dt-bindings: input: Convert Regulator Haptic binding to a schema\r
  dt-bindings: input: Convert Silead GSL1680 binding to a schema\r
  dt-bindings: input: sun4i-lradc: Add wakeup-source\r
  dt-bindings: interconnect: sunxi: Add R40 MBUS compatible\r
  dt-bindings: media: Convert OV5640 binding to a schema\r
  dt-bindings: mfd: Convert X-Powers AC100 binding to a schema\r
  dt-bindings: mfd: Convert X-Powers AXP binding to a schema\r
  dt-bindings: mmc: Convert MMC Card binding to a schema\r
  dt-bindings: net: dwmac: Fix typo in the R40 compatible\r
  dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema\r
  dt-bindings: power: supply: axp20x: Add AXP803 compatible\r
  dt-bindings: power: supply: axp20x-battery: Add AXP209 compatible\r
  dt-bindings: regulator: Convert SY8106A binding to a schema\r
  dt-bindings: sunxi: Add CPU Configuration Controller Binding\r
  dt-bindings: sunxi: Add Allwinner A80 PRCM Binding\r
  dt-bindings: thermal: Make trips node optional\r
  dt-bindings: usb: Convert SMSC USB3503 binding to a schema\r
  dt-bindings: usb: dwc3: Fix usb-phy check\r
  dt-bindings: usb: ehci: Add Allwinner A83t compatible\r
  dt-bindings: usb: ohci: Add Allwinner A83t compatible\r
  dt-bindings: w1: Convert 1-Wire GPIO binding to a schema\r
  ARM: dts: sunxi: Rename power-supply names\r
  ARM: dts: sunxi: Rename gpio pinctrl names\r
  ARM: dts: sunxi: Fix OPP arrays\r
  ARM: dts: sunxi: Fix OPPs node name\r
  ARM: dts: sunxi: Fix the SPI NOR node names\r
  ARM: dts: v3s: Remove useless DMA properties\r
  ARM: dts: tbs711: Fix touchscreen compatible\r
  ARM: dts: cubieboard4: Remove the dumb-vga-dac compatible\r
  arm64: dts: allwinner: h5: Fix GPU thermal zone node name\r
  arm64: dts: allwinner: h6: Fix de3 parent clocks ordering\r
  arm64: dts: allwinner: a100: Fix thermal zone node name\r
  arm64: dts: allwinner: pinetab: Change regulator node name to avoid\r
    warning\r
  arm64: dts: allwinner: teres-i: Add missing reg\r
  arm64: dts: allwinner: Remove regulator-ramp-delay\r
  arm64: dts: allwinner: teres-i: Remove wakekup-source from the PMIC\r
  arm64: dts: allwinner: pinephone: Fix BT SCO codec cells size\r
\r
 .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 ++++++++++\r
 .../bindings/arm/cci-control-port.yaml        |  38 ++\r
 Documentation/devicetree/bindings/arm/cci.txt | 224 ----------\r
 .../arm/sunxi/allwinner,sun4i-a10-mbus.yaml   |   1 +\r
 .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml  |  38 ++\r
 .../arm/sunxi/allwinner,sun9i-a80-prcm.yaml   |  33 ++\r
 .../clock/allwinner,sun8i-a83t-de2-clk.yaml   |   2 +-\r
 .../display/bridge/simple-bridge.yaml         |   3 +\r
 .../bindings/display/panel/lvds.yaml          |  18 +-\r
 .../bindings/gnss/u-blox,neo-6m.yaml          |  62 +++\r
 .../devicetree/bindings/gnss/u-blox.txt       |  45 ---\r
 .../devicetree/bindings/gpio/gpio-axp209.txt  |  75 ----\r
 .../bindings/gpio/x-powers,axp209-gpio.yaml   |  84 ++++\r
 .../devicetree/bindings/hwmon/iio-hwmon.yaml  |  37 ++\r
 .../bindings/iio/st,st-sensors.yaml           |  41 --\r
 .../input/allwinner,sun4i-a10-lradc-keys.yaml |   2 +\r
 .../bindings/input/regulator-haptic.txt       |  21 -\r
 .../bindings/input/regulator-haptic.yaml      |  43 ++\r
 .../input/touchscreen/chipone,icn8318.yaml    |  62 +++\r
 .../input/touchscreen/chipone_icn8318.txt     |  44 --\r
 .../input/touchscreen/pixcir,pixcir_ts.yaml   |  68 ++++\r
 .../input/touchscreen/pixcir_i2c_ts.txt       |  31 --\r
 .../input/touchscreen/silead,gsl1680.yaml     |  90 +++++\r
 .../input/touchscreen/silead_gsl1680.txt      |  44 --\r
 .../devicetree/bindings/media/i2c/ov5640.txt  |  92 -----\r
 .../bindings/media/i2c/ovti,ov5640.yaml       | 154 +++++++\r
 .../devicetree/bindings/mfd/ac100.txt         |  50 ---\r
 .../devicetree/bindings/mfd/axp20x.txt        | 272 -------------\r
 .../bindings/mfd/x-powers,ac100.yaml          | 113 ++++++\r
 .../bindings/mfd/x-powers,axp152.yaml         | 381 ++++++++++++++++++\r
 .../devicetree/bindings/mmc/mmc-card.txt      |  30 --\r
 .../devicetree/bindings/mmc/mmc-card.yaml     |  48 +++\r
 .../bindings/mmc/mmc-controller.yaml          |   6 -\r
 .../net/allwinner,sun8i-a83t-emac.yaml        |   4 +-\r
 .../bindings/net/broadcom-bluetooth.yaml      |  17 +-\r
 .../bindings/net/realtek-bluetooth.yaml       |   2 +\r
 .../devicetree/bindings/net/snps,dwmac.yaml   |   6 +-\r
 .../bindings/net/wireless/esp,esp8089.txt     |  30 --\r
 .../bindings/net/wireless/esp,esp8089.yaml    |  43 ++\r
 .../x-powers,axp20x-ac-power-supply.yaml      |  11 +-\r
 .../x-powers,axp20x-battery-power-supply.yaml |  12 +-\r
 .../x-powers,axp20x-usb-power-supply.yaml     |  14 +-\r
 .../bindings/regulator/silergy,sy8106a.yaml   |  52 +++\r
 .../bindings/regulator/sy8106a-regulator.txt  |  23 --\r
 .../reserved-memory/reserved-memory.txt       | 141 -------\r
 .../reserved-memory/reserved-memory.yaml      | 167 ++++++++\r
 .../devicetree/bindings/sound/bt-sco.txt      |  13 -\r
 .../bindings/sound/linux,bt-sco.yaml          |  34 ++\r
 .../bindings/sound/linux,spdif-dit.yaml       |  32 ++\r
 .../bindings/sound/simple-amplifier.txt       |  17 -\r
 .../sound/simple-audio-amplifier.yaml         |  45 +++\r
 .../bindings/sound/spdif-transmitter.txt      |  10 -\r
 .../devicetree/bindings/sound/wlf,wm8978.yaml |  58 +++\r
 .../bindings/thermal/thermal-zones.yaml       |   2 +-\r
 .../devicetree/bindings/usb/generic-ehci.yaml |   1 +\r
 .../devicetree/bindings/usb/generic-ohci.yaml |   1 +\r
 .../devicetree/bindings/usb/smsc,usb3503.yaml | 104 +++++\r
 .../devicetree/bindings/usb/snps,dwc3.yaml    |  10 +-\r
 .../devicetree/bindings/usb/usb3503.txt       |  39 --\r
 .../devicetree/bindings/w1/w1-gpio.txt        |  27 --\r
 .../devicetree/bindings/w1/w1-gpio.yaml       |  43 ++\r
 arch/arm/boot/dts/axp209.dtsi                 |   6 +-\r
 arch/arm/boot/dts/axp22x.dtsi                 |   6 +-\r
 arch/arm/boot/dts/axp81x.dtsi                 |  10 +-\r
 .../arm/boot/dts/sun4i-a10-olinuxino-lime.dts |  11 +-\r
 arch/arm/boot/dts/sun4i-a10.dtsi              |  11 +-\r
 arch/arm/boot/dts/sun5i-a13.dtsi              |  15 +-\r
 arch/arm/boot/dts/sun6i-a31.dtsi              |  44 +-\r
 arch/arm/boot/dts/sun7i-a20-bananapi.dts      |  17 +-\r
 arch/arm/boot/dts/sun7i-a20.dtsi              |  34 +-\r
 arch/arm/boot/dts/sun8i-a33.dtsi              |   4 +-\r
 arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts     |   2 +-\r
 arch/arm/boot/dts/sun8i-a83t.dtsi             |   4 +-\r
 arch/arm/boot/dts/sun8i-h3.dtsi               |   4 +-\r
 arch/arm/boot/dts/sun8i-v3-sl631.dtsi         |   2 +-\r
 arch/arm/boot/dts/sun8i-v3s.dtsi              |   2 -\r
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts   |   2 +-\r
 .../boot/dts/sunxi-libretech-all-h3-it.dtsi   |   2 +-\r
 arch/arm64/boot/dts/allwinner/axp803.dtsi     |  10 +-\r
 .../arm64/boot/dts/allwinner/sun50i-a100.dtsi |   6 +-\r
 .../dts/allwinner/sun50i-a64-cpu-opp.dtsi     |   2 +-\r
 .../dts/allwinner/sun50i-a64-orangepi-win.dts |   2 +-\r
 .../dts/allwinner/sun50i-a64-pinephone.dtsi   |   2 +-\r
 .../boot/dts/allwinner/sun50i-a64-pinetab.dts |   2 +-\r
 .../boot/dts/allwinner/sun50i-a64-teres-i.dts |   3 +-\r
 .../boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi |   2 +-\r
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi  |   2 +-\r
 .../dts/allwinner/sun50i-h6-beelink-gs1.dts   |   2 -\r
 .../boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi |   2 +-\r
 .../dts/allwinner/sun50i-h6-orangepi-3.dts    |   2 -\r
 .../boot/dts/allwinner/sun50i-h6-pine-h64.dts |   2 -\r
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |   8 +-\r
 92 files changed, 2221 insertions(+), 1428 deletions(-)\r
 create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml\r
 create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt\r
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml\r
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml\r
 create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt\r
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt\r
 create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml\r
 create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.txt\r
 create mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.yaml\r
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt\r
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt\r
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt\r
 delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt\r
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt\r
 delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt\r
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml\r
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt\r
 create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt\r
 create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml\r
 create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt\r
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt\r
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt\r
 create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml\r
 create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt\r
 create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt\r
 create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml\r
 create mode 100644 Documentation/devicetree/bindings/usb/smsc,usb3503.yaml\r
 delete mode 100644 Documentation/devicetree/bindings/usb/usb3503.txt\r
 delete mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.txt\r
 create mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.yaml\r
\r
-- \r
2.31.1\r
\r

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 00/54] ARM: dts: Last round of DT schema fixes
@ 2021-07-21 14:03 ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Hi,

Here's another round of schema warnings fixes for the Allwinner platform.

There's a fair share of new schemas in there since the schema tools now warn
when a compatible is not documented in a schema.

We don't have any warning anymore if we use the OPP binding Rob submitted, and
since that means we have all our devices properly validated I don't expect more
fixes now, aside from the usual bunch of regressions.

Let me know what you think,
Maxime

Maxime Ripard (54):
  ASoC: dt-bindings: Add WM8978 Binding
  ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
  ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
  ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
  dt-bindings: Convert Reserved Memory binding to a schema
  dt-bindings: arm: Convert ARM CCI-400 binding to a schema
  dt-bindings: bluetooth: broadcom: Fix clocks check
  dt-bindings: bluetooth: realtek: Add missing max-speed
  dt-bindings: clocks: Fix typo in the H6 compatible
  dt-bindings: display: panel-lvds: Document panel compatibles
  dt-bindings: display: simple-bridge: Add corpro,gm7123 compatible
  dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema
  dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
  dt-bindings: hwmon: Add IIO HWMON binding
  dt-bindings: iio: st: Remove wrong items length check
  dt-bindings: input: Convert ChipOne ICN8318 binding to a schema
  dt-bindings: input: Convert Pixcir Touchscreen binding to a schema
  dt-bindings: input: Convert Regulator Haptic binding to a schema
  dt-bindings: input: Convert Silead GSL1680 binding to a schema
  dt-bindings: input: sun4i-lradc: Add wakeup-source
  dt-bindings: interconnect: sunxi: Add R40 MBUS compatible
  dt-bindings: media: Convert OV5640 binding to a schema
  dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
  dt-bindings: mfd: Convert X-Powers AXP binding to a schema
  dt-bindings: mmc: Convert MMC Card binding to a schema
  dt-bindings: net: dwmac: Fix typo in the R40 compatible
  dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema
  dt-bindings: power: supply: axp20x: Add AXP803 compatible
  dt-bindings: power: supply: axp20x-battery: Add AXP209 compatible
  dt-bindings: regulator: Convert SY8106A binding to a schema
  dt-bindings: sunxi: Add CPU Configuration Controller Binding
  dt-bindings: sunxi: Add Allwinner A80 PRCM Binding
  dt-bindings: thermal: Make trips node optional
  dt-bindings: usb: Convert SMSC USB3503 binding to a schema
  dt-bindings: usb: dwc3: Fix usb-phy check
  dt-bindings: usb: ehci: Add Allwinner A83t compatible
  dt-bindings: usb: ohci: Add Allwinner A83t compatible
  dt-bindings: w1: Convert 1-Wire GPIO binding to a schema
  ARM: dts: sunxi: Rename power-supply names
  ARM: dts: sunxi: Rename gpio pinctrl names
  ARM: dts: sunxi: Fix OPP arrays
  ARM: dts: sunxi: Fix OPPs node name
  ARM: dts: sunxi: Fix the SPI NOR node names
  ARM: dts: v3s: Remove useless DMA properties
  ARM: dts: tbs711: Fix touchscreen compatible
  ARM: dts: cubieboard4: Remove the dumb-vga-dac compatible
  arm64: dts: allwinner: h5: Fix GPU thermal zone node name
  arm64: dts: allwinner: h6: Fix de3 parent clocks ordering
  arm64: dts: allwinner: a100: Fix thermal zone node name
  arm64: dts: allwinner: pinetab: Change regulator node name to avoid
    warning
  arm64: dts: allwinner: teres-i: Add missing reg
  arm64: dts: allwinner: Remove regulator-ramp-delay
  arm64: dts: allwinner: teres-i: Remove wakekup-source from the PMIC
  arm64: dts: allwinner: pinephone: Fix BT SCO codec cells size

 .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 ++++++++++
 .../bindings/arm/cci-control-port.yaml        |  38 ++
 Documentation/devicetree/bindings/arm/cci.txt | 224 ----------
 .../arm/sunxi/allwinner,sun4i-a10-mbus.yaml   |   1 +
 .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml  |  38 ++
 .../arm/sunxi/allwinner,sun9i-a80-prcm.yaml   |  33 ++
 .../clock/allwinner,sun8i-a83t-de2-clk.yaml   |   2 +-
 .../display/bridge/simple-bridge.yaml         |   3 +
 .../bindings/display/panel/lvds.yaml          |  18 +-
 .../bindings/gnss/u-blox,neo-6m.yaml          |  62 +++
 .../devicetree/bindings/gnss/u-blox.txt       |  45 ---
 .../devicetree/bindings/gpio/gpio-axp209.txt  |  75 ----
 .../bindings/gpio/x-powers,axp209-gpio.yaml   |  84 ++++
 .../devicetree/bindings/hwmon/iio-hwmon.yaml  |  37 ++
 .../bindings/iio/st,st-sensors.yaml           |  41 --
 .../input/allwinner,sun4i-a10-lradc-keys.yaml |   2 +
 .../bindings/input/regulator-haptic.txt       |  21 -
 .../bindings/input/regulator-haptic.yaml      |  43 ++
 .../input/touchscreen/chipone,icn8318.yaml    |  62 +++
 .../input/touchscreen/chipone_icn8318.txt     |  44 --
 .../input/touchscreen/pixcir,pixcir_ts.yaml   |  68 ++++
 .../input/touchscreen/pixcir_i2c_ts.txt       |  31 --
 .../input/touchscreen/silead,gsl1680.yaml     |  90 +++++
 .../input/touchscreen/silead_gsl1680.txt      |  44 --
 .../devicetree/bindings/media/i2c/ov5640.txt  |  92 -----
 .../bindings/media/i2c/ovti,ov5640.yaml       | 154 +++++++
 .../devicetree/bindings/mfd/ac100.txt         |  50 ---
 .../devicetree/bindings/mfd/axp20x.txt        | 272 -------------
 .../bindings/mfd/x-powers,ac100.yaml          | 113 ++++++
 .../bindings/mfd/x-powers,axp152.yaml         | 381 ++++++++++++++++++
 .../devicetree/bindings/mmc/mmc-card.txt      |  30 --
 .../devicetree/bindings/mmc/mmc-card.yaml     |  48 +++
 .../bindings/mmc/mmc-controller.yaml          |   6 -
 .../net/allwinner,sun8i-a83t-emac.yaml        |   4 +-
 .../bindings/net/broadcom-bluetooth.yaml      |  17 +-
 .../bindings/net/realtek-bluetooth.yaml       |   2 +
 .../devicetree/bindings/net/snps,dwmac.yaml   |   6 +-
 .../bindings/net/wireless/esp,esp8089.txt     |  30 --
 .../bindings/net/wireless/esp,esp8089.yaml    |  43 ++
 .../x-powers,axp20x-ac-power-supply.yaml      |  11 +-
 .../x-powers,axp20x-battery-power-supply.yaml |  12 +-
 .../x-powers,axp20x-usb-power-supply.yaml     |  14 +-
 .../bindings/regulator/silergy,sy8106a.yaml   |  52 +++
 .../bindings/regulator/sy8106a-regulator.txt  |  23 --
 .../reserved-memory/reserved-memory.txt       | 141 -------
 .../reserved-memory/reserved-memory.yaml      | 167 ++++++++
 .../devicetree/bindings/sound/bt-sco.txt      |  13 -
 .../bindings/sound/linux,bt-sco.yaml          |  34 ++
 .../bindings/sound/linux,spdif-dit.yaml       |  32 ++
 .../bindings/sound/simple-amplifier.txt       |  17 -
 .../sound/simple-audio-amplifier.yaml         |  45 +++
 .../bindings/sound/spdif-transmitter.txt      |  10 -
 .../devicetree/bindings/sound/wlf,wm8978.yaml |  58 +++
 .../bindings/thermal/thermal-zones.yaml       |   2 +-
 .../devicetree/bindings/usb/generic-ehci.yaml |   1 +
 .../devicetree/bindings/usb/generic-ohci.yaml |   1 +
 .../devicetree/bindings/usb/smsc,usb3503.yaml | 104 +++++
 .../devicetree/bindings/usb/snps,dwc3.yaml    |  10 +-
 .../devicetree/bindings/usb/usb3503.txt       |  39 --
 .../devicetree/bindings/w1/w1-gpio.txt        |  27 --
 .../devicetree/bindings/w1/w1-gpio.yaml       |  43 ++
 arch/arm/boot/dts/axp209.dtsi                 |   6 +-
 arch/arm/boot/dts/axp22x.dtsi                 |   6 +-
 arch/arm/boot/dts/axp81x.dtsi                 |  10 +-
 .../arm/boot/dts/sun4i-a10-olinuxino-lime.dts |  11 +-
 arch/arm/boot/dts/sun4i-a10.dtsi              |  11 +-
 arch/arm/boot/dts/sun5i-a13.dtsi              |  15 +-
 arch/arm/boot/dts/sun6i-a31.dtsi              |  44 +-
 arch/arm/boot/dts/sun7i-a20-bananapi.dts      |  17 +-
 arch/arm/boot/dts/sun7i-a20.dtsi              |  34 +-
 arch/arm/boot/dts/sun8i-a33.dtsi              |   4 +-
 arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts     |   2 +-
 arch/arm/boot/dts/sun8i-a83t.dtsi             |   4 +-
 arch/arm/boot/dts/sun8i-h3.dtsi               |   4 +-
 arch/arm/boot/dts/sun8i-v3-sl631.dtsi         |   2 +-
 arch/arm/boot/dts/sun8i-v3s.dtsi              |   2 -
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts   |   2 +-
 .../boot/dts/sunxi-libretech-all-h3-it.dtsi   |   2 +-
 arch/arm64/boot/dts/allwinner/axp803.dtsi     |  10 +-
 .../arm64/boot/dts/allwinner/sun50i-a100.dtsi |   6 +-
 .../dts/allwinner/sun50i-a64-cpu-opp.dtsi     |   2 +-
 .../dts/allwinner/sun50i-a64-orangepi-win.dts |   2 +-
 .../dts/allwinner/sun50i-a64-pinephone.dtsi   |   2 +-
 .../boot/dts/allwinner/sun50i-a64-pinetab.dts |   2 +-
 .../boot/dts/allwinner/sun50i-a64-teres-i.dts |   3 +-
 .../boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi |   2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi  |   2 +-
 .../dts/allwinner/sun50i-h6-beelink-gs1.dts   |   2 -
 .../boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi |   2 +-
 .../dts/allwinner/sun50i-h6-orangepi-3.dts    |   2 -
 .../boot/dts/allwinner/sun50i-h6-pine-h64.dts |   2 -
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |   8 +-
 92 files changed, 2221 insertions(+), 1428 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
 delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml
 create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
 delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
 create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.txt
 create mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.yaml
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
 delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
 delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt
 delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
 delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
 create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml
 delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
 create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
 create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
 create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt
 create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
 create mode 100644 Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/usb3503.txt
 delete mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.yaml

-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 01/54] ASoC: dt-bindings: Add WM8978 Binding
  2021-07-21 14:03 ` Maxime Ripard
  (?)
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood, Mark Brown

Even though we had the wm8978 driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml

diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
new file mode 100644
index 000000000000..6761380261e3
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Wolfson WM8978 Codec Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  '#sound-dai-cells':
+    const: 0
+
+  compatible:
+    const: wlf,wm8978
+
+  reg:
+    maxItems: 1
+
+  spi-max-frequency:
+    maximum: 526000
+
+required:
+  - '#sound-dai-cells'
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@0 {
+            #sound-dai-cells = <0>;
+            compatible = "wlf,wm8978";
+            reg = <0>;
+            spi-max-frequency = <500000>;
+        };
+    };
+
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@0 {
+            #sound-dai-cells = <0>;
+            compatible = "wlf,wm8978";
+            reg = <0>;
+        };
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 01/54] ASoC: dt-bindings: Add WM8978 Binding
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-sunxi, Mark Brown, alsa-devel, linux-arm-kernel, Liam Girdwood

Even though we had the wm8978 driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml

diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
new file mode 100644
index 000000000000..6761380261e3
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Wolfson WM8978 Codec Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  '#sound-dai-cells':
+    const: 0
+
+  compatible:
+    const: wlf,wm8978
+
+  reg:
+    maxItems: 1
+
+  spi-max-frequency:
+    maximum: 526000
+
+required:
+  - '#sound-dai-cells'
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@0 {
+            #sound-dai-cells = <0>;
+            compatible = "wlf,wm8978";
+            reg = <0>;
+            spi-max-frequency = <500000>;
+        };
+    };
+
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@0 {
+            #sound-dai-cells = <0>;
+            compatible = "wlf,wm8978";
+            reg = <0>;
+        };
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 01/54] ASoC: dt-bindings: Add WM8978 Binding
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood, Mark Brown

Even though we had the wm8978 driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml

diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
new file mode 100644
index 000000000000..6761380261e3
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
@@ -0,0 +1,58 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Wolfson WM8978 Codec Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  '#sound-dai-cells':
+    const: 0
+
+  compatible:
+    const: wlf,wm8978
+
+  reg:
+    maxItems: 1
+
+  spi-max-frequency:
+    maximum: 526000
+
+required:
+  - '#sound-dai-cells'
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+    spi {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@0 {
+            #sound-dai-cells = <0>;
+            compatible = "wlf,wm8978";
+            reg = <0>;
+            spi-max-frequency = <500000>;
+        };
+    };
+
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@0 {
+            #sound-dai-cells = <0>;
+            compatible = "wlf,wm8978";
+            reg = <0>;
+        };
+    };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
  (?)
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood,
	Mark Brown, Samuel Holland

Bluetooth SCO Link are supported by Linux with a matching device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

The value expected for #sound-dai-cells wasn't documented though, and
the users were inconsistent. The example didn't list it, and across the
4 users we have in tree:
  - 1 had a cells value of 1, but using only 0 as argument
  - 1 had a cells value of 0,
  - 2 didn't have this property at all, behaving as if it was 0,

It seems like the consensus seems to be that it should be 0, so let's
enforce it.

Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/sound/bt-sco.txt      | 13 -------
 .../bindings/sound/linux,bt-sco.yaml          | 34 +++++++++++++++++++
 2 files changed, 34 insertions(+), 13 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
 create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml

diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
deleted file mode 100644
index 641edf75e184..000000000000
--- a/Documentation/devicetree/bindings/sound/bt-sco.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Bluetooth-SCO audio CODEC
-
-This device support generic Bluetooth SCO link.
-
-Required properties:
-
-  - compatible : "delta,dfbmcs320" or "linux,bt-sco"
-
-Example:
-
-codec: bt_sco {
-	compatible = "delta,dfbmcs320";
-};
diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
new file mode 100644
index 000000000000..334b508205cd
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bluetooth SCO Audio Codec Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  '#sound-dai-cells':
+    const: 0
+
+  compatible:
+    enum:
+      - delta,dfbmcs320
+      - linux,bt-sco
+
+required:
+  - '#sound-dai-cells'
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    codec {
+        #sound-dai-cells = <0>;
+        compatible = "linux,bt-sco";
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: alsa-devel, Samuel Holland, Liam Girdwood, linux-sunxi,
	Mark Brown, linux-arm-kernel

Bluetooth SCO Link are supported by Linux with a matching device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

The value expected for #sound-dai-cells wasn't documented though, and
the users were inconsistent. The example didn't list it, and across the
4 users we have in tree:
  - 1 had a cells value of 1, but using only 0 as argument
  - 1 had a cells value of 0,
  - 2 didn't have this property at all, behaving as if it was 0,

It seems like the consensus seems to be that it should be 0, so let's
enforce it.

Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/sound/bt-sco.txt      | 13 -------
 .../bindings/sound/linux,bt-sco.yaml          | 34 +++++++++++++++++++
 2 files changed, 34 insertions(+), 13 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
 create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml

diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
deleted file mode 100644
index 641edf75e184..000000000000
--- a/Documentation/devicetree/bindings/sound/bt-sco.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Bluetooth-SCO audio CODEC
-
-This device support generic Bluetooth SCO link.
-
-Required properties:
-
-  - compatible : "delta,dfbmcs320" or "linux,bt-sco"
-
-Example:
-
-codec: bt_sco {
-	compatible = "delta,dfbmcs320";
-};
diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
new file mode 100644
index 000000000000..334b508205cd
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bluetooth SCO Audio Codec Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  '#sound-dai-cells':
+    const: 0
+
+  compatible:
+    enum:
+      - delta,dfbmcs320
+      - linux,bt-sco
+
+required:
+  - '#sound-dai-cells'
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    codec {
+        #sound-dai-cells = <0>;
+        compatible = "linux,bt-sco";
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood,
	Mark Brown, Samuel Holland

Bluetooth SCO Link are supported by Linux with a matching device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

The value expected for #sound-dai-cells wasn't documented though, and
the users were inconsistent. The example didn't list it, and across the
4 users we have in tree:
  - 1 had a cells value of 1, but using only 0 as argument
  - 1 had a cells value of 0,
  - 2 didn't have this property at all, behaving as if it was 0,

It seems like the consensus seems to be that it should be 0, so let's
enforce it.

Cc: alsa-devel@alsa-project.org
Cc: devicetree@vger.kernel.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/sound/bt-sco.txt      | 13 -------
 .../bindings/sound/linux,bt-sco.yaml          | 34 +++++++++++++++++++
 2 files changed, 34 insertions(+), 13 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
 create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml

diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
deleted file mode 100644
index 641edf75e184..000000000000
--- a/Documentation/devicetree/bindings/sound/bt-sco.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-Bluetooth-SCO audio CODEC
-
-This device support generic Bluetooth SCO link.
-
-Required properties:
-
-  - compatible : "delta,dfbmcs320" or "linux,bt-sco"
-
-Example:
-
-codec: bt_sco {
-	compatible = "delta,dfbmcs320";
-};
diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
new file mode 100644
index 000000000000..334b508205cd
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bluetooth SCO Audio Codec Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  '#sound-dai-cells':
+    const: 0
+
+  compatible:
+    enum:
+      - delta,dfbmcs320
+      - linux,bt-sco
+
+required:
+  - '#sound-dai-cells'
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    codec {
+        #sound-dai-cells = <0>;
+        compatible = "linux,bt-sco";
+    };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 03/54] ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
  (?)
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood, Mark Brown

The SPDIF Transmitter binding is used by Linux with a matching Device
Tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: alsa-devel@alsa-project.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/sound/linux,spdif-dit.yaml       | 32 +++++++++++++++++++
 .../bindings/sound/spdif-transmitter.txt      | 10 ------
 2 files changed, 32 insertions(+), 10 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt

diff --git a/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml b/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
new file mode 100644
index 000000000000..c6b070e1d014
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/linux,spdif-dit.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dummy SPDIF Transmitter Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  compatible:
+    const: linux,spdif-dit
+
+  "#sound-dai-cells":
+    const: 0
+
+required:
+  - "#sound-dai-cells"
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    spdif-out {
+        #sound-dai-cells = <0>;
+        compatible = "linux,spdif-dit";
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt b/Documentation/devicetree/bindings/sound/spdif-transmitter.txt
deleted file mode 100644
index 55a85841dd85..000000000000
--- a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Device-Tree bindings for dummy spdif transmitter
-
-Required properties:
-	- compatible: should be "linux,spdif-dit".
-
-Example node:
-
-	codec: spdif-transmitter {
-		compatible = "linux,spdif-dit";
-	};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 03/54] ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-sunxi, Mark Brown, alsa-devel, linux-arm-kernel, Liam Girdwood

The SPDIF Transmitter binding is used by Linux with a matching Device
Tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: alsa-devel@alsa-project.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/sound/linux,spdif-dit.yaml       | 32 +++++++++++++++++++
 .../bindings/sound/spdif-transmitter.txt      | 10 ------
 2 files changed, 32 insertions(+), 10 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt

diff --git a/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml b/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
new file mode 100644
index 000000000000..c6b070e1d014
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/linux,spdif-dit.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dummy SPDIF Transmitter Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  compatible:
+    const: linux,spdif-dit
+
+  "#sound-dai-cells":
+    const: 0
+
+required:
+  - "#sound-dai-cells"
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    spdif-out {
+        #sound-dai-cells = <0>;
+        compatible = "linux,spdif-dit";
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt b/Documentation/devicetree/bindings/sound/spdif-transmitter.txt
deleted file mode 100644
index 55a85841dd85..000000000000
--- a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Device-Tree bindings for dummy spdif transmitter
-
-Required properties:
-	- compatible: should be "linux,spdif-dit".
-
-Example node:
-
-	codec: spdif-transmitter {
-		compatible = "linux,spdif-dit";
-	};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 03/54] ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood, Mark Brown

The SPDIF Transmitter binding is used by Linux with a matching Device
Tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: alsa-devel@alsa-project.org
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/sound/linux,spdif-dit.yaml       | 32 +++++++++++++++++++
 .../bindings/sound/spdif-transmitter.txt      | 10 ------
 2 files changed, 32 insertions(+), 10 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt

diff --git a/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml b/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
new file mode 100644
index 000000000000..c6b070e1d014
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/linux,spdif-dit.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Dummy SPDIF Transmitter Device Tree Bindings
+
+maintainers:
+  - Mark Brown <broonie@kernel.org>
+
+properties:
+  compatible:
+    const: linux,spdif-dit
+
+  "#sound-dai-cells":
+    const: 0
+
+required:
+  - "#sound-dai-cells"
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    spdif-out {
+        #sound-dai-cells = <0>;
+        compatible = "linux,spdif-dit";
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt b/Documentation/devicetree/bindings/sound/spdif-transmitter.txt
deleted file mode 100644
index 55a85841dd85..000000000000
--- a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Device-Tree bindings for dummy spdif transmitter
-
-Required properties:
-	- compatible: should be "linux,spdif-dit".
-
-Example node:
-
-	codec: spdif-transmitter {
-		compatible = "linux,spdif-dit";
-	};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 04/54] ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
  (?)
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Jerome Brunet,
	Liam Girdwood, Mark Brown

Simple audio amplifiers are supported by Linux with a matching device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: alsa-devel@alsa-project.org
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/sound/simple-amplifier.txt       | 17 -------
 .../sound/simple-audio-amplifier.yaml         | 45 +++++++++++++++++++
 2 files changed, 45 insertions(+), 17 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
 create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml

diff --git a/Documentation/devicetree/bindings/sound/simple-amplifier.txt b/Documentation/devicetree/bindings/sound/simple-amplifier.txt
deleted file mode 100644
index b1b097cc9b68..000000000000
--- a/Documentation/devicetree/bindings/sound/simple-amplifier.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Simple Amplifier Audio Driver
-
-Required properties:
-- compatible : "dioo,dio2125" or "simple-audio-amplifier"
-
-Optional properties:
-- enable-gpios : the gpio connected to the enable pin of the simple amplifier
-- VCC-supply   : power supply for the device, as covered
-                 in Documentation/devicetree/bindings/regulator/regulator.txt
-
-Example:
-
-amp: analog-amplifier {
-	compatible = "simple-audio-amplifier";
-	VCC-supply = <&regulator>;
-	enable-gpios = <&gpio GPIOH_3 0>;
-};
diff --git a/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml b/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
new file mode 100644
index 000000000000..26379377a7ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/simple-audio-amplifier.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Simple Audio Amplifier Device Tree Bindings
+
+maintainers:
+  - Jerome Brunet <jbrunet@baylibre.com>
+
+properties:
+  compatible:
+    enum:
+      - dioo,dio2125
+      - simple-audio-amplifier
+
+  enable-gpios:
+    maxItems: 1
+
+  VCC-supply:
+    description: >
+      power supply for the device
+
+  sound-name-prefix:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: >
+      See ./name-prefix.txt
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/meson8-gpio.h>
+
+    analog-amplifier {
+        compatible = "simple-audio-amplifier";
+        VCC-supply = <&regulator>;
+        enable-gpios = <&gpio GPIOH_3 0>;
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 04/54] ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: alsa-devel, Liam Girdwood, linux-sunxi, Mark Brown,
	linux-arm-kernel, Jerome Brunet

Simple audio amplifiers are supported by Linux with a matching device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: alsa-devel@alsa-project.org
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/sound/simple-amplifier.txt       | 17 -------
 .../sound/simple-audio-amplifier.yaml         | 45 +++++++++++++++++++
 2 files changed, 45 insertions(+), 17 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
 create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml

diff --git a/Documentation/devicetree/bindings/sound/simple-amplifier.txt b/Documentation/devicetree/bindings/sound/simple-amplifier.txt
deleted file mode 100644
index b1b097cc9b68..000000000000
--- a/Documentation/devicetree/bindings/sound/simple-amplifier.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Simple Amplifier Audio Driver
-
-Required properties:
-- compatible : "dioo,dio2125" or "simple-audio-amplifier"
-
-Optional properties:
-- enable-gpios : the gpio connected to the enable pin of the simple amplifier
-- VCC-supply   : power supply for the device, as covered
-                 in Documentation/devicetree/bindings/regulator/regulator.txt
-
-Example:
-
-amp: analog-amplifier {
-	compatible = "simple-audio-amplifier";
-	VCC-supply = <&regulator>;
-	enable-gpios = <&gpio GPIOH_3 0>;
-};
diff --git a/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml b/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
new file mode 100644
index 000000000000..26379377a7ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/simple-audio-amplifier.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Simple Audio Amplifier Device Tree Bindings
+
+maintainers:
+  - Jerome Brunet <jbrunet@baylibre.com>
+
+properties:
+  compatible:
+    enum:
+      - dioo,dio2125
+      - simple-audio-amplifier
+
+  enable-gpios:
+    maxItems: 1
+
+  VCC-supply:
+    description: >
+      power supply for the device
+
+  sound-name-prefix:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: >
+      See ./name-prefix.txt
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/meson8-gpio.h>
+
+    analog-amplifier {
+        compatible = "simple-audio-amplifier";
+        VCC-supply = <&regulator>;
+        enable-gpios = <&gpio GPIOH_3 0>;
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 04/54] ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Jerome Brunet,
	Liam Girdwood, Mark Brown

Simple audio amplifiers are supported by Linux with a matching device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: alsa-devel@alsa-project.org
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/sound/simple-amplifier.txt       | 17 -------
 .../sound/simple-audio-amplifier.yaml         | 45 +++++++++++++++++++
 2 files changed, 45 insertions(+), 17 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
 create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml

diff --git a/Documentation/devicetree/bindings/sound/simple-amplifier.txt b/Documentation/devicetree/bindings/sound/simple-amplifier.txt
deleted file mode 100644
index b1b097cc9b68..000000000000
--- a/Documentation/devicetree/bindings/sound/simple-amplifier.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Simple Amplifier Audio Driver
-
-Required properties:
-- compatible : "dioo,dio2125" or "simple-audio-amplifier"
-
-Optional properties:
-- enable-gpios : the gpio connected to the enable pin of the simple amplifier
-- VCC-supply   : power supply for the device, as covered
-                 in Documentation/devicetree/bindings/regulator/regulator.txt
-
-Example:
-
-amp: analog-amplifier {
-	compatible = "simple-audio-amplifier";
-	VCC-supply = <&regulator>;
-	enable-gpios = <&gpio GPIOH_3 0>;
-};
diff --git a/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml b/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
new file mode 100644
index 000000000000..26379377a7ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/sound/simple-audio-amplifier.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Simple Audio Amplifier Device Tree Bindings
+
+maintainers:
+  - Jerome Brunet <jbrunet@baylibre.com>
+
+properties:
+  compatible:
+    enum:
+      - dioo,dio2125
+      - simple-audio-amplifier
+
+  enable-gpios:
+    maxItems: 1
+
+  VCC-supply:
+    description: >
+      power supply for the device
+
+  sound-name-prefix:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: >
+      See ./name-prefix.txt
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/meson8-gpio.h>
+
+    analog-amplifier {
+        compatible = "simple-audio-amplifier";
+        VCC-supply = <&regulator>;
+        enable-gpios = <&gpio GPIOH_3 0>;
+    };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 05/54] dt-bindings: Convert Reserved Memory binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Mailing List

The Reserved Memory mechanism is supported by Linux thanks to its device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Mailing List <devicetree-spec@vger.kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../reserved-memory/reserved-memory.txt       | 141 ---------------
 .../reserved-memory/reserved-memory.yaml      | 167 ++++++++++++++++++
 2 files changed, 167 insertions(+), 141 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml

diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
deleted file mode 100644
index e8d3096d922c..000000000000
--- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-*** Reserved memory regions ***
-
-Reserved memory is specified as a node under the /reserved-memory node.
-The operating system shall exclude reserved memory from normal usage
-one can create child nodes describing particular reserved (excluded from
-normal use) memory regions. Such memory regions are usually designed for
-the special usage by various device drivers.
-
-Parameters for each memory region can be encoded into the device tree
-with the following nodes:
-
-/reserved-memory node
----------------------
-#address-cells, #size-cells (required) - standard definition
-    - Should use the same values as the root node
-ranges (required) - standard definition
-    - Should be empty
-
-/reserved-memory/ child nodes
------------------------------
-Each child of the reserved-memory node specifies one or more regions of
-reserved memory. Each child node may either use a 'reg' property to
-specify a specific range of reserved memory, or a 'size' property with
-optional constraints to request a dynamically allocated block of memory.
-
-Following the generic-names recommended practice, node names should
-reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
-address (@<address>) should be appended to the name if the node is a
-static allocation.
-
-Properties:
-Requires either a) or b) below.
-a) static allocation
-   reg (required) - standard definition
-b) dynamic allocation
-   size (required) - length based on parent's #size-cells
-                   - Size in bytes of memory to reserve.
-   alignment (optional) - length based on parent's #size-cells
-                        - Address boundary for alignment of allocation.
-   alloc-ranges (optional) - prop-encoded-array (address, length pairs).
-                           - Specifies regions of memory that are
-                             acceptable to allocate from.
-
-If both reg and size are present, then the reg property takes precedence
-and size is ignored.
-
-Additional properties:
-compatible (optional) - standard definition
-    - may contain the following strings:
-        - shared-dma-pool: This indicates a region of memory meant to be
-          used as a shared pool of DMA buffers for a set of devices. It can
-          be used by an operating system to instantiate the necessary pool
-          management subsystem if necessary.
-        - vendor specific string in the form <vendor>,[<device>-]<usage>
-no-map (optional) - empty property
-    - Indicates the operating system must not create a virtual mapping
-      of the region as part of its standard mapping of system memory,
-      nor permit speculative access to it under any circumstances other
-      than under the control of the device driver using the region.
-reusable (optional) - empty property
-    - The operating system can use the memory in this region with the
-      limitation that the device driver(s) owning the region need to be
-      able to reclaim it back. Typically that means that the operating
-      system can use that region to store volatile or cached data that
-      can be otherwise regenerated or migrated elsewhere.
-
-A node must not carry both the no-map and the reusable property as these are
-logically contradictory.
-
-Linux implementation note:
-- If a "linux,cma-default" property is present, then Linux will use the
-  region for the default pool of the contiguous memory allocator.
-
-- If a "linux,dma-default" property is present, then Linux will use the
-  region for the default pool of the consistent DMA allocator.
-
-Device node references to reserved memory
------------------------------------------
-Regions in the /reserved-memory node may be referenced by other device
-nodes by adding a memory-region property to the device node.
-
-memory-region (optional) - phandle, specifier pairs to children of /reserved-memory
-memory-region-names (optional) - a list of names, one for each corresponding
-  entry in the memory-region property
-
-Example
--------
-This example defines 3 contiguous regions are defined for Linux kernel:
-one default of all device drivers (named linux,cma@72000000 and 64MiB in size),
-one dedicated to the framebuffer device (named framebuffer@78000000, 8MiB), and
-one for multimedia processing (named multimedia-memory@77000000, 64MiB).
-
-/ {
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	memory {
-		reg = <0x40000000 0x40000000>;
-	};
-
-	reserved-memory {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		ranges;
-
-		/* global autoconfigured region for contiguous allocations */
-		linux,cma {
-			compatible = "shared-dma-pool";
-			reusable;
-			size = <0x4000000>;
-			alignment = <0x2000>;
-			linux,cma-default;
-		};
-
-		display_reserved: framebuffer@78000000 {
-			reg = <0x78000000 0x800000>;
-		};
-
-		multimedia_reserved: multimedia@77000000 {
-			compatible = "acme,multimedia-memory";
-			reg = <0x77000000 0x4000000>;
-		};
-	};
-
-	/* ... */
-
-	fb0: video@12300000 {
-		memory-region = <&display_reserved>;
-		/* ... */
-	};
-
-	scaler: scaler@12500000 {
-		memory-region = <&multimedia_reserved>;
-		/* ... */
-	};
-
-	codec: codec@12600000 {
-		memory-region = <&multimedia_reserved>;
-		/* ... */
-	};
-};
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
new file mode 100644
index 000000000000..b61527f11953
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: /reserved-memory Node
+
+maintainers:
+  - Devicetree Specification Mailing List <devicetree-spec@vger.kernel.org>
+
+description: >
+  Reserved memory is specified as a node under the /reserved-memory node. The
+  operating system shall exclude reserved memory from normal usage one can
+  create child nodes describing particular reserved (excluded from normal use)
+  memory regions. Such memory regions are usually designed for the special
+  usage by various device drivers.
+
+properties:
+  $nodename:
+    const: reserved-memory
+
+  "#address-cells": true
+  "#size-cells": true
+  ranges: true
+
+patternProperties:
+  "^(?!(ranges))[a-z,-]*(@[0-9]+)?$":
+    type: object
+
+    description: >
+      Each child of the reserved-memory node specifies one or more regions of
+      reserved memory. Each child node may either use a 'reg' property to
+      specify a specific range of reserved memory, or a 'size' property with
+      optional constraints to request a dynamically allocated block of memory.
+
+      Following the generic-names recommended practice, node names should
+      reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
+      address (@<address>) should be appended to the name if the node is a
+      static allocation.
+
+    properties:
+      reg: true
+
+      size:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description: >
+          Length based on parent's \#size-cells. Size in bytes of memory to
+          reserve.
+
+      alignment:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description: >
+          Length based on parent's \#size-cells. Address boundary for
+          alignment of allocation.
+
+      alloc-ranges:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description: >
+          Address and Length pairs. Specifies regions of memory that are
+          acceptable to allocate from.
+
+      compatible:
+        oneOf:
+          - const: shared-dma-pool
+            description: >
+              This indicates a region of memory meant to be used as a shared
+              pool of DMA buffers for a set of devices. It can be used by an
+              operating system to instantiate the necessary pool management
+              subsystem if necessary.
+
+          # Vendor-specific compatibles in the form <vendor>,[<device>-]<usage>
+          - const: mediatek,trustzone-bootinfo
+
+      no-map:
+        type: boolean
+        description: >
+          Indicates the operating system must not create a virtual mapping of
+          the region as part of its standard mapping of system memory, nor
+          permit speculative access to it under any circumstances other than
+          under the control of the device driver using the region.
+
+      reusable:
+        type: boolean
+        description: >
+          The operating system can use the memory in this region with the
+          limitation that the device driver(s) owning the region need to be
+          able to reclaim it back. Typically that means that the operating
+          system can use that region to store volatile or cached data that
+          can be otherwise regenerated or migrated elsewhere.
+
+      linux,cma-default:
+        type: boolean
+        description: >
+          If this property is present, then Linux will use the region for the
+          default pool of the contiguous memory allocator.
+
+      linux,dma-default:
+        type: boolean
+        description: >
+          If this property is present, then Linux will use the region for the
+          default pool of the consistent DMA allocator.
+
+    allOf:
+      - if:
+          required:
+            - no-map
+
+        then:
+          not:
+            required:
+              - reusable
+
+      - if:
+          required:
+            - reusable
+
+        then:
+          not:
+            required:
+              - no-map
+
+    oneOf:
+      - required:
+          - reg
+
+      - required:
+          - size
+
+    additionalProperties: true
+
+additionalProperties: true
+
+examples:
+  - |
+      / {
+          #address-cells = <1>;
+          #size-cells = <1>;
+          model = "MediaTek MT2701 evaluation board";
+          compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
+
+          reserved-memory {
+              #address-cells = <1>;
+              #size-cells = <1>;
+              ranges;
+
+              /* global autoconfigured region for contiguous allocations */
+              linux,cma {
+                  compatible = "shared-dma-pool";
+                  reusable;
+                  size = <0x4000000>;
+                  alignment = <0x2000>;
+                  linux,cma-default;
+              };
+
+              display_reserved: framebuffer@78000000 {
+                  reg = <0x78000000 0x800000>;
+              };
+
+              trustzone-bootinfo@80002000 {
+                  compatible = "mediatek,trustzone-bootinfo";
+                  reg = <0x80002000 0x1000>;
+              };
+          };
+      };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 05/54] dt-bindings: Convert Reserved Memory binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Mailing List

The Reserved Memory mechanism is supported by Linux thanks to its device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Mailing List <devicetree-spec@vger.kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../reserved-memory/reserved-memory.txt       | 141 ---------------
 .../reserved-memory/reserved-memory.yaml      | 167 ++++++++++++++++++
 2 files changed, 167 insertions(+), 141 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
 create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml

diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
deleted file mode 100644
index e8d3096d922c..000000000000
--- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-*** Reserved memory regions ***
-
-Reserved memory is specified as a node under the /reserved-memory node.
-The operating system shall exclude reserved memory from normal usage
-one can create child nodes describing particular reserved (excluded from
-normal use) memory regions. Such memory regions are usually designed for
-the special usage by various device drivers.
-
-Parameters for each memory region can be encoded into the device tree
-with the following nodes:
-
-/reserved-memory node
----------------------
-#address-cells, #size-cells (required) - standard definition
-    - Should use the same values as the root node
-ranges (required) - standard definition
-    - Should be empty
-
-/reserved-memory/ child nodes
------------------------------
-Each child of the reserved-memory node specifies one or more regions of
-reserved memory. Each child node may either use a 'reg' property to
-specify a specific range of reserved memory, or a 'size' property with
-optional constraints to request a dynamically allocated block of memory.
-
-Following the generic-names recommended practice, node names should
-reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
-address (@<address>) should be appended to the name if the node is a
-static allocation.
-
-Properties:
-Requires either a) or b) below.
-a) static allocation
-   reg (required) - standard definition
-b) dynamic allocation
-   size (required) - length based on parent's #size-cells
-                   - Size in bytes of memory to reserve.
-   alignment (optional) - length based on parent's #size-cells
-                        - Address boundary for alignment of allocation.
-   alloc-ranges (optional) - prop-encoded-array (address, length pairs).
-                           - Specifies regions of memory that are
-                             acceptable to allocate from.
-
-If both reg and size are present, then the reg property takes precedence
-and size is ignored.
-
-Additional properties:
-compatible (optional) - standard definition
-    - may contain the following strings:
-        - shared-dma-pool: This indicates a region of memory meant to be
-          used as a shared pool of DMA buffers for a set of devices. It can
-          be used by an operating system to instantiate the necessary pool
-          management subsystem if necessary.
-        - vendor specific string in the form <vendor>,[<device>-]<usage>
-no-map (optional) - empty property
-    - Indicates the operating system must not create a virtual mapping
-      of the region as part of its standard mapping of system memory,
-      nor permit speculative access to it under any circumstances other
-      than under the control of the device driver using the region.
-reusable (optional) - empty property
-    - The operating system can use the memory in this region with the
-      limitation that the device driver(s) owning the region need to be
-      able to reclaim it back. Typically that means that the operating
-      system can use that region to store volatile or cached data that
-      can be otherwise regenerated or migrated elsewhere.
-
-A node must not carry both the no-map and the reusable property as these are
-logically contradictory.
-
-Linux implementation note:
-- If a "linux,cma-default" property is present, then Linux will use the
-  region for the default pool of the contiguous memory allocator.
-
-- If a "linux,dma-default" property is present, then Linux will use the
-  region for the default pool of the consistent DMA allocator.
-
-Device node references to reserved memory
------------------------------------------
-Regions in the /reserved-memory node may be referenced by other device
-nodes by adding a memory-region property to the device node.
-
-memory-region (optional) - phandle, specifier pairs to children of /reserved-memory
-memory-region-names (optional) - a list of names, one for each corresponding
-  entry in the memory-region property
-
-Example
--------
-This example defines 3 contiguous regions are defined for Linux kernel:
-one default of all device drivers (named linux,cma@72000000 and 64MiB in size),
-one dedicated to the framebuffer device (named framebuffer@78000000, 8MiB), and
-one for multimedia processing (named multimedia-memory@77000000, 64MiB).
-
-/ {
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	memory {
-		reg = <0x40000000 0x40000000>;
-	};
-
-	reserved-memory {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		ranges;
-
-		/* global autoconfigured region for contiguous allocations */
-		linux,cma {
-			compatible = "shared-dma-pool";
-			reusable;
-			size = <0x4000000>;
-			alignment = <0x2000>;
-			linux,cma-default;
-		};
-
-		display_reserved: framebuffer@78000000 {
-			reg = <0x78000000 0x800000>;
-		};
-
-		multimedia_reserved: multimedia@77000000 {
-			compatible = "acme,multimedia-memory";
-			reg = <0x77000000 0x4000000>;
-		};
-	};
-
-	/* ... */
-
-	fb0: video@12300000 {
-		memory-region = <&display_reserved>;
-		/* ... */
-	};
-
-	scaler: scaler@12500000 {
-		memory-region = <&multimedia_reserved>;
-		/* ... */
-	};
-
-	codec: codec@12600000 {
-		memory-region = <&multimedia_reserved>;
-		/* ... */
-	};
-};
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
new file mode 100644
index 000000000000..b61527f11953
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: /reserved-memory Node
+
+maintainers:
+  - Devicetree Specification Mailing List <devicetree-spec@vger.kernel.org>
+
+description: >
+  Reserved memory is specified as a node under the /reserved-memory node. The
+  operating system shall exclude reserved memory from normal usage one can
+  create child nodes describing particular reserved (excluded from normal use)
+  memory regions. Such memory regions are usually designed for the special
+  usage by various device drivers.
+
+properties:
+  $nodename:
+    const: reserved-memory
+
+  "#address-cells": true
+  "#size-cells": true
+  ranges: true
+
+patternProperties:
+  "^(?!(ranges))[a-z,-]*(@[0-9]+)?$":
+    type: object
+
+    description: >
+      Each child of the reserved-memory node specifies one or more regions of
+      reserved memory. Each child node may either use a 'reg' property to
+      specify a specific range of reserved memory, or a 'size' property with
+      optional constraints to request a dynamically allocated block of memory.
+
+      Following the generic-names recommended practice, node names should
+      reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
+      address (@<address>) should be appended to the name if the node is a
+      static allocation.
+
+    properties:
+      reg: true
+
+      size:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description: >
+          Length based on parent's \#size-cells. Size in bytes of memory to
+          reserve.
+
+      alignment:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description: >
+          Length based on parent's \#size-cells. Address boundary for
+          alignment of allocation.
+
+      alloc-ranges:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        description: >
+          Address and Length pairs. Specifies regions of memory that are
+          acceptable to allocate from.
+
+      compatible:
+        oneOf:
+          - const: shared-dma-pool
+            description: >
+              This indicates a region of memory meant to be used as a shared
+              pool of DMA buffers for a set of devices. It can be used by an
+              operating system to instantiate the necessary pool management
+              subsystem if necessary.
+
+          # Vendor-specific compatibles in the form <vendor>,[<device>-]<usage>
+          - const: mediatek,trustzone-bootinfo
+
+      no-map:
+        type: boolean
+        description: >
+          Indicates the operating system must not create a virtual mapping of
+          the region as part of its standard mapping of system memory, nor
+          permit speculative access to it under any circumstances other than
+          under the control of the device driver using the region.
+
+      reusable:
+        type: boolean
+        description: >
+          The operating system can use the memory in this region with the
+          limitation that the device driver(s) owning the region need to be
+          able to reclaim it back. Typically that means that the operating
+          system can use that region to store volatile or cached data that
+          can be otherwise regenerated or migrated elsewhere.
+
+      linux,cma-default:
+        type: boolean
+        description: >
+          If this property is present, then Linux will use the region for the
+          default pool of the contiguous memory allocator.
+
+      linux,dma-default:
+        type: boolean
+        description: >
+          If this property is present, then Linux will use the region for the
+          default pool of the consistent DMA allocator.
+
+    allOf:
+      - if:
+          required:
+            - no-map
+
+        then:
+          not:
+            required:
+              - reusable
+
+      - if:
+          required:
+            - reusable
+
+        then:
+          not:
+            required:
+              - no-map
+
+    oneOf:
+      - required:
+          - reg
+
+      - required:
+          - size
+
+    additionalProperties: true
+
+additionalProperties: true
+
+examples:
+  - |
+      / {
+          #address-cells = <1>;
+          #size-cells = <1>;
+          model = "MediaTek MT2701 evaluation board";
+          compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
+
+          reserved-memory {
+              #address-cells = <1>;
+              #size-cells = <1>;
+              ranges;
+
+              /* global autoconfigured region for contiguous allocations */
+              linux,cma {
+                  compatible = "shared-dma-pool";
+                  reusable;
+                  size = <0x4000000>;
+                  alignment = <0x2000>;
+                  linux,cma-default;
+              };
+
+              display_reserved: framebuffer@78000000 {
+                  reg = <0x78000000 0x800000>;
+              };
+
+              trustzone-bootinfo@80002000 {
+                  compatible = "mediatek,trustzone-bootinfo";
+                  reg = <0x80002000 0x1000>;
+              };
+          };
+      };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 06/54] dt-bindings: arm: Convert ARM CCI-400 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Lorenzo Pieralisi

The ARM CCI-400 Interconnect is supported by Linux thanks to its device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 +++++++++++++++++
 .../bindings/arm/cci-control-port.yaml        |  38 +++
 Documentation/devicetree/bindings/arm/cci.txt | 224 ------------------
 3 files changed, 254 insertions(+), 224 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
 delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt

diff --git a/Documentation/devicetree/bindings/arm/arm,cci-400.yaml b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
new file mode 100644
index 000000000000..b5c0fef9a0c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
@@ -0,0 +1,216 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/arm,cci-400.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM CCI Cache Coherent Interconnect Device Tree Binding
+
+maintainers:
+  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+
+description: >
+  ARM multi-cluster systems maintain intra-cluster coherency through a cache
+  coherent interconnect (CCI) that is capable of monitoring bus transactions
+  and manage coherency, TLB invalidations and memory barriers.
+
+  It allows snooping and distributed virtual memory message broadcast across
+  clusters, through memory mapped interface, with a global control register
+  space and multiple sets of interface control registers, one per slave
+  interface.
+
+properties:
+  $nodename:
+    pattern: "^cci(@[0-9a-f]+)?$"
+
+  compatible:
+    enum:
+      - arm,cci-400
+      - arm,cci-500
+      - arm,cci-550
+
+  reg:
+    maxItems: 1
+    description: >
+      Specifies base physical address of CCI control registers common to all
+      interfaces.
+
+  "#address-cells": true
+  "#size-cells": true
+  ranges: true
+
+patternProperties:
+  "^slave-if@[0-9a-f]+$":
+    type: object
+
+    properties:
+      compatible:
+        const: arm,cci-400-ctrl-if
+
+      interface-type:
+        enum:
+          - ace
+          - ace-lite
+
+      reg:
+        maxItems: 1
+
+    required:
+      - compatible
+      - interface-type
+      - reg
+
+    additionalProperties: false
+
+  "^pmu@[0-9a-f]+$":
+    type: object
+
+    properties:
+      compatible:
+        oneOf:
+          - const: arm,cci-400-pmu,r0
+          - const: arm,cci-400-pmu,r1
+          - const: arm,cci-400-pmu
+            deprecated: true
+            description: >
+              Permitted only where OS has secure access to CCI registers
+          - const: arm,cci-500-pmu,r0
+          - const: arm,cci-550-pmu,r0
+
+      interrupts:
+        minItems: 1
+        maxItems: 255
+        description: >
+          List of counter overflow interrupts, one per counter. The interrupts
+          must be specified starting with the cycle counter overflow interrupt,
+          followed by counter0 overflow interrupt, counter1 overflow
+          interrupt,...  ,counterN overflow interrupt.
+
+          The CCI PMU has an interrupt signal for each counter. The number of
+          interrupts must be equal to the number of counters.
+
+      reg:
+        maxItems: 1
+
+    required:
+      - compatible
+      - interrupts
+      - reg
+
+    additionalProperties: false
+
+required:
+  - "#address-cells"
+  - "#size-cells"
+  - compatible
+  - ranges
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      / {
+          #address-cells = <2>;
+          #size-cells = <2>;
+
+          compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress";
+          model = "V2P-CA15_CA7";
+          arm,hbi = <0x249>;
+          interrupt-parent = <&gic>;
+
+          /*
+          * This CCI node corresponds to a CCI component whose control
+          * registers sits at address 0x000000002c090000.
+          *
+          * CCI slave interface @0x000000002c091000 is connected to dma
+          * controller dma0.
+          *
+          * CCI slave interface @0x000000002c094000 is connected to CPUs
+          * {CPU0, CPU1};
+          *
+          * CCI slave interface @0x000000002c095000 is connected to CPUs
+          * {CPU2, CPU3};
+          */
+
+          cpus {
+              #size-cells = <0>;
+              #address-cells = <1>;
+
+              CPU0: cpu@0 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a15";
+                  cci-control-port = <&cci_control1>;
+                  reg = <0x0>;
+              };
+
+              CPU1: cpu@1 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a15";
+                  cci-control-port = <&cci_control1>;
+                  reg = <0x1>;
+              };
+
+              CPU2: cpu@100 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a7";
+                  cci-control-port = <&cci_control2>;
+                  reg = <0x100>;
+              };
+
+              CPU3: cpu@101 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a7";
+                  cci-control-port = <&cci_control2>;
+                  reg = <0x101>;
+              };
+          };
+
+          dma0: dma@3000000 {
+              compatible = "arm,pl330", "arm,primecell";
+              cci-control-port = <&cci_control0>;
+              reg = <0x0 0x3000000 0x0 0x1000>;
+              interrupts = <10>;
+              #dma-cells = <1>;
+              #dma-channels = <8>;
+              #dma-requests = <32>;
+          };
+
+          cci@2c090000 {
+              compatible = "arm,cci-400";
+              #address-cells = <1>;
+              #size-cells = <1>;
+              reg = <0x0 0x2c090000 0 0x1000>;
+              ranges = <0x0 0x0 0x2c090000 0x10000>;
+
+              cci_control0: slave-if@1000 {
+                  compatible = "arm,cci-400-ctrl-if";
+                  interface-type = "ace-lite";
+                  reg = <0x1000 0x1000>;
+              };
+
+              cci_control1: slave-if@4000 {
+                  compatible = "arm,cci-400-ctrl-if";
+                  interface-type = "ace";
+                  reg = <0x4000 0x1000>;
+              };
+
+              cci_control2: slave-if@5000 {
+                  compatible = "arm,cci-400-ctrl-if";
+                  interface-type = "ace";
+                  reg = <0x5000 0x1000>;
+              };
+
+              pmu@9000 {
+                  compatible = "arm,cci-400-pmu";
+                  reg = <0x9000 0x5000>;
+                  interrupts = <0 101 4>,
+                    <0 102 4>,
+                    <0 103 4>,
+                    <0 104 4>,
+                    <0 105 4>;
+              };
+          };
+      };
+
+...
diff --git a/Documentation/devicetree/bindings/arm/cci-control-port.yaml b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
new file mode 100644
index 000000000000..c9114866213f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/cci-control-port.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: CCI Interconnect Bus Masters binding
+
+maintainers:
+  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+
+description: |
+  Masters in the device tree connected to a CCI port (inclusive of CPUs
+  and their cpu nodes).
+
+select: true
+
+properties:
+  cci-control-port:
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+additionalProperties: true
+
+examples:
+  - |
+    cpus {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        cpu@0 {
+            compatible = "arm,cortex-a15";
+            device_type = "cpu";
+            cci-control-port = <&cci_control1>;
+            reg = <0>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/arm/cci.txt b/Documentation/devicetree/bindings/arm/cci.txt
deleted file mode 100644
index 9600761f2d5b..000000000000
--- a/Documentation/devicetree/bindings/arm/cci.txt
+++ /dev/null
@@ -1,224 +0,0 @@
-=======================================================
-ARM CCI cache coherent interconnect binding description
-=======================================================
-
-ARM multi-cluster systems maintain intra-cluster coherency through a
-cache coherent interconnect (CCI) that is capable of monitoring bus
-transactions and manage coherency, TLB invalidations and memory barriers.
-
-It allows snooping and distributed virtual memory message broadcast across
-clusters, through memory mapped interface, with a global control register
-space and multiple sets of interface control registers, one per slave
-interface.
-
-* CCI interconnect node
-
-	Description: Describes a CCI cache coherent Interconnect component
-
-	Node name must be "cci".
-	Node's parent must be the root node /, and the address space visible
-	through the CCI interconnect is the same as the one seen from the
-	root node (ie from CPUs perspective as per DT standard).
-	Every CCI node has to define the following properties:
-
-	- compatible
-		Usage: required
-		Value type: <string>
-		Definition: must contain one of the following:
-			    "arm,cci-400"
-			    "arm,cci-500"
-			    "arm,cci-550"
-
-	- reg
-		Usage: required
-		Value type: Integer cells. A register entry, expressed as a pair
-			    of cells, containing base and size.
-		Definition: A standard property. Specifies base physical
-			    address of CCI control registers common to all
-			    interfaces.
-
-	- ranges:
-		Usage: required
-		Value type: Integer cells. An array of range entries, expressed
-			    as a tuple of cells, containing child address,
-			    parent address and the size of the region in the
-			    child address space.
-		Definition: A standard property. Follow rules in the Devicetree
-			    Specification for hierarchical bus addressing. CCI
-			    interfaces addresses refer to the parent node
-			    addressing scheme to declare their register bases.
-
-	CCI interconnect node can define the following child nodes:
-
-	- CCI control interface nodes
-
-		Node name must be "slave-if".
-		Parent node must be CCI interconnect node.
-
-		A CCI control interface node must contain the following
-		properties:
-
-		- compatible
-			Usage: required
-			Value type: <string>
-			Definition: must be set to
-				    "arm,cci-400-ctrl-if"
-
-		- interface-type:
-			Usage: required
-			Value type: <string>
-			Definition: must be set to one of {"ace", "ace-lite"}
-				    depending on the interface type the node
-				    represents.
-
-		- reg:
-			Usage: required
-			Value type: Integer cells. A register entry, expressed
-				    as a pair of cells, containing base and
-				    size.
-			Definition: the base address and size of the
-				    corresponding interface programming
-				    registers.
-
-	- CCI PMU node
-
-		Parent node must be CCI interconnect node.
-
-		A CCI pmu node must contain the following properties:
-
-		- compatible
-			Usage: required
-			Value type: <string>
-			Definition: Must contain one of:
-				 "arm,cci-400-pmu,r0"
-				 "arm,cci-400-pmu,r1"
-				 "arm,cci-400-pmu"  - DEPRECATED, permitted only where OS has
-						      secure access to CCI registers
-				 "arm,cci-500-pmu,r0"
-				 "arm,cci-550-pmu,r0"
-		- reg:
-			Usage: required
-			Value type: Integer cells. A register entry, expressed
-				    as a pair of cells, containing base and
-				    size.
-			Definition: the base address and size of the
-				    corresponding interface programming
-				    registers.
-
-		- interrupts:
-			Usage: required
-			Value type: Integer cells. Array of interrupt specifier
-				    entries, as defined in
-				    ../interrupt-controller/interrupts.txt.
-			Definition: list of counter overflow interrupts, one per
-				    counter. The interrupts must be specified
-				    starting with the cycle counter overflow
-				    interrupt, followed by counter0 overflow
-				    interrupt, counter1 overflow interrupt,...
-				    ,counterN overflow interrupt.
-
-				    The CCI PMU has an interrupt signal for each
-				    counter. The number of interrupts must be
-				    equal to the number of counters.
-
-* CCI interconnect bus masters
-
-	Description: masters in the device tree connected to a CCI port
-		     (inclusive of CPUs and their cpu nodes).
-
-	A CCI interconnect bus master node must contain the following
-	properties:
-
-	- cci-control-port:
-		Usage: required
-		Value type: <phandle>
-		Definition: a phandle containing the CCI control interface node
-			    the master is connected to.
-
-Example:
-
-	cpus {
-		#size-cells = <0>;
-		#address-cells = <1>;
-
-		CPU0: cpu@0 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a15";
-			cci-control-port = <&cci_control1>;
-			reg = <0x0>;
-		};
-
-		CPU1: cpu@1 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a15";
-			cci-control-port = <&cci_control1>;
-			reg = <0x1>;
-		};
-
-		CPU2: cpu@100 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a7";
-			cci-control-port = <&cci_control2>;
-			reg = <0x100>;
-		};
-
-		CPU3: cpu@101 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a7";
-			cci-control-port = <&cci_control2>;
-			reg = <0x101>;
-		};
-
-	};
-
-	dma0: dma@3000000 {
-		compatible = "arm,pl330", "arm,primecell";
-		cci-control-port = <&cci_control0>;
-		reg = <0x0 0x3000000 0x0 0x1000>;
-		interrupts = <10>;
-		#dma-cells = <1>;
-		#dma-channels = <8>;
-		#dma-requests = <32>;
-	};
-
-	cci@2c090000 {
-		compatible = "arm,cci-400";
-		#address-cells = <1>;
-		#size-cells = <1>;
-		reg = <0x0 0x2c090000 0 0x1000>;
-		ranges = <0x0 0x0 0x2c090000 0x10000>;
-
-		cci_control0: slave-if@1000 {
-			compatible = "arm,cci-400-ctrl-if";
-			interface-type = "ace-lite";
-			reg = <0x1000 0x1000>;
-		};
-
-		cci_control1: slave-if@4000 {
-			compatible = "arm,cci-400-ctrl-if";
-			interface-type = "ace";
-			reg = <0x4000 0x1000>;
-		};
-
-		cci_control2: slave-if@5000 {
-			compatible = "arm,cci-400-ctrl-if";
-			interface-type = "ace";
-			reg = <0x5000 0x1000>;
-		};
-
-		pmu@9000 {
-			 compatible = "arm,cci-400-pmu";
-			 reg = <0x9000 0x5000>;
-			 interrupts = <0 101 4>,
-				      <0 102 4>,
-				      <0 103 4>,
-				      <0 104 4>,
-				      <0 105 4>;
-		};
-	};
-
-This CCI node corresponds to a CCI component whose control registers sits
-at address 0x000000002c090000.
-CCI slave interface @0x000000002c091000 is connected to dma controller dma0.
-CCI slave interface @0x000000002c094000 is connected to CPUs {CPU0, CPU1};
-CCI slave interface @0x000000002c095000 is connected to CPUs {CPU2, CPU3};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 06/54] dt-bindings: arm: Convert ARM CCI-400 binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Lorenzo Pieralisi

The ARM CCI-400 Interconnect is supported by Linux thanks to its device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 +++++++++++++++++
 .../bindings/arm/cci-control-port.yaml        |  38 +++
 Documentation/devicetree/bindings/arm/cci.txt | 224 ------------------
 3 files changed, 254 insertions(+), 224 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
 create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
 delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt

diff --git a/Documentation/devicetree/bindings/arm/arm,cci-400.yaml b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
new file mode 100644
index 000000000000..b5c0fef9a0c2
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
@@ -0,0 +1,216 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/arm,cci-400.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM CCI Cache Coherent Interconnect Device Tree Binding
+
+maintainers:
+  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+
+description: >
+  ARM multi-cluster systems maintain intra-cluster coherency through a cache
+  coherent interconnect (CCI) that is capable of monitoring bus transactions
+  and manage coherency, TLB invalidations and memory barriers.
+
+  It allows snooping and distributed virtual memory message broadcast across
+  clusters, through memory mapped interface, with a global control register
+  space and multiple sets of interface control registers, one per slave
+  interface.
+
+properties:
+  $nodename:
+    pattern: "^cci(@[0-9a-f]+)?$"
+
+  compatible:
+    enum:
+      - arm,cci-400
+      - arm,cci-500
+      - arm,cci-550
+
+  reg:
+    maxItems: 1
+    description: >
+      Specifies base physical address of CCI control registers common to all
+      interfaces.
+
+  "#address-cells": true
+  "#size-cells": true
+  ranges: true
+
+patternProperties:
+  "^slave-if@[0-9a-f]+$":
+    type: object
+
+    properties:
+      compatible:
+        const: arm,cci-400-ctrl-if
+
+      interface-type:
+        enum:
+          - ace
+          - ace-lite
+
+      reg:
+        maxItems: 1
+
+    required:
+      - compatible
+      - interface-type
+      - reg
+
+    additionalProperties: false
+
+  "^pmu@[0-9a-f]+$":
+    type: object
+
+    properties:
+      compatible:
+        oneOf:
+          - const: arm,cci-400-pmu,r0
+          - const: arm,cci-400-pmu,r1
+          - const: arm,cci-400-pmu
+            deprecated: true
+            description: >
+              Permitted only where OS has secure access to CCI registers
+          - const: arm,cci-500-pmu,r0
+          - const: arm,cci-550-pmu,r0
+
+      interrupts:
+        minItems: 1
+        maxItems: 255
+        description: >
+          List of counter overflow interrupts, one per counter. The interrupts
+          must be specified starting with the cycle counter overflow interrupt,
+          followed by counter0 overflow interrupt, counter1 overflow
+          interrupt,...  ,counterN overflow interrupt.
+
+          The CCI PMU has an interrupt signal for each counter. The number of
+          interrupts must be equal to the number of counters.
+
+      reg:
+        maxItems: 1
+
+    required:
+      - compatible
+      - interrupts
+      - reg
+
+    additionalProperties: false
+
+required:
+  - "#address-cells"
+  - "#size-cells"
+  - compatible
+  - ranges
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      / {
+          #address-cells = <2>;
+          #size-cells = <2>;
+
+          compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress";
+          model = "V2P-CA15_CA7";
+          arm,hbi = <0x249>;
+          interrupt-parent = <&gic>;
+
+          /*
+          * This CCI node corresponds to a CCI component whose control
+          * registers sits at address 0x000000002c090000.
+          *
+          * CCI slave interface @0x000000002c091000 is connected to dma
+          * controller dma0.
+          *
+          * CCI slave interface @0x000000002c094000 is connected to CPUs
+          * {CPU0, CPU1};
+          *
+          * CCI slave interface @0x000000002c095000 is connected to CPUs
+          * {CPU2, CPU3};
+          */
+
+          cpus {
+              #size-cells = <0>;
+              #address-cells = <1>;
+
+              CPU0: cpu@0 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a15";
+                  cci-control-port = <&cci_control1>;
+                  reg = <0x0>;
+              };
+
+              CPU1: cpu@1 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a15";
+                  cci-control-port = <&cci_control1>;
+                  reg = <0x1>;
+              };
+
+              CPU2: cpu@100 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a7";
+                  cci-control-port = <&cci_control2>;
+                  reg = <0x100>;
+              };
+
+              CPU3: cpu@101 {
+                  device_type = "cpu";
+                  compatible = "arm,cortex-a7";
+                  cci-control-port = <&cci_control2>;
+                  reg = <0x101>;
+              };
+          };
+
+          dma0: dma@3000000 {
+              compatible = "arm,pl330", "arm,primecell";
+              cci-control-port = <&cci_control0>;
+              reg = <0x0 0x3000000 0x0 0x1000>;
+              interrupts = <10>;
+              #dma-cells = <1>;
+              #dma-channels = <8>;
+              #dma-requests = <32>;
+          };
+
+          cci@2c090000 {
+              compatible = "arm,cci-400";
+              #address-cells = <1>;
+              #size-cells = <1>;
+              reg = <0x0 0x2c090000 0 0x1000>;
+              ranges = <0x0 0x0 0x2c090000 0x10000>;
+
+              cci_control0: slave-if@1000 {
+                  compatible = "arm,cci-400-ctrl-if";
+                  interface-type = "ace-lite";
+                  reg = <0x1000 0x1000>;
+              };
+
+              cci_control1: slave-if@4000 {
+                  compatible = "arm,cci-400-ctrl-if";
+                  interface-type = "ace";
+                  reg = <0x4000 0x1000>;
+              };
+
+              cci_control2: slave-if@5000 {
+                  compatible = "arm,cci-400-ctrl-if";
+                  interface-type = "ace";
+                  reg = <0x5000 0x1000>;
+              };
+
+              pmu@9000 {
+                  compatible = "arm,cci-400-pmu";
+                  reg = <0x9000 0x5000>;
+                  interrupts = <0 101 4>,
+                    <0 102 4>,
+                    <0 103 4>,
+                    <0 104 4>,
+                    <0 105 4>;
+              };
+          };
+      };
+
+...
diff --git a/Documentation/devicetree/bindings/arm/cci-control-port.yaml b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
new file mode 100644
index 000000000000..c9114866213f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/cci-control-port.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: CCI Interconnect Bus Masters binding
+
+maintainers:
+  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
+
+description: |
+  Masters in the device tree connected to a CCI port (inclusive of CPUs
+  and their cpu nodes).
+
+select: true
+
+properties:
+  cci-control-port:
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+additionalProperties: true
+
+examples:
+  - |
+    cpus {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        cpu@0 {
+            compatible = "arm,cortex-a15";
+            device_type = "cpu";
+            cci-control-port = <&cci_control1>;
+            reg = <0>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/arm/cci.txt b/Documentation/devicetree/bindings/arm/cci.txt
deleted file mode 100644
index 9600761f2d5b..000000000000
--- a/Documentation/devicetree/bindings/arm/cci.txt
+++ /dev/null
@@ -1,224 +0,0 @@
-=======================================================
-ARM CCI cache coherent interconnect binding description
-=======================================================
-
-ARM multi-cluster systems maintain intra-cluster coherency through a
-cache coherent interconnect (CCI) that is capable of monitoring bus
-transactions and manage coherency, TLB invalidations and memory barriers.
-
-It allows snooping and distributed virtual memory message broadcast across
-clusters, through memory mapped interface, with a global control register
-space and multiple sets of interface control registers, one per slave
-interface.
-
-* CCI interconnect node
-
-	Description: Describes a CCI cache coherent Interconnect component
-
-	Node name must be "cci".
-	Node's parent must be the root node /, and the address space visible
-	through the CCI interconnect is the same as the one seen from the
-	root node (ie from CPUs perspective as per DT standard).
-	Every CCI node has to define the following properties:
-
-	- compatible
-		Usage: required
-		Value type: <string>
-		Definition: must contain one of the following:
-			    "arm,cci-400"
-			    "arm,cci-500"
-			    "arm,cci-550"
-
-	- reg
-		Usage: required
-		Value type: Integer cells. A register entry, expressed as a pair
-			    of cells, containing base and size.
-		Definition: A standard property. Specifies base physical
-			    address of CCI control registers common to all
-			    interfaces.
-
-	- ranges:
-		Usage: required
-		Value type: Integer cells. An array of range entries, expressed
-			    as a tuple of cells, containing child address,
-			    parent address and the size of the region in the
-			    child address space.
-		Definition: A standard property. Follow rules in the Devicetree
-			    Specification for hierarchical bus addressing. CCI
-			    interfaces addresses refer to the parent node
-			    addressing scheme to declare their register bases.
-
-	CCI interconnect node can define the following child nodes:
-
-	- CCI control interface nodes
-
-		Node name must be "slave-if".
-		Parent node must be CCI interconnect node.
-
-		A CCI control interface node must contain the following
-		properties:
-
-		- compatible
-			Usage: required
-			Value type: <string>
-			Definition: must be set to
-				    "arm,cci-400-ctrl-if"
-
-		- interface-type:
-			Usage: required
-			Value type: <string>
-			Definition: must be set to one of {"ace", "ace-lite"}
-				    depending on the interface type the node
-				    represents.
-
-		- reg:
-			Usage: required
-			Value type: Integer cells. A register entry, expressed
-				    as a pair of cells, containing base and
-				    size.
-			Definition: the base address and size of the
-				    corresponding interface programming
-				    registers.
-
-	- CCI PMU node
-
-		Parent node must be CCI interconnect node.
-
-		A CCI pmu node must contain the following properties:
-
-		- compatible
-			Usage: required
-			Value type: <string>
-			Definition: Must contain one of:
-				 "arm,cci-400-pmu,r0"
-				 "arm,cci-400-pmu,r1"
-				 "arm,cci-400-pmu"  - DEPRECATED, permitted only where OS has
-						      secure access to CCI registers
-				 "arm,cci-500-pmu,r0"
-				 "arm,cci-550-pmu,r0"
-		- reg:
-			Usage: required
-			Value type: Integer cells. A register entry, expressed
-				    as a pair of cells, containing base and
-				    size.
-			Definition: the base address and size of the
-				    corresponding interface programming
-				    registers.
-
-		- interrupts:
-			Usage: required
-			Value type: Integer cells. Array of interrupt specifier
-				    entries, as defined in
-				    ../interrupt-controller/interrupts.txt.
-			Definition: list of counter overflow interrupts, one per
-				    counter. The interrupts must be specified
-				    starting with the cycle counter overflow
-				    interrupt, followed by counter0 overflow
-				    interrupt, counter1 overflow interrupt,...
-				    ,counterN overflow interrupt.
-
-				    The CCI PMU has an interrupt signal for each
-				    counter. The number of interrupts must be
-				    equal to the number of counters.
-
-* CCI interconnect bus masters
-
-	Description: masters in the device tree connected to a CCI port
-		     (inclusive of CPUs and their cpu nodes).
-
-	A CCI interconnect bus master node must contain the following
-	properties:
-
-	- cci-control-port:
-		Usage: required
-		Value type: <phandle>
-		Definition: a phandle containing the CCI control interface node
-			    the master is connected to.
-
-Example:
-
-	cpus {
-		#size-cells = <0>;
-		#address-cells = <1>;
-
-		CPU0: cpu@0 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a15";
-			cci-control-port = <&cci_control1>;
-			reg = <0x0>;
-		};
-
-		CPU1: cpu@1 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a15";
-			cci-control-port = <&cci_control1>;
-			reg = <0x1>;
-		};
-
-		CPU2: cpu@100 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a7";
-			cci-control-port = <&cci_control2>;
-			reg = <0x100>;
-		};
-
-		CPU3: cpu@101 {
-			device_type = "cpu";
-			compatible = "arm,cortex-a7";
-			cci-control-port = <&cci_control2>;
-			reg = <0x101>;
-		};
-
-	};
-
-	dma0: dma@3000000 {
-		compatible = "arm,pl330", "arm,primecell";
-		cci-control-port = <&cci_control0>;
-		reg = <0x0 0x3000000 0x0 0x1000>;
-		interrupts = <10>;
-		#dma-cells = <1>;
-		#dma-channels = <8>;
-		#dma-requests = <32>;
-	};
-
-	cci@2c090000 {
-		compatible = "arm,cci-400";
-		#address-cells = <1>;
-		#size-cells = <1>;
-		reg = <0x0 0x2c090000 0 0x1000>;
-		ranges = <0x0 0x0 0x2c090000 0x10000>;
-
-		cci_control0: slave-if@1000 {
-			compatible = "arm,cci-400-ctrl-if";
-			interface-type = "ace-lite";
-			reg = <0x1000 0x1000>;
-		};
-
-		cci_control1: slave-if@4000 {
-			compatible = "arm,cci-400-ctrl-if";
-			interface-type = "ace";
-			reg = <0x4000 0x1000>;
-		};
-
-		cci_control2: slave-if@5000 {
-			compatible = "arm,cci-400-ctrl-if";
-			interface-type = "ace";
-			reg = <0x5000 0x1000>;
-		};
-
-		pmu@9000 {
-			 compatible = "arm,cci-400-pmu";
-			 reg = <0x9000 0x5000>;
-			 interrupts = <0 101 4>,
-				      <0 102 4>,
-				      <0 103 4>,
-				      <0 104 4>,
-				      <0 105 4>;
-		};
-	};
-
-This CCI node corresponds to a CCI component whose control registers sits
-at address 0x000000002c090000.
-CCI slave interface @0x000000002c091000 is connected to dma controller dma0.
-CCI slave interface @0x000000002c094000 is connected to CPUs {CPU0, CPU1};
-CCI slave interface @0x000000002c095000 is connected to CPUs {CPU2, CPU3};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 07/54] dt-bindings: bluetooth: broadcom: Fix clocks check
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, David S. Miller, Jakub Kicinski,
	Linus Walleij, netdev

The original binding was mentioning that valid values for the clocks and
clock-names property were one or two clocks from extclk, txco and lpo,
with extclk being deprecated in favor of txco.

However, the current binding lists a valid array as extclk, txco and
lpo, with either one or two items.

While this looks similar, it actually enforces that all the device trees
use either ["extclk"], or ["extclk", "txco"]. That doesn't make much
sense, since the two clocks are said to be equivalent, with one
superseeding the other.

lpo is also not a valid clock anymore, and would be as the third clock
of the list, while we could have only this clock in the previous binding
(and in DTs).

Let's rework the clock clause to allow to have either:

 - extclk, and mark it a deprecated
 - txco alone
 - lpo alone
 - txco, lpo

While ["extclk", "lpo"] wouldn't be valid, it wasn't found in any device
tree so it's not an issue in practice.

Similarly, ["lpo", "txco"] is still considered invalid, but it's
generally considered as a best practice to fix the order of clocks.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/net/broadcom-bluetooth.yaml        | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
index fbdc2083bec4..5aac094fd217 100644
--- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
@@ -50,16 +50,29 @@ properties:
       by interrupts and "host-wakeup" interrupt-names
 
   clocks:
+    minItems: 1
     maxItems: 2
     description: 1 or 2 clocks as defined in clock-names below,
       in that order
 
   clock-names:
     description: Names of the 1 to 2 supplied clocks
-    items:
+    oneOf:
+      - const: extclk
+        deprecated: true
+        description: Deprecated in favor of txco
+
       - const: txco
+        description: >
+          external reference clock (not a standalone crystal)
+
       - const: lpo
-      - const: extclk
+        description: >
+          external low power 32.768 kHz clock
+
+      - items:
+          - const: txco
+          - const: lpo
 
   vbat-supply:
     description: phandle to regulator supply for VBAT
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 07/54] dt-bindings: bluetooth: broadcom: Fix clocks check
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, David S. Miller, Jakub Kicinski,
	Linus Walleij, netdev

The original binding was mentioning that valid values for the clocks and
clock-names property were one or two clocks from extclk, txco and lpo,
with extclk being deprecated in favor of txco.

However, the current binding lists a valid array as extclk, txco and
lpo, with either one or two items.

While this looks similar, it actually enforces that all the device trees
use either ["extclk"], or ["extclk", "txco"]. That doesn't make much
sense, since the two clocks are said to be equivalent, with one
superseeding the other.

lpo is also not a valid clock anymore, and would be as the third clock
of the list, while we could have only this clock in the previous binding
(and in DTs).

Let's rework the clock clause to allow to have either:

 - extclk, and mark it a deprecated
 - txco alone
 - lpo alone
 - txco, lpo

While ["extclk", "lpo"] wouldn't be valid, it wasn't found in any device
tree so it's not an issue in practice.

Similarly, ["lpo", "txco"] is still considered invalid, but it's
generally considered as a best practice to fix the order of clocks.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/net/broadcom-bluetooth.yaml        | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
index fbdc2083bec4..5aac094fd217 100644
--- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml
@@ -50,16 +50,29 @@ properties:
       by interrupts and "host-wakeup" interrupt-names
 
   clocks:
+    minItems: 1
     maxItems: 2
     description: 1 or 2 clocks as defined in clock-names below,
       in that order
 
   clock-names:
     description: Names of the 1 to 2 supplied clocks
-    items:
+    oneOf:
+      - const: extclk
+        deprecated: true
+        description: Deprecated in favor of txco
+
       - const: txco
+        description: >
+          external reference clock (not a standalone crystal)
+
       - const: lpo
-      - const: extclk
+        description: >
+          external low power 32.768 kHz clock
+
+      - items:
+          - const: txco
+          - const: lpo
 
   vbat-supply:
     description: phandle to regulator supply for VBAT
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 08/54] dt-bindings: bluetooth: realtek: Add missing max-speed
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Alistair Francis, David S. Miller,
	Jakub Kicinski, netdev, Vasily Khoruzhick

additionalProperties prevent any property not explicitly defined in the
binding to be used. Yet, some serial properties like max-speed are valid
and validated through the serial/serial.yaml binding.

Even though the ideal solution would be to use unevaluatedProperties
instead, it's not pratical due to the way the bus bindings have been
described. Let's add max-speed to remove the warning.

Cc: Alistair Francis <alistair@alistair23.me>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org
Cc: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml
index 4f485df69ac3..deae94ef54b8 100644
--- a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml
@@ -34,6 +34,8 @@ properties:
     maxItems: 1
     description: GPIO specifier, used to wakeup the host processor
 
+  max-speed: true
+
 required:
   - compatible
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 08/54] dt-bindings: bluetooth: realtek: Add missing max-speed
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Alistair Francis, David S. Miller,
	Jakub Kicinski, netdev, Vasily Khoruzhick

additionalProperties prevent any property not explicitly defined in the
binding to be used. Yet, some serial properties like max-speed are valid
and validated through the serial/serial.yaml binding.

Even though the ideal solution would be to use unevaluatedProperties
instead, it's not pratical due to the way the bus bindings have been
described. Let's add max-speed to remove the warning.

Cc: Alistair Francis <alistair@alistair23.me>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org
Cc: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml
index 4f485df69ac3..deae94ef54b8 100644
--- a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml
+++ b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml
@@ -34,6 +34,8 @@ properties:
     maxItems: 1
     description: GPIO specifier, used to wakeup the host processor
 
+  max-speed: true
+
 required:
   - compatible
 
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 09/54] dt-bindings: clocks: Fix typo in the H6 compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though both the driver and the device trees all use the
allwinner,sun50i-h6-de3-clk, we documented the compatible as
allwinner,sun50i-h6-de2-clk in the binding. Let's fix this.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
index 3f995d2b30eb..e79eeac5f086 100644
--- a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
+++ b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
@@ -24,7 +24,7 @@ properties:
       - const: allwinner,sun8i-v3s-de2-clk
       - const: allwinner,sun50i-a64-de2-clk
       - const: allwinner,sun50i-h5-de2-clk
-      - const: allwinner,sun50i-h6-de2-clk
+      - const: allwinner,sun50i-h6-de3-clk
       - items:
           - const: allwinner,sun8i-r40-de2-clk
           - const: allwinner,sun8i-h3-de2-clk
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 09/54] dt-bindings: clocks: Fix typo in the H6 compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though both the driver and the device trees all use the
allwinner,sun50i-h6-de3-clk, we documented the compatible as
allwinner,sun50i-h6-de2-clk in the binding. Let's fix this.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
index 3f995d2b30eb..e79eeac5f086 100644
--- a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
+++ b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
@@ -24,7 +24,7 @@ properties:
       - const: allwinner,sun8i-v3s-de2-clk
       - const: allwinner,sun50i-a64-de2-clk
       - const: allwinner,sun50i-h5-de2-clk
-      - const: allwinner,sun50i-h6-de2-clk
+      - const: allwinner,sun50i-h6-de3-clk
       - items:
           - const: allwinner,sun8i-r40-de2-clk
           - const: allwinner,sun8i-h3-de2-clk
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
  2021-07-21 14:03 ` Maxime Ripard
  (?)
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, dri-devel, Laurent Pinchart,
	Sam Ravnborg, Thierry Reding

The binding mentions that all the drivers using that driver must use a
vendor-specific compatible but never enforces it, nor documents the
vendor-specific compatibles.

Let's make we document all of them, and that the binding will create an
error if we add one that isn't.

Cc: dri-devel@lists.freedesktop.org
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
index 49460c9dceea..d1513111eb48 100644
--- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
@@ -31,12 +31,18 @@ allOf:
 
 properties:
   compatible:
-    contains:
-      const: panel-lvds
-    description:
-      Shall contain "panel-lvds" in addition to a mandatory panel-specific
-      compatible string defined in individual panel bindings. The "panel-lvds"
-      value shall never be used on its own.
+    items:
+      - enum:
+          - advantech,idk-1110wr
+          - advantech,idk-2121wr
+          - auo,b101ew05
+          - innolux,ee101ia-01d
+          - mitsubishi,aa104xd12
+          - mitsubishi,aa121td01
+          - sgd,gktw70sdae4se
+          - sharp,lq150x1lg11
+          - tbs,a711-panel
+      - const: panel-lvds
 
   data-mapping:
     enum:
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, dri-devel, Laurent Pinchart,
	Sam Ravnborg, Thierry Reding

The binding mentions that all the drivers using that driver must use a
vendor-specific compatible but never enforces it, nor documents the
vendor-specific compatibles.

Let's make we document all of them, and that the binding will create an
error if we add one that isn't.

Cc: dri-devel@lists.freedesktop.org
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
index 49460c9dceea..d1513111eb48 100644
--- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
@@ -31,12 +31,18 @@ allOf:
 
 properties:
   compatible:
-    contains:
-      const: panel-lvds
-    description:
-      Shall contain "panel-lvds" in addition to a mandatory panel-specific
-      compatible string defined in individual panel bindings. The "panel-lvds"
-      value shall never be used on its own.
+    items:
+      - enum:
+          - advantech,idk-1110wr
+          - advantech,idk-2121wr
+          - auo,b101ew05
+          - innolux,ee101ia-01d
+          - mitsubishi,aa104xd12
+          - mitsubishi,aa121td01
+          - sgd,gktw70sdae4se
+          - sharp,lq150x1lg11
+          - tbs,a711-panel
+      - const: panel-lvds
 
   data-mapping:
     enum:
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: dri-devel, linux-sunxi, Thierry Reding, Laurent Pinchart,
	Sam Ravnborg, linux-arm-kernel

The binding mentions that all the drivers using that driver must use a
vendor-specific compatible but never enforces it, nor documents the
vendor-specific compatibles.

Let's make we document all of them, and that the binding will create an
error if we add one that isn't.

Cc: dri-devel@lists.freedesktop.org
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
index 49460c9dceea..d1513111eb48 100644
--- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
@@ -31,12 +31,18 @@ allOf:
 
 properties:
   compatible:
-    contains:
-      const: panel-lvds
-    description:
-      Shall contain "panel-lvds" in addition to a mandatory panel-specific
-      compatible string defined in individual panel bindings. The "panel-lvds"
-      value shall never be used on its own.
+    items:
+      - enum:
+          - advantech,idk-1110wr
+          - advantech,idk-2121wr
+          - auo,b101ew05
+          - innolux,ee101ia-01d
+          - mitsubishi,aa104xd12
+          - mitsubishi,aa121td01
+          - sgd,gktw70sdae4se
+          - sharp,lq150x1lg11
+          - tbs,a711-panel
+      - const: panel-lvds
 
   data-mapping:
     enum:
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro,gm7123 compatible
  2021-07-21 14:03 ` Maxime Ripard
  (?)
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, dri-devel, Laurent Pinchart

The corpro,gm7123 was in use in a DT but was never properly documented,
let's add it.

Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

---

Changes from v1:
  - Removed the dumb-vga-dac compatible from the list
---
 .../devicetree/bindings/display/bridge/simple-bridge.yaml      | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
index 6c7b577fd471..43cf4df9811a 100644
--- a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
@@ -22,6 +22,9 @@ properties:
               - ti,ths8134a
               - ti,ths8134b
           - const: ti,ths8134
+      - items:
+          - const: corpro,gm7123
+          - const: adi,adv7123
       - enum:
           - adi,adv7123
           - dumb-vga-dac
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, dri-devel, Laurent Pinchart

The corpro,gm7123 was in use in a DT but was never properly documented,
let's add it.

Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

---

Changes from v1:
  - Removed the dumb-vga-dac compatible from the list
---
 .../devicetree/bindings/display/bridge/simple-bridge.yaml      | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
index 6c7b577fd471..43cf4df9811a 100644
--- a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
@@ -22,6 +22,9 @@ properties:
               - ti,ths8134a
               - ti,ths8134b
           - const: ti,ths8134
+      - items:
+          - const: corpro,gm7123
+          - const: adi,adv7123
       - enum:
           - adi,adv7123
           - dumb-vga-dac
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-sunxi, dri-devel, linux-arm-kernel, Laurent Pinchart

The corpro,gm7123 was in use in a DT but was never properly documented,
let's add it.

Cc: dri-devel@lists.freedesktop.org
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>

---

Changes from v1:
  - Removed the dumb-vga-dac compatible from the list
---
 .../devicetree/bindings/display/bridge/simple-bridge.yaml      | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
index 6c7b577fd471..43cf4df9811a 100644
--- a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml
@@ -22,6 +22,9 @@ properties:
               - ti,ths8134a
               - ti,ths8134b
           - const: ti,ths8134
+      - items:
+          - const: corpro,gm7123
+          - const: adi,adv7123
       - enum:
           - adi,adv7123
           - dumb-vga-dac
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 12/54] dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Johan Hovold

The UBlox Neo 6M is supported by Linux thanks to its device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Johan Hovold <johan@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/gnss/u-blox,neo-6m.yaml          | 62 +++++++++++++++++++
 .../devicetree/bindings/gnss/u-blox.txt       | 45 --------------
 2 files changed, 62 insertions(+), 45 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
 delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt

diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
new file mode 100644
index 000000000000..45b886ae0f45
--- /dev/null
+++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gnss/u-blox,neo-6m.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: U-blox GNSS Receiver Device Tree Bindings
+
+maintainers:
+  - Johan Hovold <johan@kernel.org>
+
+description: >
+  The U-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
+
+properties:
+  compatible:
+    enum:
+      - u-blox,neo-6m
+      - u-blox,neo-8
+      - u-blox,neo-m8
+
+  reg:
+    description: >
+      The DDC Slave Address, SPI chip select address, the number of the USB hub
+      port or the USB host-controller port to wich this device is attached,
+      depending on the bus used. Required for the DDC, SPI or USB busses.
+
+  vcc-supply:
+    description: >
+      Main voltage regulator
+
+  timepulse-gpios:
+    maxItems: 1
+    description: >
+      Time pulse GPIO
+
+  u-blox,extint-gpios:
+    maxItems: 1
+    description: >
+      GPIO connected to the "external interrupt" input pin
+  
+  v-bckp-supply:
+    description: >
+      Backup voltage regulator
+
+  current-speed: true
+
+required:
+  - compatible
+  - vcc-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    uart {
+        gnss {
+            compatible = "u-blox,neo-8";
+            v-bckp-supply = <&gnss_v_bckp_reg>;
+            vcc-supply = <&gnss_vcc_reg>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/gnss/u-blox.txt b/Documentation/devicetree/bindings/gnss/u-blox.txt
deleted file mode 100644
index 7cdefd058fe0..000000000000
--- a/Documentation/devicetree/bindings/gnss/u-blox.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-u-blox GNSS Receiver DT binding
-
-The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
-
-Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
-properties.
-
-Required properties:
-
-- compatible	: Must be one of
-
-			"u-blox,neo-6m"
-			"u-blox,neo-8"
-			"u-blox,neo-m8"
-
-- vcc-supply	: Main voltage regulator
-
-Required properties (DDC):
-- reg		: DDC (I2C) slave address
-
-Required properties (SPI):
-- reg		: SPI chip select address
-
-Required properties (USB):
-- reg		: Number of the USB hub port or the USB host-controller port
-                  to which this device is attached
-
-Optional properties:
-
-- timepulse-gpios	: Time pulse GPIO
-- u-blox,extint-gpios	: GPIO connected to the "external interrupt" input pin
-- v-bckp-supply	: Backup voltage regulator
-
-Example:
-
-serial@1234 {
-	compatible = "ns16550a";
-
-	gnss {
-		compatible = "u-blox,neo-8";
-
-		v-bckp-supply = <&gnss_v_bckp_reg>;
-		vcc-supply = <&gnss_vcc_reg>;
-	};
-};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 12/54] dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Johan Hovold

The UBlox Neo 6M is supported by Linux thanks to its device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Johan Hovold <johan@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/gnss/u-blox,neo-6m.yaml          | 62 +++++++++++++++++++
 .../devicetree/bindings/gnss/u-blox.txt       | 45 --------------
 2 files changed, 62 insertions(+), 45 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
 delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt

diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
new file mode 100644
index 000000000000..45b886ae0f45
--- /dev/null
+++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gnss/u-blox,neo-6m.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: U-blox GNSS Receiver Device Tree Bindings
+
+maintainers:
+  - Johan Hovold <johan@kernel.org>
+
+description: >
+  The U-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
+
+properties:
+  compatible:
+    enum:
+      - u-blox,neo-6m
+      - u-blox,neo-8
+      - u-blox,neo-m8
+
+  reg:
+    description: >
+      The DDC Slave Address, SPI chip select address, the number of the USB hub
+      port or the USB host-controller port to wich this device is attached,
+      depending on the bus used. Required for the DDC, SPI or USB busses.
+
+  vcc-supply:
+    description: >
+      Main voltage regulator
+
+  timepulse-gpios:
+    maxItems: 1
+    description: >
+      Time pulse GPIO
+
+  u-blox,extint-gpios:
+    maxItems: 1
+    description: >
+      GPIO connected to the "external interrupt" input pin
+  
+  v-bckp-supply:
+    description: >
+      Backup voltage regulator
+
+  current-speed: true
+
+required:
+  - compatible
+  - vcc-supply
+
+additionalProperties: false
+
+examples:
+  - |
+    uart {
+        gnss {
+            compatible = "u-blox,neo-8";
+            v-bckp-supply = <&gnss_v_bckp_reg>;
+            vcc-supply = <&gnss_vcc_reg>;
+        };
+    };
diff --git a/Documentation/devicetree/bindings/gnss/u-blox.txt b/Documentation/devicetree/bindings/gnss/u-blox.txt
deleted file mode 100644
index 7cdefd058fe0..000000000000
--- a/Documentation/devicetree/bindings/gnss/u-blox.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-u-blox GNSS Receiver DT binding
-
-The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
-
-Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
-properties.
-
-Required properties:
-
-- compatible	: Must be one of
-
-			"u-blox,neo-6m"
-			"u-blox,neo-8"
-			"u-blox,neo-m8"
-
-- vcc-supply	: Main voltage regulator
-
-Required properties (DDC):
-- reg		: DDC (I2C) slave address
-
-Required properties (SPI):
-- reg		: SPI chip select address
-
-Required properties (USB):
-- reg		: Number of the USB hub port or the USB host-controller port
-                  to which this device is attached
-
-Optional properties:
-
-- timepulse-gpios	: Time pulse GPIO
-- u-blox,extint-gpios	: GPIO connected to the "external interrupt" input pin
-- v-bckp-supply	: Backup voltage regulator
-
-Example:
-
-serial@1234 {
-	compatible = "ns16550a";
-
-	gnss {
-		compatible = "u-blox,neo-8";
-
-		v-bckp-supply = <&gnss_v_bckp_reg>;
-		vcc-supply = <&gnss_vcc_reg>;
-	};
-};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 13/54] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Bartosz Golaszewski,
	Linus Walleij, linux-gpio

The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
thanks to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -----------------
 .../bindings/gpio/x-powers,axp209-gpio.yaml   | 84 +++++++++++++++++++
 2 files changed, 84 insertions(+), 75 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml

diff --git a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
deleted file mode 100644
index fc42b2caa06d..000000000000
--- a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-AXP209 GPIO & pinctrl controller
-
-This driver follows the usual GPIO bindings found in
-Documentation/devicetree/bindings/gpio/gpio.txt
-
-This driver follows the usual pinctrl bindings found in
-Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
-
-This driver employs the per-pin muxing pattern.
-
-Required properties:
-- compatible: Should be one of:
-	- "x-powers,axp209-gpio"
-	- "x-powers,axp813-gpio"
-- #gpio-cells: Should be two. The first cell is the pin number and the
-  second is the GPIO flags.
-- gpio-controller: Marks the device node as a GPIO controller.
-
-This node must be a subnode of the axp20x PMIC, documented in
-Documentation/devicetree/bindings/mfd/axp20x.txt
-
-Example:
-
-axp209: pmic@34 {
-	compatible = "x-powers,axp209";
-	reg = <0x34>;
-	interrupt-parent = <&nmi_intc>;
-	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	interrupt-controller;
-	#interrupt-cells = <1>;
-
-	axp_gpio: gpio {
-		compatible = "x-powers,axp209-gpio";
-		gpio-controller;
-		#gpio-cells = <2>;
-	};
-};
-
-The GPIOs can be muxed to other functions and therefore, must be a subnode of
-axp_gpio.
-
-Example:
-
-&axp_gpio {
-	gpio0_adc: gpio0-adc {
-		pins = "GPIO0";
-		function = "adc";
-	};
-};
-
-&example_node {
-	pinctrl-names = "default";
-	pinctrl-0 = <&gpio0_adc>;
-};
-
-GPIOs and their functions
--------------------------
-
-Each GPIO is independent from the other (i.e. GPIO0 in gpio_in function does
-not force GPIO1 and GPIO2 to be in gpio_in function as well).
-
-axp209
-------
-GPIO	|	Functions
-------------------------
-GPIO0	|	gpio_in, gpio_out, ldo, adc
-GPIO1	|	gpio_in, gpio_out, ldo, adc
-GPIO2	|	gpio_in, gpio_out
-
-axp813
-------
-GPIO	|	Functions
-------------------------
-GPIO0	|	gpio_in, gpio_out, ldo, adc
-GPIO1	|	gpio_in, gpio_out, ldo
diff --git a/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml b/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
new file mode 100644
index 000000000000..28337f939d4e
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
@@ -0,0 +1,84 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/gpio/x-powers,axp209-gpio.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: X-Powers AXP209 GPIO Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+properties:
+  "#gpio-cells":
+    const: 2
+    description: >
+      The first cell is the pin number and the second is the GPIO flags.
+
+  compatible:
+    oneOf:
+      - enum:
+          - x-powers,axp209-gpio
+          - x-powers,axp813-gpio
+      - items:
+          - const: x-powers,axp803-gpio
+          - const: x-powers,axp813-gpio
+
+  gpio-controller: true
+
+patternProperties:
+  "^.*-pins?$":
+    $ref: /schemas/pinctrl/pinmux-node.yaml#
+
+    properties:
+      pins:
+        items:
+          enum:
+            - GPIO0
+            - GPIO1
+            - GPIO2
+
+      function:
+        enum:
+          - adc
+          - ldo
+          - gpio_in
+          - gpio_out
+
+required:
+  - compatible
+  - "#gpio-cells"
+  - gpio-controller
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pmic@34 {
+            #interrupt-cells = <1>;
+            compatible = "x-powers,axp209";
+            reg = <0x34>;
+            interrupt-parent = <&nmi_intc>;
+            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+            interrupt-controller;
+
+            gpio {
+                #gpio-cells = <2>;
+                compatible = "x-powers,axp209-gpio";
+                gpio-controller;
+
+                gpio0-adc-pin {
+                    pins = "GPIO0";
+                    function = "adc";
+                };
+            };
+        };
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 13/54] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Bartosz Golaszewski,
	Linus Walleij, linux-gpio

The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
thanks to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -----------------
 .../bindings/gpio/x-powers,axp209-gpio.yaml   | 84 +++++++++++++++++++
 2 files changed, 84 insertions(+), 75 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
 create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml

diff --git a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
deleted file mode 100644
index fc42b2caa06d..000000000000
--- a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-AXP209 GPIO & pinctrl controller
-
-This driver follows the usual GPIO bindings found in
-Documentation/devicetree/bindings/gpio/gpio.txt
-
-This driver follows the usual pinctrl bindings found in
-Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
-
-This driver employs the per-pin muxing pattern.
-
-Required properties:
-- compatible: Should be one of:
-	- "x-powers,axp209-gpio"
-	- "x-powers,axp813-gpio"
-- #gpio-cells: Should be two. The first cell is the pin number and the
-  second is the GPIO flags.
-- gpio-controller: Marks the device node as a GPIO controller.
-
-This node must be a subnode of the axp20x PMIC, documented in
-Documentation/devicetree/bindings/mfd/axp20x.txt
-
-Example:
-
-axp209: pmic@34 {
-	compatible = "x-powers,axp209";
-	reg = <0x34>;
-	interrupt-parent = <&nmi_intc>;
-	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	interrupt-controller;
-	#interrupt-cells = <1>;
-
-	axp_gpio: gpio {
-		compatible = "x-powers,axp209-gpio";
-		gpio-controller;
-		#gpio-cells = <2>;
-	};
-};
-
-The GPIOs can be muxed to other functions and therefore, must be a subnode of
-axp_gpio.
-
-Example:
-
-&axp_gpio {
-	gpio0_adc: gpio0-adc {
-		pins = "GPIO0";
-		function = "adc";
-	};
-};
-
-&example_node {
-	pinctrl-names = "default";
-	pinctrl-0 = <&gpio0_adc>;
-};
-
-GPIOs and their functions
--------------------------
-
-Each GPIO is independent from the other (i.e. GPIO0 in gpio_in function does
-not force GPIO1 and GPIO2 to be in gpio_in function as well).
-
-axp209
-------
-GPIO	|	Functions
-------------------------
-GPIO0	|	gpio_in, gpio_out, ldo, adc
-GPIO1	|	gpio_in, gpio_out, ldo, adc
-GPIO2	|	gpio_in, gpio_out
-
-axp813
-------
-GPIO	|	Functions
-------------------------
-GPIO0	|	gpio_in, gpio_out, ldo, adc
-GPIO1	|	gpio_in, gpio_out, ldo
diff --git a/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml b/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
new file mode 100644
index 000000000000..28337f939d4e
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
@@ -0,0 +1,84 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/gpio/x-powers,axp209-gpio.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: X-Powers AXP209 GPIO Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+properties:
+  "#gpio-cells":
+    const: 2
+    description: >
+      The first cell is the pin number and the second is the GPIO flags.
+
+  compatible:
+    oneOf:
+      - enum:
+          - x-powers,axp209-gpio
+          - x-powers,axp813-gpio
+      - items:
+          - const: x-powers,axp803-gpio
+          - const: x-powers,axp813-gpio
+
+  gpio-controller: true
+
+patternProperties:
+  "^.*-pins?$":
+    $ref: /schemas/pinctrl/pinmux-node.yaml#
+
+    properties:
+      pins:
+        items:
+          enum:
+            - GPIO0
+            - GPIO1
+            - GPIO2
+
+      function:
+        enum:
+          - adc
+          - ldo
+          - gpio_in
+          - gpio_out
+
+required:
+  - compatible
+  - "#gpio-cells"
+  - gpio-controller
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        pmic@34 {
+            #interrupt-cells = <1>;
+            compatible = "x-powers,axp209";
+            reg = <0x34>;
+            interrupt-parent = <&nmi_intc>;
+            interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+            interrupt-controller;
+
+            gpio {
+                #gpio-cells = <2>;
+                compatible = "x-powers,axp209-gpio";
+                gpio-controller;
+
+                gpio0-adc-pin {
+                    pins = "GPIO0";
+                    function = "adc";
+                };
+            };
+        };
+    };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Guenter Roeck, Jean Delvare,
	Jonathan Cameron, linux-hwmon

Even though we had the iio-hwmon driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: linux-hwmon@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml

diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
new file mode 100644
index 000000000000..49dd40f663a6
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
@@ -0,0 +1,37 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: ADC-attached Hardware Sensor Device Tree Bindings
+
+maintainers:
+  - Jonathan Cameron <jic23@kernel.org>
+
+description: >
+  Bindings for hardware monitoring devices connected to ADC controllers
+  supporting the Industrial I/O bindings.
+
+properties:
+  compatible:
+    const: iio-hwmon
+
+  io-channels:
+    minItems: 1
+    maxItems: 1024
+    description: >
+      List of phandles to ADC channels to read the monitoring values
+
+required:
+  - compatible
+  - io-channels
+
+additionalProperties: false
+
+examples:
+  - |
+      iio-hwmon {
+          compatible = "iio-hwmon";
+          io-channels = <&adc 1>, <&adc 2>;
+      };
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Guenter Roeck, Jean Delvare,
	Jonathan Cameron, linux-hwmon

Even though we had the iio-hwmon driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Jean Delvare <jdelvare@suse.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: linux-hwmon@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml

diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
new file mode 100644
index 000000000000..49dd40f663a6
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
@@ -0,0 +1,37 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: ADC-attached Hardware Sensor Device Tree Bindings
+
+maintainers:
+  - Jonathan Cameron <jic23@kernel.org>
+
+description: >
+  Bindings for hardware monitoring devices connected to ADC controllers
+  supporting the Industrial I/O bindings.
+
+properties:
+  compatible:
+    const: iio-hwmon
+
+  io-channels:
+    minItems: 1
+    maxItems: 1024
+    description: >
+      List of phandles to ADC channels to read the monitoring values
+
+required:
+  - compatible
+  - io-channels
+
+additionalProperties: false
+
+examples:
+  - |
+      iio-hwmon {
+          compatible = "iio-hwmon";
+          io-channels = <&adc 1>, <&adc 2>;
+      };
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 15/54] dt-bindings: iio: st: Remove wrong items length check
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Denis Ciocca, Jonathan Cameron,
	Lars-Peter Clausen, Linus Walleij, linux-iio

The original bindings was listing the length of the interrupts as either
1 or 2, depending on the setup. This is also what is enforced by the top
level schema.

However, that is further constrained with an if clause that require
exactly two interrupts, even though it might not make sense on those
devices or in some setups.

Let's remove the clause entirely.

Cc: Denis Ciocca <denis.ciocca@st.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-iio@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/iio/st,st-sensors.yaml           | 41 -------------------
 1 file changed, 41 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
index b2a1e42c56fa..71de5631ebae 100644
--- a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
+++ b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
@@ -152,47 +152,6 @@ allOf:
           maxItems: 1
         st,drdy-int-pin: false
 
-  - if:
-      properties:
-        compatible:
-          enum:
-            # Two intertial interrupts i.e. accelerometer/gyro interrupts
-            - st,h3lis331dl-accel
-            - st,l3g4200d-gyro
-            - st,l3g4is-gyro
-            - st,l3gd20-gyro
-            - st,l3gd20h-gyro
-            - st,lis2de12
-            - st,lis2dw12
-            - st,lis2hh12
-            - st,lis2dh12-accel
-            - st,lis331dl-accel
-            - st,lis331dlh-accel
-            - st,lis3de
-            - st,lis3dh-accel
-            - st,lis3dhh
-            - st,lis3mdl-magn
-            - st,lng2dm-accel
-            - st,lps331ap-press
-            - st,lsm303agr-accel
-            - st,lsm303dlh-accel
-            - st,lsm303dlhc-accel
-            - st,lsm303dlm-accel
-            - st,lsm330-accel
-            - st,lsm330-gyro
-            - st,lsm330d-accel
-            - st,lsm330d-gyro
-            - st,lsm330dl-accel
-            - st,lsm330dl-gyro
-            - st,lsm330dlc-accel
-            - st,lsm330dlc-gyro
-            - st,lsm9ds0-gyro
-            - st,lsm9ds1-magn
-    then:
-      properties:
-        interrupts:
-          maxItems: 2
-
 required:
   - compatible
   - reg
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 15/54] dt-bindings: iio: st: Remove wrong items length check
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Denis Ciocca, Jonathan Cameron,
	Lars-Peter Clausen, Linus Walleij, linux-iio

The original bindings was listing the length of the interrupts as either
1 or 2, depending on the setup. This is also what is enforced by the top
level schema.

However, that is further constrained with an if clause that require
exactly two interrupts, even though it might not make sense on those
devices or in some setups.

Let's remove the clause entirely.

Cc: Denis Ciocca <denis.ciocca@st.com>
Cc: Jonathan Cameron <jic23@kernel.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-iio@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/iio/st,st-sensors.yaml           | 41 -------------------
 1 file changed, 41 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
index b2a1e42c56fa..71de5631ebae 100644
--- a/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
+++ b/Documentation/devicetree/bindings/iio/st,st-sensors.yaml
@@ -152,47 +152,6 @@ allOf:
           maxItems: 1
         st,drdy-int-pin: false
 
-  - if:
-      properties:
-        compatible:
-          enum:
-            # Two intertial interrupts i.e. accelerometer/gyro interrupts
-            - st,h3lis331dl-accel
-            - st,l3g4200d-gyro
-            - st,l3g4is-gyro
-            - st,l3gd20-gyro
-            - st,l3gd20h-gyro
-            - st,lis2de12
-            - st,lis2dw12
-            - st,lis2hh12
-            - st,lis2dh12-accel
-            - st,lis331dl-accel
-            - st,lis331dlh-accel
-            - st,lis3de
-            - st,lis3dh-accel
-            - st,lis3dhh
-            - st,lis3mdl-magn
-            - st,lng2dm-accel
-            - st,lps331ap-press
-            - st,lsm303agr-accel
-            - st,lsm303dlh-accel
-            - st,lsm303dlhc-accel
-            - st,lsm303dlm-accel
-            - st,lsm330-accel
-            - st,lsm330-gyro
-            - st,lsm330d-accel
-            - st,lsm330d-gyro
-            - st,lsm330dl-accel
-            - st,lsm330dl-gyro
-            - st,lsm330dlc-accel
-            - st,lsm330dlc-gyro
-            - st,lsm9ds0-gyro
-            - st,lsm9ds1-magn
-    then:
-      properties:
-        interrupts:
-          maxItems: 2
-
 required:
   - compatible
   - reg
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 16/54] dt-bindings: input: Convert ChipOne ICN8318 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, Hans de Goede,
	linux-input

The ChipOne ICN8318 Touchscreen Controller is supported by Linux thanks
to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/chipone,icn8318.yaml    | 62 +++++++++++++++++++
 .../input/touchscreen/chipone_icn8318.txt     | 44 -------------
 2 files changed, 62 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt

diff --git a/Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml b/Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
new file mode 100644
index 000000000000..9df685bdc5db
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/chipone,icn8318.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ChipOne ICN8318 Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    const: chipone,icn8318
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  wake-gpios:
+    maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - wake-gpios
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@40 {
+            compatible = "chipone,icn8318";
+            reg = <0x40>;
+            interrupt-parent = <&pio>;
+            interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
+            pinctrl-names = "default";
+            pinctrl-0 = <&ts_wake_pin_p66>;
+            wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
+            touchscreen-size-x = <800>;
+            touchscreen-size-y = <480>;
+            touchscreen-inverted-x;
+            touchscreen-swapped-x-y;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt b/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
deleted file mode 100644
index 38b0603f65f3..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-* ChipOne icn8318 I2C touchscreen controller
-
-Required properties:
- - compatible		  : "chipone,icn8318"
- - reg			  : I2C slave address of the chip (0x40)
- - interrupts		  : interrupt specification for the icn8318 interrupt
- - wake-gpios		  : GPIO specification for the WAKE input
- - touchscreen-size-x	  : horizontal resolution of touchscreen (in pixels)
- - touchscreen-size-y	  : vertical resolution of touchscreen (in pixels)
-
-Optional properties:
- - pinctrl-names	  : should be "default"
- - pinctrl-0:		  : a phandle pointing to the pin settings for the
-			    control gpios
- - touchscreen-fuzz-x	  : horizontal noise value of the absolute input
-			    device (in pixels)
- - touchscreen-fuzz-y	  : vertical noise value of the absolute input
-			    device (in pixels)
- - touchscreen-inverted-x : X axis is inverted (boolean)
- - touchscreen-inverted-y : Y axis is inverted (boolean)
- - touchscreen-swapped-x-y	  : X and Y axis are swapped (boolean)
-			    Swapping is done after inverting the axis
-
-Example:
-
-i2c@00000000 {
-	/* ... */
-
-	chipone_icn8318@40 {
-		compatible = "chipone,icn8318";
-		reg = <0x40>;
-		interrupt-parent = <&pio>;
-		interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
-		pinctrl-names = "default";
-		pinctrl-0 = <&ts_wake_pin_p66>;
-		wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
-		touchscreen-size-x = <800>;
-		touchscreen-size-y = <480>;
-		touchscreen-inverted-x;
-		touchscreen-swapped-x-y;
-	};
-
-	/* ... */
-};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 16/54] dt-bindings: input: Convert ChipOne ICN8318 binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, Hans de Goede,
	linux-input

The ChipOne ICN8318 Touchscreen Controller is supported by Linux thanks
to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/chipone,icn8318.yaml    | 62 +++++++++++++++++++
 .../input/touchscreen/chipone_icn8318.txt     | 44 -------------
 2 files changed, 62 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt

diff --git a/Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml b/Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
new file mode 100644
index 000000000000..9df685bdc5db
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/chipone,icn8318.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ChipOne ICN8318 Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    const: chipone,icn8318
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  wake-gpios:
+    maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - wake-gpios
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@40 {
+            compatible = "chipone,icn8318";
+            reg = <0x40>;
+            interrupt-parent = <&pio>;
+            interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
+            pinctrl-names = "default";
+            pinctrl-0 = <&ts_wake_pin_p66>;
+            wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
+            touchscreen-size-x = <800>;
+            touchscreen-size-y = <480>;
+            touchscreen-inverted-x;
+            touchscreen-swapped-x-y;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt b/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
deleted file mode 100644
index 38b0603f65f3..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-* ChipOne icn8318 I2C touchscreen controller
-
-Required properties:
- - compatible		  : "chipone,icn8318"
- - reg			  : I2C slave address of the chip (0x40)
- - interrupts		  : interrupt specification for the icn8318 interrupt
- - wake-gpios		  : GPIO specification for the WAKE input
- - touchscreen-size-x	  : horizontal resolution of touchscreen (in pixels)
- - touchscreen-size-y	  : vertical resolution of touchscreen (in pixels)
-
-Optional properties:
- - pinctrl-names	  : should be "default"
- - pinctrl-0:		  : a phandle pointing to the pin settings for the
-			    control gpios
- - touchscreen-fuzz-x	  : horizontal noise value of the absolute input
-			    device (in pixels)
- - touchscreen-fuzz-y	  : vertical noise value of the absolute input
-			    device (in pixels)
- - touchscreen-inverted-x : X axis is inverted (boolean)
- - touchscreen-inverted-y : Y axis is inverted (boolean)
- - touchscreen-swapped-x-y	  : X and Y axis are swapped (boolean)
-			    Swapping is done after inverting the axis
-
-Example:
-
-i2c@00000000 {
-	/* ... */
-
-	chipone_icn8318@40 {
-		compatible = "chipone,icn8318";
-		reg = <0x40>;
-		interrupt-parent = <&pio>;
-		interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */
-		pinctrl-names = "default";
-		pinctrl-0 = <&ts_wake_pin_p66>;
-		wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
-		touchscreen-size-x = <800>;
-		touchscreen-size-y = <480>;
-		touchscreen-inverted-x;
-		touchscreen-swapped-x-y;
-	};
-
-	/* ... */
-};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 17/54] dt-bindings: input: Convert Pixcir Touchscreen binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, linux-input

The Pixcir Touchscreen Controller is supported by Linux thanks to
its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/pixcir,pixcir_ts.yaml   | 68 +++++++++++++++++++
 .../input/touchscreen/pixcir_i2c_ts.txt       | 31 ---------
 2 files changed, 68 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt

diff --git a/Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml b/Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
new file mode 100644
index 000000000000..f9998edbff70
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/pixcir,pixcir_ts.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Pixcir Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    enum:
+      - pixcir,pixcir_ts
+      - pixcir,pixcir_tangoc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  attb-gpio:
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+
+  enable-gpios:
+    maxItems: 1
+
+  wake-gpios:
+    maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - attb-gpio
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@5c {
+            compatible = "pixcir,pixcir_ts";
+            reg = <0x5c>;
+            interrupts = <2 0>;
+            attb-gpio = <&gpf 2 0 2>;
+            touchscreen-size-x = <800>;
+            touchscreen-size-y = <600>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt b/Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
deleted file mode 100644
index 697a3e7831e7..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-* Pixcir I2C touchscreen controllers
-
-Required properties:
-- compatible: must be "pixcir,pixcir_ts" or "pixcir,pixcir_tangoc"
-- reg: I2C address of the chip
-- interrupts: interrupt to which the chip is connected
-- attb-gpio: GPIO connected to the ATTB line of the chip
-- touchscreen-size-x: horizontal resolution of touchscreen (in pixels)
-- touchscreen-size-y: vertical resolution of touchscreen (in pixels)
-
-Optional properties:
-- reset-gpios: GPIO connected to the RESET line of the chip
-- enable-gpios: GPIO connected to the ENABLE line of the chip
-- wake-gpios: GPIO connected to the WAKE line of the chip
-
-Example:
-
-	i2c@00000000 {
-		/* ... */
-
-		pixcir_ts@5c {
-			compatible = "pixcir,pixcir_ts";
-			reg = <0x5c>;
-			interrupts = <2 0>;
-			attb-gpio = <&gpf 2 0 2>;
-			touchscreen-size-x = <800>;
-			touchscreen-size-y = <600>;
-		};
-
-		/* ... */
-	};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 17/54] dt-bindings: input: Convert Pixcir Touchscreen binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, linux-input

The Pixcir Touchscreen Controller is supported by Linux thanks to
its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/pixcir,pixcir_ts.yaml   | 68 +++++++++++++++++++
 .../input/touchscreen/pixcir_i2c_ts.txt       | 31 ---------
 2 files changed, 68 insertions(+), 31 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt

diff --git a/Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml b/Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
new file mode 100644
index 000000000000..f9998edbff70
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/pixcir,pixcir_ts.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Pixcir Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    enum:
+      - pixcir,pixcir_ts
+      - pixcir,pixcir_tangoc
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  attb-gpio:
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+
+  enable-gpios:
+    maxItems: 1
+
+  wake-gpios:
+    maxItems: 1
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - attb-gpio
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@5c {
+            compatible = "pixcir,pixcir_ts";
+            reg = <0x5c>;
+            interrupts = <2 0>;
+            attb-gpio = <&gpf 2 0 2>;
+            touchscreen-size-x = <800>;
+            touchscreen-size-y = <600>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt b/Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
deleted file mode 100644
index 697a3e7831e7..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-* Pixcir I2C touchscreen controllers
-
-Required properties:
-- compatible: must be "pixcir,pixcir_ts" or "pixcir,pixcir_tangoc"
-- reg: I2C address of the chip
-- interrupts: interrupt to which the chip is connected
-- attb-gpio: GPIO connected to the ATTB line of the chip
-- touchscreen-size-x: horizontal resolution of touchscreen (in pixels)
-- touchscreen-size-y: vertical resolution of touchscreen (in pixels)
-
-Optional properties:
-- reset-gpios: GPIO connected to the RESET line of the chip
-- enable-gpios: GPIO connected to the ENABLE line of the chip
-- wake-gpios: GPIO connected to the WAKE line of the chip
-
-Example:
-
-	i2c@00000000 {
-		/* ... */
-
-		pixcir_ts@5c {
-			compatible = "pixcir,pixcir_ts";
-			reg = <0x5c>;
-			interrupts = <2 0>;
-			attb-gpio = <&gpf 2 0 2>;
-			touchscreen-size-x = <800>;
-			touchscreen-size-y = <600>;
-		};
-
-		/* ... */
-	};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 18/54] dt-bindings: input: Convert Regulator Haptic binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, Jaewon Kim, linux-input

The Haptic feedback based on a regulator is supported by Linux thanks to
its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Jaewon Kim <jaewon02.kim@samsung.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/input/regulator-haptic.txt       | 21 ---------
 .../bindings/input/regulator-haptic.yaml      | 43 +++++++++++++++++++
 2 files changed, 43 insertions(+), 21 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.txt
 create mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.yaml

diff --git a/Documentation/devicetree/bindings/input/regulator-haptic.txt b/Documentation/devicetree/bindings/input/regulator-haptic.txt
deleted file mode 100644
index 3ed1c7eb2f97..000000000000
--- a/Documentation/devicetree/bindings/input/regulator-haptic.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-* Regulator Haptic Device Tree Bindings
-
-Required Properties:
- - compatible : Should be "regulator-haptic"
- - haptic-supply : Power supply to the haptic motor.
-	[*] refer Documentation/devicetree/bindings/regulator/regulator.txt
-
- - max-microvolt : The maximum voltage value supplied to the haptic motor.
-		[The unit of the voltage is a micro]
-
- - min-microvolt : The minimum voltage value supplied to the haptic motor.
-		[The unit of the voltage is a micro]
-
-Example:
-
-	haptics {
-		compatible = "regulator-haptic";
-		haptic-supply = <&motor_regulator>;
-		max-microvolt = <2700000>;
-		min-microvolt = <1100000>;
-	};
diff --git a/Documentation/devicetree/bindings/input/regulator-haptic.yaml b/Documentation/devicetree/bindings/input/regulator-haptic.yaml
new file mode 100644
index 000000000000..b1ae72f9cd2d
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/regulator-haptic.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/input/regulator-haptic.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Regulator Haptic Device Tree Bindings
+
+maintainers:
+  - Jaewon Kim <jaewon02.kim@samsung.com>
+
+properties:
+  compatible:
+    const: regulator-haptic
+
+  haptic-supply:
+    description: >
+      Power supply to the haptic motor
+
+  max-microvolt:
+    description: >
+      The maximum voltage value supplied to the haptic motor
+
+  min-microvolt:
+    description: >
+      The minimum voltage value supplied to the haptic motor
+
+required:
+  - compatible
+  - haptic-supply
+  - max-microvolt
+  - min-microvolt
+
+additionalProperties: false
+
+examples:
+  - |
+    haptics {
+        compatible = "regulator-haptic";
+        haptic-supply = <&motor_regulator>;
+        max-microvolt = <2700000>;
+        min-microvolt = <1100000>;
+    };
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 18/54] dt-bindings: input: Convert Regulator Haptic binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, Jaewon Kim, linux-input

The Haptic feedback based on a regulator is supported by Linux thanks to
its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Jaewon Kim <jaewon02.kim@samsung.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/input/regulator-haptic.txt       | 21 ---------
 .../bindings/input/regulator-haptic.yaml      | 43 +++++++++++++++++++
 2 files changed, 43 insertions(+), 21 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.txt
 create mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.yaml

diff --git a/Documentation/devicetree/bindings/input/regulator-haptic.txt b/Documentation/devicetree/bindings/input/regulator-haptic.txt
deleted file mode 100644
index 3ed1c7eb2f97..000000000000
--- a/Documentation/devicetree/bindings/input/regulator-haptic.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-* Regulator Haptic Device Tree Bindings
-
-Required Properties:
- - compatible : Should be "regulator-haptic"
- - haptic-supply : Power supply to the haptic motor.
-	[*] refer Documentation/devicetree/bindings/regulator/regulator.txt
-
- - max-microvolt : The maximum voltage value supplied to the haptic motor.
-		[The unit of the voltage is a micro]
-
- - min-microvolt : The minimum voltage value supplied to the haptic motor.
-		[The unit of the voltage is a micro]
-
-Example:
-
-	haptics {
-		compatible = "regulator-haptic";
-		haptic-supply = <&motor_regulator>;
-		max-microvolt = <2700000>;
-		min-microvolt = <1100000>;
-	};
diff --git a/Documentation/devicetree/bindings/input/regulator-haptic.yaml b/Documentation/devicetree/bindings/input/regulator-haptic.yaml
new file mode 100644
index 000000000000..b1ae72f9cd2d
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/regulator-haptic.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/input/regulator-haptic.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Regulator Haptic Device Tree Bindings
+
+maintainers:
+  - Jaewon Kim <jaewon02.kim@samsung.com>
+
+properties:
+  compatible:
+    const: regulator-haptic
+
+  haptic-supply:
+    description: >
+      Power supply to the haptic motor
+
+  max-microvolt:
+    description: >
+      The maximum voltage value supplied to the haptic motor
+
+  min-microvolt:
+    description: >
+      The minimum voltage value supplied to the haptic motor
+
+required:
+  - compatible
+  - haptic-supply
+  - max-microvolt
+  - min-microvolt
+
+additionalProperties: false
+
+examples:
+  - |
+    haptics {
+        compatible = "regulator-haptic";
+        haptic-supply = <&motor_regulator>;
+        max-microvolt = <2700000>;
+        min-microvolt = <1100000>;
+    };
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 19/54] dt-bindings: input: Convert Silead GSL1680 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, linux-input

The Silead GSL1680 Touchscreen Controller is supported by Linux thanks
to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/silead,gsl1680.yaml     | 90 +++++++++++++++++++
 .../input/touchscreen/silead_gsl1680.txt      | 44 ---------
 2 files changed, 90 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt

diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
new file mode 100644
index 000000000000..84a462ffd14b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
@@ -0,0 +1,90 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silead GSL1680 Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    enum:
+      - silead,gsl1680
+      - silead,gsl1688
+      - silead,gsl3670
+      - silead,gsl3675
+      - silead,gsl3692
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  power-gpios:
+    maxItems: 1
+
+  firmware:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: >
+      File basename for board specific firmware
+
+  silead,max-fingers:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Maximum number of fingers the touchscreen can detect
+
+  silead,home-button:
+    type: boolean
+    description: >
+      Does the device have a capacitive home-button build into the
+      touchscreen?
+
+  avdd-supply:
+    description: >
+      Regulator phandle for controller AVDD
+
+  vddio-supply:
+    description: >
+      Regulator phandle for controller VDDIO
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - power-gpios
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@40 {
+            compatible = "silead,gsl1680";
+            reg = <0x40>;
+            interrupt-parent = <&pio>;
+            interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
+            power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
+            touchscreen-size-x = <480>;
+            touchscreen-size-y = <800>;
+            touchscreen-inverted-x;
+            touchscreen-swapped-x-y;
+            silead,max-fingers = <5>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
deleted file mode 100644
index d67e558e5ab5..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-* GSL 1680 touchscreen controller
-
-Required properties:
-- compatible		  : Must be one of the following, depending on the model:
-			    "silead,gsl1680"
-			    "silead,gsl1688"
-			    "silead,gsl3670"
-			    "silead,gsl3675"
-			    "silead,gsl3692"
-- reg			  : I2C slave address of the chip (0x40)
-- interrupts		  : interrupt specification for the gsl1680 interrupt
-- power-gpios		  : Specification for the pin connected to the gsl1680's
-			    shutdown input. This needs to be driven high to take the
-			    gsl1680 out of its low power state
-- touchscreen-size-x	  : See touchscreen.txt
-- touchscreen-size-y	  : See touchscreen.txt
-
-Optional properties:
-- firmware-name		  : File basename (string) for board specific firmware
-- touchscreen-inverted-x  : See touchscreen.txt
-- touchscreen-inverted-y  : See touchscreen.txt
-- touchscreen-swapped-x-y : See touchscreen.txt
-- silead,max-fingers	  : maximum number of fingers the touchscreen can detect
-- silead,home-button	  : Boolean, set to true on devices which have a
-			    capacitive home-button build into the touchscreen
-- vddio-supply		  : regulator phandle for controller VDDIO
-- avdd-supply		  : regulator phandle for controller AVDD
-
-Example:
-
-i2c@00000000 {
-	gsl1680: touchscreen@40 {
-		compatible = "silead,gsl1680";
-		reg = <0x40>;
-		interrupt-parent = <&pio>;
-		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
-		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
-		touchscreen-size-x = <480>;
-		touchscreen-size-y = <800>;
-		touchscreen-inverted-x;
-		touchscreen-swapped-x-y;
-		silead,max-fingers = <5>;
-	};
-};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 19/54] dt-bindings: input: Convert Silead GSL1680 binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, linux-input

The Silead GSL1680 Touchscreen Controller is supported by Linux thanks
to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../input/touchscreen/silead,gsl1680.yaml     | 90 +++++++++++++++++++
 .../input/touchscreen/silead_gsl1680.txt      | 44 ---------
 2 files changed, 90 insertions(+), 44 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
 delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt

diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
new file mode 100644
index 000000000000..84a462ffd14b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
@@ -0,0 +1,90 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silead GSL1680 Touchscreen Controller Device Tree Bindings
+
+maintainers:
+  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+
+allOf:
+  - $ref: touchscreen.yaml#
+
+properties:
+  compatible:
+    enum:
+      - silead,gsl1680
+      - silead,gsl1688
+      - silead,gsl3670
+      - silead,gsl3675
+      - silead,gsl3692
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  power-gpios:
+    maxItems: 1
+
+  firmware:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: >
+      File basename for board specific firmware
+
+  silead,max-fingers:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Maximum number of fingers the touchscreen can detect
+
+  silead,home-button:
+    type: boolean
+    description: >
+      Does the device have a capacitive home-button build into the
+      touchscreen?
+
+  avdd-supply:
+    description: >
+      Regulator phandle for controller AVDD
+
+  vddio-supply:
+    description: >
+      Regulator phandle for controller VDDIO
+
+unevaluatedProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - power-gpios
+  - touchscreen-size-x
+  - touchscreen-size-y
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        touchscreen@40 {
+            compatible = "silead,gsl1680";
+            reg = <0x40>;
+            interrupt-parent = <&pio>;
+            interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
+            power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
+            touchscreen-size-x = <480>;
+            touchscreen-size-y = <800>;
+            touchscreen-inverted-x;
+            touchscreen-swapped-x-y;
+            silead,max-fingers = <5>;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
deleted file mode 100644
index d67e558e5ab5..000000000000
--- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-* GSL 1680 touchscreen controller
-
-Required properties:
-- compatible		  : Must be one of the following, depending on the model:
-			    "silead,gsl1680"
-			    "silead,gsl1688"
-			    "silead,gsl3670"
-			    "silead,gsl3675"
-			    "silead,gsl3692"
-- reg			  : I2C slave address of the chip (0x40)
-- interrupts		  : interrupt specification for the gsl1680 interrupt
-- power-gpios		  : Specification for the pin connected to the gsl1680's
-			    shutdown input. This needs to be driven high to take the
-			    gsl1680 out of its low power state
-- touchscreen-size-x	  : See touchscreen.txt
-- touchscreen-size-y	  : See touchscreen.txt
-
-Optional properties:
-- firmware-name		  : File basename (string) for board specific firmware
-- touchscreen-inverted-x  : See touchscreen.txt
-- touchscreen-inverted-y  : See touchscreen.txt
-- touchscreen-swapped-x-y : See touchscreen.txt
-- silead,max-fingers	  : maximum number of fingers the touchscreen can detect
-- silead,home-button	  : Boolean, set to true on devices which have a
-			    capacitive home-button build into the touchscreen
-- vddio-supply		  : regulator phandle for controller VDDIO
-- avdd-supply		  : regulator phandle for controller AVDD
-
-Example:
-
-i2c@00000000 {
-	gsl1680: touchscreen@40 {
-		compatible = "silead,gsl1680";
-		reg = <0x40>;
-		interrupt-parent = <&pio>;
-		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
-		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
-		touchscreen-size-x = <480>;
-		touchscreen-size-y = <800>;
-		touchscreen-inverted-x;
-		touchscreen-swapped-x-y;
-		silead,max-fingers = <5>;
-	};
-};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 20/54] dt-bindings: input: sun4i-lradc: Add wakeup-source
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, Hans de Goede,
	linux-input

The LRADC can be a wakeup source and is listed as such in some DT
already. Let's make sure we allow that property in the binding.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/input/allwinner,sun4i-a10-lradc-keys.yaml          | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml b/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
index cffd02028d02..d74f2002409e 100644
--- a/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
+++ b/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
@@ -29,6 +29,8 @@ properties:
     description:
       Regulator for the LRADC reference voltage
 
+  wakeup-source: true
+
 patternProperties:
   "^button-[0-9]+$":
     type: object
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 20/54] dt-bindings: input: sun4i-lradc: Add wakeup-source
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dmitry Torokhov, Hans de Goede,
	linux-input

The LRADC can be a wakeup source and is listed as such in some DT
already. Let's make sure we allow that property in the binding.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: linux-input@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/input/allwinner,sun4i-a10-lradc-keys.yaml          | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml b/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
index cffd02028d02..d74f2002409e 100644
--- a/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
+++ b/Documentation/devicetree/bindings/input/allwinner,sun4i-a10-lradc-keys.yaml
@@ -29,6 +29,8 @@ properties:
     description:
       Regulator for the LRADC reference voltage
 
+  wakeup-source: true
+
 patternProperties:
   "^button-[0-9]+$":
     type: object
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 21/54] dt-bindings: interconnect: sunxi: Add R40 MBUS compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The R40 MBUS compatible was introduced recently but it was never
documented.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml  | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
index e713a6fe4cf7..29c9961ee2d8 100644
--- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
@@ -30,6 +30,7 @@ properties:
     enum:
       - allwinner,sun5i-a13-mbus
       - allwinner,sun8i-h3-mbus
+      - allwinner,sun8i-r40-mbus
       - allwinner,sun50i-a64-mbus
 
   reg:
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 21/54] dt-bindings: interconnect: sunxi: Add R40 MBUS compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The R40 MBUS compatible was introduced recently but it was never
documented.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml  | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
index e713a6fe4cf7..29c9961ee2d8 100644
--- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
@@ -30,6 +30,7 @@ properties:
     enum:
       - allwinner,sun5i-a13-mbus
       - allwinner,sun8i-h3-mbus
+      - allwinner,sun8i-r40-mbus
       - allwinner,sun50i-a64-mbus
 
   reg:
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 22/54] dt-bindings: media: Convert OV5640 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-media,
	Mauro Carvalho Chehab, Steve Longerbeam

The Omnivision OV5640 is supported by Linux thanks to its device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: linux-media@vger.kernel.org
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Steve Longerbeam <slongerbeam@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/media/i2c/ov5640.txt  |  92 -----------
 .../bindings/media/i2c/ovti,ov5640.yaml       | 154 ++++++++++++++++++
 2 files changed, 154 insertions(+), 92 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/ov5640.txt b/Documentation/devicetree/bindings/media/i2c/ov5640.txt
deleted file mode 100644
index c97c2f2da12d..000000000000
--- a/Documentation/devicetree/bindings/media/i2c/ov5640.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-* Omnivision OV5640 MIPI CSI-2 / parallel sensor
-
-Required Properties:
-- compatible: should be "ovti,ov5640"
-- clocks: reference to the xclk input clock.
-- clock-names: should be "xclk".
-- DOVDD-supply: Digital I/O voltage supply, 1.8 volts
-- AVDD-supply: Analog voltage supply, 2.8 volts
-- DVDD-supply: Digital core voltage supply, 1.5 volts
-
-Optional Properties:
-- reset-gpios: reference to the GPIO connected to the reset pin, if any.
-	       This is an active low signal to the OV5640.
-- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
-		   if any. This is an active high signal to the OV5640.
-- rotation: as defined in
-	    Documentation/devicetree/bindings/media/video-interfaces.txt,
-	    valid values are 0 (sensor mounted upright) and 180 (sensor
-	    mounted upside down).
-
-The device node must contain one 'port' child node for its digital output
-video port, in accordance with the video interface bindings defined in
-Documentation/devicetree/bindings/media/video-interfaces.txt.
-
-OV5640 can be connected to a MIPI CSI-2 bus or a parallel bus endpoint.
-
-Endpoint node required properties for CSI-2 connection are:
-- remote-endpoint: a phandle to the bus receiver's endpoint node.
-- clock-lanes: should be set to <0> (clock lane on hardware lane 0)
-- data-lanes: should be set to <1> or <1 2> (one or two CSI-2 lanes supported)
-
-Endpoint node required properties for parallel connection are:
-- remote-endpoint: a phandle to the bus receiver's endpoint node.
-- bus-width: shall be set to <8> for 8 bits parallel bus
-	     or <10> for 10 bits parallel bus
-- data-shift: shall be set to <2> for 8 bits parallel bus
-	      (lines 9:2 are used) or <0> for 10 bits parallel bus
-- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
-- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
-- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
-	       signal.
-
-Examples:
-
-&i2c1 {
-	ov5640: camera@3c {
-		compatible = "ovti,ov5640";
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_ov5640>;
-		reg = <0x3c>;
-		clocks = <&clks IMX6QDL_CLK_CKO>;
-		clock-names = "xclk";
-		DOVDD-supply = <&vgen4_reg>; /* 1.8v */
-		AVDD-supply = <&vgen3_reg>;  /* 2.8v */
-		DVDD-supply = <&vgen2_reg>;  /* 1.5v */
-		powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
-		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
-		rotation = <180>;
-
-		port {
-			/* MIPI CSI-2 bus endpoint */
-			ov5640_to_mipi_csi2: endpoint {
-				remote-endpoint = <&mipi_csi2_from_ov5640>;
-				clock-lanes = <0>;
-				data-lanes = <1 2>;
-			};
-		};
-	};
-};
-
-&i2c1 {
-	ov5640: camera@3c {
-		compatible = "ovti,ov5640";
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_ov5640>;
-		reg = <0x3c>;
-		clocks = <&clk_ext_camera>;
-		clock-names = "xclk";
-
-		port {
-			/* Parallel bus endpoint */
-			ov5640_to_parallel: endpoint {
-				remote-endpoint = <&parallel_from_ov5640>;
-				bus-width = <8>;
-				data-shift = <2>; /* lines 9:2 are used */
-				hsync-active = <0>;
-				vsync-active = <0>;
-				pclk-sample = <1>;
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
new file mode 100644
index 000000000000..0283b1895a75
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ovti,ov5640.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: OmniVision OV5640 Image Sensor Device Tree Bindings
+
+maintainers:
+  - Steve Longerbeam <slongerbeam@gmail.com>
+
+allOf:
+  - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+  compatible:
+    const: ovti,ov5640
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    description: XCLK Input Clock
+
+  clock-names:
+    const: xclk
+
+  AVDD-supply:
+    description: Analog voltage supply, 2.8 volts
+
+  DVDD-supply:
+    description: Digital core voltage supply, 1.5 volts
+
+  DOVDD-supply:
+    description: Digital I/O voltage supply, 1.8 volts
+
+  powerdown-gpios:
+    maxItems: 1
+    description: >
+      Reference to the GPIO connected to the powerdown pin, if any.
+
+  reset-gpios:
+    maxItems: 1
+    description: >
+      Reference to the GPIO connected to the reset pin, if any.
+
+  rotation:
+    enum: 
+      - 0
+      - 180
+
+  port:
+    description: Digital Output Port
+    $ref: /schemas/graph.yaml#/properties/port
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          clock-lanes:
+            const: 0
+
+          data-lanes:
+            minItems: 1
+            maxItems: 2
+            items:
+              enum: [1, 2]
+
+          bus-width:
+            enum: [8, 10]
+
+          data-shift:
+            enum: [0, 2]
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - AVDD-supply
+  - DVDD-supply
+  - DOVDD-supply
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+      #include <dt-bindings/clock/imx6qdl-clock.h>
+      #include <dt-bindings/gpio/gpio.h>
+
+      i2c {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          camera@3c {
+              compatible = "ovti,ov5640";
+              pinctrl-names = "default";
+              pinctrl-0 = <&pinctrl_ov5640>;
+              reg = <0x3c>;
+              clocks = <&clks IMX6QDL_CLK_CKO>;
+              clock-names = "xclk";
+              DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+              AVDD-supply = <&vgen3_reg>;  /* 2.8v */
+              DVDD-supply = <&vgen2_reg>;  /* 1.5v */
+              powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
+              reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
+              rotation = <180>;
+
+              port {
+                  /* MIPI CSI-2 bus endpoint */
+                  ov5640_to_mipi_csi2: endpoint {
+                      remote-endpoint = <&mipi_csi2_from_ov5640>;
+                      clock-lanes = <0>;
+                      data-lanes = <1 2>;
+                  };
+              };
+          };
+      };
+
+  - |
+      i2c {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          camera@3c {
+              compatible = "ovti,ov5640";
+              pinctrl-names = "default";
+              pinctrl-0 = <&pinctrl_ov5640>;
+              reg = <0x3c>;
+              clocks = <&clk_ext_camera>;
+              clock-names = "xclk";
+              DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+              AVDD-supply = <&vgen3_reg>;  /* 2.8v */
+              DVDD-supply = <&vgen2_reg>;  /* 1.5v */
+
+              port {
+                  /* Parallel bus endpoint */
+                  ov5640_to_parallel: endpoint {
+                      remote-endpoint = <&parallel_from_ov5640>;
+                      bus-width = <8>;
+                      data-shift = <2>; /* lines 9:2 are used */
+                      hsync-active = <0>;
+                      vsync-active = <0>;
+                      pclk-sample = <1>;
+                  };
+              };
+          };
+      };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 22/54] dt-bindings: media: Convert OV5640 binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-media,
	Mauro Carvalho Chehab, Steve Longerbeam

The Omnivision OV5640 is supported by Linux thanks to its device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: linux-media@vger.kernel.org
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Steve Longerbeam <slongerbeam@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/media/i2c/ov5640.txt  |  92 -----------
 .../bindings/media/i2c/ovti,ov5640.yaml       | 154 ++++++++++++++++++
 2 files changed, 154 insertions(+), 92 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/ov5640.txt b/Documentation/devicetree/bindings/media/i2c/ov5640.txt
deleted file mode 100644
index c97c2f2da12d..000000000000
--- a/Documentation/devicetree/bindings/media/i2c/ov5640.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-* Omnivision OV5640 MIPI CSI-2 / parallel sensor
-
-Required Properties:
-- compatible: should be "ovti,ov5640"
-- clocks: reference to the xclk input clock.
-- clock-names: should be "xclk".
-- DOVDD-supply: Digital I/O voltage supply, 1.8 volts
-- AVDD-supply: Analog voltage supply, 2.8 volts
-- DVDD-supply: Digital core voltage supply, 1.5 volts
-
-Optional Properties:
-- reset-gpios: reference to the GPIO connected to the reset pin, if any.
-	       This is an active low signal to the OV5640.
-- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
-		   if any. This is an active high signal to the OV5640.
-- rotation: as defined in
-	    Documentation/devicetree/bindings/media/video-interfaces.txt,
-	    valid values are 0 (sensor mounted upright) and 180 (sensor
-	    mounted upside down).
-
-The device node must contain one 'port' child node for its digital output
-video port, in accordance with the video interface bindings defined in
-Documentation/devicetree/bindings/media/video-interfaces.txt.
-
-OV5640 can be connected to a MIPI CSI-2 bus or a parallel bus endpoint.
-
-Endpoint node required properties for CSI-2 connection are:
-- remote-endpoint: a phandle to the bus receiver's endpoint node.
-- clock-lanes: should be set to <0> (clock lane on hardware lane 0)
-- data-lanes: should be set to <1> or <1 2> (one or two CSI-2 lanes supported)
-
-Endpoint node required properties for parallel connection are:
-- remote-endpoint: a phandle to the bus receiver's endpoint node.
-- bus-width: shall be set to <8> for 8 bits parallel bus
-	     or <10> for 10 bits parallel bus
-- data-shift: shall be set to <2> for 8 bits parallel bus
-	      (lines 9:2 are used) or <0> for 10 bits parallel bus
-- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
-- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
-- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
-	       signal.
-
-Examples:
-
-&i2c1 {
-	ov5640: camera@3c {
-		compatible = "ovti,ov5640";
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_ov5640>;
-		reg = <0x3c>;
-		clocks = <&clks IMX6QDL_CLK_CKO>;
-		clock-names = "xclk";
-		DOVDD-supply = <&vgen4_reg>; /* 1.8v */
-		AVDD-supply = <&vgen3_reg>;  /* 2.8v */
-		DVDD-supply = <&vgen2_reg>;  /* 1.5v */
-		powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
-		reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
-		rotation = <180>;
-
-		port {
-			/* MIPI CSI-2 bus endpoint */
-			ov5640_to_mipi_csi2: endpoint {
-				remote-endpoint = <&mipi_csi2_from_ov5640>;
-				clock-lanes = <0>;
-				data-lanes = <1 2>;
-			};
-		};
-	};
-};
-
-&i2c1 {
-	ov5640: camera@3c {
-		compatible = "ovti,ov5640";
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_ov5640>;
-		reg = <0x3c>;
-		clocks = <&clk_ext_camera>;
-		clock-names = "xclk";
-
-		port {
-			/* Parallel bus endpoint */
-			ov5640_to_parallel: endpoint {
-				remote-endpoint = <&parallel_from_ov5640>;
-				bus-width = <8>;
-				data-shift = <2>; /* lines 9:2 are used */
-				hsync-active = <0>;
-				vsync-active = <0>;
-				pclk-sample = <1>;
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
new file mode 100644
index 000000000000..0283b1895a75
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ovti,ov5640.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: OmniVision OV5640 Image Sensor Device Tree Bindings
+
+maintainers:
+  - Steve Longerbeam <slongerbeam@gmail.com>
+
+allOf:
+  - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+  compatible:
+    const: ovti,ov5640
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    description: XCLK Input Clock
+
+  clock-names:
+    const: xclk
+
+  AVDD-supply:
+    description: Analog voltage supply, 2.8 volts
+
+  DVDD-supply:
+    description: Digital core voltage supply, 1.5 volts
+
+  DOVDD-supply:
+    description: Digital I/O voltage supply, 1.8 volts
+
+  powerdown-gpios:
+    maxItems: 1
+    description: >
+      Reference to the GPIO connected to the powerdown pin, if any.
+
+  reset-gpios:
+    maxItems: 1
+    description: >
+      Reference to the GPIO connected to the reset pin, if any.
+
+  rotation:
+    enum: 
+      - 0
+      - 180
+
+  port:
+    description: Digital Output Port
+    $ref: /schemas/graph.yaml#/properties/port
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          clock-lanes:
+            const: 0
+
+          data-lanes:
+            minItems: 1
+            maxItems: 2
+            items:
+              enum: [1, 2]
+
+          bus-width:
+            enum: [8, 10]
+
+          data-shift:
+            enum: [0, 2]
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - AVDD-supply
+  - DVDD-supply
+  - DOVDD-supply
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+      #include <dt-bindings/clock/imx6qdl-clock.h>
+      #include <dt-bindings/gpio/gpio.h>
+
+      i2c {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          camera@3c {
+              compatible = "ovti,ov5640";
+              pinctrl-names = "default";
+              pinctrl-0 = <&pinctrl_ov5640>;
+              reg = <0x3c>;
+              clocks = <&clks IMX6QDL_CLK_CKO>;
+              clock-names = "xclk";
+              DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+              AVDD-supply = <&vgen3_reg>;  /* 2.8v */
+              DVDD-supply = <&vgen2_reg>;  /* 1.5v */
+              powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
+              reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
+              rotation = <180>;
+
+              port {
+                  /* MIPI CSI-2 bus endpoint */
+                  ov5640_to_mipi_csi2: endpoint {
+                      remote-endpoint = <&mipi_csi2_from_ov5640>;
+                      clock-lanes = <0>;
+                      data-lanes = <1 2>;
+                  };
+              };
+          };
+      };
+
+  - |
+      i2c {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          camera@3c {
+              compatible = "ovti,ov5640";
+              pinctrl-names = "default";
+              pinctrl-0 = <&pinctrl_ov5640>;
+              reg = <0x3c>;
+              clocks = <&clk_ext_camera>;
+              clock-names = "xclk";
+              DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+              AVDD-supply = <&vgen3_reg>;  /* 2.8v */
+              DVDD-supply = <&vgen2_reg>;  /* 1.5v */
+
+              port {
+                  /* Parallel bus endpoint */
+                  ov5640_to_parallel: endpoint {
+                      remote-endpoint = <&parallel_from_ov5640>;
+                      bus-width = <8>;
+                      data-shift = <2>; /* lines 9:2 are used */
+                      hsync-active = <0>;
+                      vsync-active = <0>;
+                      pclk-sample = <1>;
+                  };
+              };
+          };
+      };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 23/54] dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Lee Jones

The X-Powers AC100 hybrid devices are supported by Linux thanks to its
device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mfd/ac100.txt         |  50 --------
 .../bindings/mfd/x-powers,ac100.yaml          | 113 ++++++++++++++++++
 2 files changed, 113 insertions(+), 50 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml

diff --git a/Documentation/devicetree/bindings/mfd/ac100.txt b/Documentation/devicetree/bindings/mfd/ac100.txt
deleted file mode 100644
index dff219f07493..000000000000
--- a/Documentation/devicetree/bindings/mfd/ac100.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-X-Powers AC100 Codec/RTC IC Device Tree bindings
-
-AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
-separated, including power supplies and interrupt lines, but share
-a common register address space and host interface.
-
-Required properties:
-- compatible: "x-powers,ac100"
-- reg: The I2C slave address or RSB hardware address for the chip
-- sub-nodes:
-  - codec
-    - compatible:		"x-powers,ac100-codec"
-    - interrupts:		SoC NMI / GPIO interrupt connected to the
-    				IRQ_AUDIO pin
-    - #clock-cells:		Shall be 0
-    - clock-output-names:	"4M_adda"
-
-    - see clock/clock-bindings.txt for common clock bindings
-
-  - rtc
-    - compatible:		"x-powers,ac100-rtc"
-    - clocks:			A phandle to the codec's "4M_adda" clock
-    - #clock-cells:		Shall be 1
-    - clock-output-names:	"cko1_rtc", "cko2_rtc", "cko3_rtc"
-
-    - see clock/clock-bindings.txt for common clock bindings
-
-Example:
-
-ac100: codec@e89 {
-	compatible = "x-powers,ac100";
-	reg = <0xe89>;
-
-	ac100_codec: codec {
-		compatible = "x-powers,ac100-codec";
-		interrupt-parent = <&r_pio>;
-		interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
-		#clock-cells = <0>;
-		clock-output-names = "4M_adda";
-	};
-
-	ac100_rtc: rtc {
-		compatible = "x-powers,ac100-rtc";
-		interrupt-parent = <&nmi_intc>;
-		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-		clocks = <&ac100_codec>;
-		#clock-cells = <1>;
-		clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
-	};
-};
diff --git a/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
new file mode 100644
index 000000000000..6990765076b8
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: X-Powers AC100 Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+properties:
+  compatible:
+    const: x-powers,ac100
+
+  reg:
+    maxItems: 1
+
+  codec:
+    type: object
+
+    properties:
+      "#clock-cells":
+        const: 0
+
+      compatible:
+        const: x-powers,ac100-codec
+
+      interrupts:
+        maxItems: 1
+
+      clock-output-names:
+        description: >
+          Name of the 4M_adda clock exposed by the codec
+
+    required:
+      - "#clock-cells"
+      - compatible
+      - interrupts
+      - clock-output-names
+
+    additionalProperties: false
+
+  rtc:
+    type: object
+
+    properties:
+      "#clock-cells":
+        const: 1
+
+      compatible:
+        const: x-powers,ac100-rtc
+
+      interrupts:
+        maxItems: 1
+
+      clocks:
+        description: >
+           A phandle to the codec's "4M_adda" clock
+
+      clock-output-names:
+        description: >
+          Name of the cko1, cko2 and cko3 clocks exposed by the codec
+
+    required:
+      - "#clock-cells"
+      - compatible
+      - interrupts
+      - clocks
+      - clock-output-names
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - codec
+  - rtc
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    rsb {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@e89 {
+            compatible = "x-powers,ac100";
+            reg = <0xe89>;
+
+            ac100_codec: codec {
+                compatible = "x-powers,ac100-codec";
+                interrupt-parent = <&r_pio>;
+                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
+                #clock-cells = <0>;
+                clock-output-names = "4M_adda";
+            };
+
+            ac100_rtc: rtc {
+                compatible = "x-powers,ac100-rtc";
+                interrupt-parent = <&nmi_intc>;
+                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+                clocks = <&ac100_codec>;
+                #clock-cells = <1>;
+                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
+            };
+        };
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 23/54] dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Lee Jones

The X-Powers AC100 hybrid devices are supported by Linux thanks to its
device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mfd/ac100.txt         |  50 --------
 .../bindings/mfd/x-powers,ac100.yaml          | 113 ++++++++++++++++++
 2 files changed, 113 insertions(+), 50 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml

diff --git a/Documentation/devicetree/bindings/mfd/ac100.txt b/Documentation/devicetree/bindings/mfd/ac100.txt
deleted file mode 100644
index dff219f07493..000000000000
--- a/Documentation/devicetree/bindings/mfd/ac100.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-X-Powers AC100 Codec/RTC IC Device Tree bindings
-
-AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
-separated, including power supplies and interrupt lines, but share
-a common register address space and host interface.
-
-Required properties:
-- compatible: "x-powers,ac100"
-- reg: The I2C slave address or RSB hardware address for the chip
-- sub-nodes:
-  - codec
-    - compatible:		"x-powers,ac100-codec"
-    - interrupts:		SoC NMI / GPIO interrupt connected to the
-    				IRQ_AUDIO pin
-    - #clock-cells:		Shall be 0
-    - clock-output-names:	"4M_adda"
-
-    - see clock/clock-bindings.txt for common clock bindings
-
-  - rtc
-    - compatible:		"x-powers,ac100-rtc"
-    - clocks:			A phandle to the codec's "4M_adda" clock
-    - #clock-cells:		Shall be 1
-    - clock-output-names:	"cko1_rtc", "cko2_rtc", "cko3_rtc"
-
-    - see clock/clock-bindings.txt for common clock bindings
-
-Example:
-
-ac100: codec@e89 {
-	compatible = "x-powers,ac100";
-	reg = <0xe89>;
-
-	ac100_codec: codec {
-		compatible = "x-powers,ac100-codec";
-		interrupt-parent = <&r_pio>;
-		interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
-		#clock-cells = <0>;
-		clock-output-names = "4M_adda";
-	};
-
-	ac100_rtc: rtc {
-		compatible = "x-powers,ac100-rtc";
-		interrupt-parent = <&nmi_intc>;
-		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-		clocks = <&ac100_codec>;
-		#clock-cells = <1>;
-		clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
-	};
-};
diff --git a/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
new file mode 100644
index 000000000000..6990765076b8
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: X-Powers AC100 Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+properties:
+  compatible:
+    const: x-powers,ac100
+
+  reg:
+    maxItems: 1
+
+  codec:
+    type: object
+
+    properties:
+      "#clock-cells":
+        const: 0
+
+      compatible:
+        const: x-powers,ac100-codec
+
+      interrupts:
+        maxItems: 1
+
+      clock-output-names:
+        description: >
+          Name of the 4M_adda clock exposed by the codec
+
+    required:
+      - "#clock-cells"
+      - compatible
+      - interrupts
+      - clock-output-names
+
+    additionalProperties: false
+
+  rtc:
+    type: object
+
+    properties:
+      "#clock-cells":
+        const: 1
+
+      compatible:
+        const: x-powers,ac100-rtc
+
+      interrupts:
+        maxItems: 1
+
+      clocks:
+        description: >
+           A phandle to the codec's "4M_adda" clock
+
+      clock-output-names:
+        description: >
+          Name of the cko1, cko2 and cko3 clocks exposed by the codec
+
+    required:
+      - "#clock-cells"
+      - compatible
+      - interrupts
+      - clocks
+      - clock-output-names
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - codec
+  - rtc
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+
+    rsb {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        codec@e89 {
+            compatible = "x-powers,ac100";
+            reg = <0xe89>;
+
+            ac100_codec: codec {
+                compatible = "x-powers,ac100-codec";
+                interrupt-parent = <&r_pio>;
+                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
+                #clock-cells = <0>;
+                clock-output-names = "4M_adda";
+            };
+
+            ac100_rtc: rtc {
+                compatible = "x-powers,ac100-rtc";
+                interrupt-parent = <&nmi_intc>;
+                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+                clocks = <&ac100_codec>;
+                #clock-cells = <1>;
+                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
+            };
+        };
+    };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 24/54] dt-bindings: mfd: Convert X-Powers AXP binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Lee Jones

The X-Powers AXP PMICs are supported by Linux thanks to its device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mfd/axp20x.txt        | 272 -------------
 .../bindings/mfd/x-powers,axp152.yaml         | 381 ++++++++++++++++++
 2 files changed, 381 insertions(+), 272 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml

diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt
deleted file mode 100644
index 4991a6415796..000000000000
--- a/Documentation/devicetree/bindings/mfd/axp20x.txt
+++ /dev/null
@@ -1,272 +0,0 @@
-AXP family PMIC device tree bindings
-
-The axp20x family current members :
-axp152 (X-Powers)
-axp202 (X-Powers)
-axp209 (X-Powers)
-axp221 (X-Powers)
-axp223 (X-Powers)
-axp803 (X-Powers)
-axp806 (X-Powers)
-axp809 (X-Powers)
-axp813 (X-Powers)
-
-The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything
-other than the packaging. Pins are routed separately. As such they should
-be treated as separate entities. The other half is an AC100 RTC/codec
-combo chip. Please see ./ac100.txt for its bindings.
-
-Required properties:
-- compatible: should be one of:
-    * "x-powers,axp152"
-    * "x-powers,axp202"
-    * "x-powers,axp209"
-    * "x-powers,axp221"
-    * "x-powers,axp223"
-    * "x-powers,axp803"
-    * "x-powers,axp806"
-    * "x-powers,axp805", "x-powers,axp806"
-    * "x-powers,axp809"
-    * "x-powers,axp813"
-- reg: The I2C slave address or RSB hardware address for the AXP chip
-- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
-- interrupt-controller: The PMIC has its own internal IRQs
-- #interrupt-cells: Should be set to 1
-
-Supported common regulator properties, see ../regulator/regulator.txt for
-more information:
-- regulator-ramp-delay: sets the ramp up delay in uV/us
-			AXP20x/DCDC2: 1600, 800
-			AXP20x/LDO3:  1600, 800
-- regulator-soft-start:	enable the output at the lowest possible voltage and
-			only then set the desired voltage
-			AXP20x/LDO3: software-based implementation
-
-Optional properties:
-- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
-		      AXP152/20X: range:  750-1875, Default: 1.5 MHz
-		      AXP22X/8XX: range: 1800-4050, Default: 3   MHz
-
-- x-powers,drive-vbus-en: boolean, set this when the N_VBUSEN pin is
-			  used as an output pin to control an external
-			  regulator to drive the OTG VBus, rather then
-			  as an input pin which signals whether the
-			  board is driving OTG VBus or not.
-			  (axp221 / axp223 / axp803/ axp813 only)
-
-- x-powers,self-working-mode and
-  x-powers,master-mode: Boolean (axp806 only). Set either of these when the
-			PMIC is wired for self-working mode or master mode.
-			If neither is set then slave mode is assumed.
-			This corresponds to how the MODESET pin is wired.
-
-- <input>-supply: a phandle to the regulator supply node. May be omitted if
-		  inputs are unregulated, such as using the IPSOUT output
-		  from the PMIC.
-
-- regulators: A node that houses a sub-node for each regulator. Regulators
-	      not used but preferred to be managed by the OS should be
-	      listed as well.
-	      See Documentation/devicetree/bindings/regulator/regulator.txt
-	      for more information on standard regulator bindings.
-
-Optional properties for DCDC regulators:
-- x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
-			  Default: Current hardware setting
-			  The DCDC regulators work in a mixed PWM/PFM mode,
-			  using PFM under light loads and switching to PWM
-			  for heavier loads. Forcing PWM mode trades efficiency
-			  under light loads for lower output noise. This
-			  probably makes sense for HiFi audio related
-			  applications that aren't battery constrained.
-
-AXP202/AXP209 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC2		: DC-DC buck	: vin2-supply
-DCDC3		: DC-DC	buck	: vin3-supply
-LDO1		: LDO		: acin-supply		: always on
-LDO2		: LDO		: ldo24in-supply	: shared supply
-LDO3		: LDO		: ldo3in-supply
-LDO4		: LDO		: ldo24in-supply	: shared supply
-LDO5		: LDO		: ldo5in-supply
-
-AXP221/AXP223 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply
-DCDC3		: DC-DC	buck	: vin3-supply
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply
-DC1SW		: On/Off Switch	:			: DCDC1 secondary output
-DC5LDO		: LDO		:			: input from DCDC5
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-DLDO3		: LDO		: dldoin-supply		: shared supply
-DLDO4		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
-
-AXP803 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
-DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
-DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
-DC1SW		: On/Off Switch	:			: DCDC1 secondary output
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-DLDO3		: LDO		: dldoin-supply		: shared supply
-DLDO4		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-FLDO1		: LDO		: fldoin-supply		: shared supply
-FLDO2		: LDO		: fldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
-
-AXP806 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDCA		: DC-DC buck	: vina-supply		: poly-phase capable
-DCDCB		: DC-DC buck	: vinb-supply		: poly-phase capable
-DCDCC		: DC-DC	buck	: vinc-supply		: poly-phase capable
-DCDCD		: DC-DC	buck	: vind-supply		: poly-phase capable
-DCDCE		: DC-DC	buck	: vine-supply		: poly-phase capable
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-BLDO1		: LDO		: bldoin-supply		: shared supply
-BLDO2		: LDO		: bldoin-supply		: shared supply
-BLDO3		: LDO		: bldoin-supply		: shared supply
-BLDO4		: LDO		: bldoin-supply		: shared supply
-CLDO1		: LDO		: cldoin-supply		: shared supply
-CLDO2		: LDO		: cldoin-supply		: shared supply
-CLDO3		: LDO		: cldoin-supply		: shared supply
-SW		: On/Off Switch : swin-supply
-
-Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
-for higher output current. The possible groupings are: A+B, A+B+C, D+E.
-
-AXP809 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply
-DCDC3		: DC-DC	buck	: vin3-supply
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply
-DC1SW		: On/Off Switch	:			: DCDC1 secondary output
-DC5LDO		: LDO		:			: input from DCDC5
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-SW		: On/Off Switch : swin-supply
-
-AXP813 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
-DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
-DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
-DCDC7		: DC-DC	buck	: vin7-supply
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-DLDO3		: LDO		: dldoin-supply		: shared supply
-DLDO4		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-FLDO1		: LDO		: fldoin-supply		: shared supply
-FLDO2		: LDO		: fldoin-supply		: shared supply
-FLDO3		: LDO		: fldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-SW		: On/Off Switch : swin-supply
-DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
-
-Example:
-
-axp209: pmic@34 {
-	compatible = "x-powers,axp209";
-	reg = <0x34>;
-	interrupt-parent = <&nmi_intc>;
-	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	interrupt-controller;
-	#interrupt-cells = <1>;
-
-	regulators {
-		x-powers,dcdc-freq = <1500>;
-
-		vdd_cpu: dcdc2 {
-			regulator-always-on;
-			regulator-min-microvolt = <1000000>;
-			regulator-max-microvolt = <1450000>;
-			regulator-name = "vdd-cpu";
-		};
-
-		vdd_int_dll: dcdc3 {
-			regulator-always-on;
-			regulator-min-microvolt = <1000000>;
-			regulator-max-microvolt = <1400000>;
-			regulator-name = "vdd-int-dll";
-		};
-
-		vdd_rtc: ldo1 {
-			regulator-always-on;
-			regulator-min-microvolt = <1200000>;
-			regulator-max-microvolt = <1400000>;
-			regulator-name = "vdd-rtc";
-		};
-
-		avcc: ldo2 {
-			regulator-always-on;
-			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <3300000>;
-			regulator-name = "avcc";
-		};
-
-		ldo3 {
-			/* unused but preferred to be managed by OS */
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
new file mode 100644
index 000000000000..e2804965ba0c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
@@ -0,0 +1,381 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: X-Powers AXP PMIC Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - x-powers,axp152
+              - x-powers,axp202
+              - x-powers,axp209
+
+    then:
+      properties:
+        regulators:
+          properties:
+            x-powers,dcdc-freq:
+              minimum: 750
+              maximum: 1875
+              default: 1500
+
+    else:
+      properties:
+        regulators:
+          properties:
+            x-powers,dcdc-freq:
+              minimum: 1800
+              maximum: 4050
+              default: 3000
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - x-powers,axp152
+              - x-powers,axp202
+              - x-powers,axp209
+
+    then:
+      not:
+        required:
+          - x-powers,drive-vbus-en
+
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              const: x-powers,axp806
+
+    then:
+      allOf:
+        - not:
+            required:
+              - x-powers,self-working-mode
+
+        - not:
+            required:
+              - x-powers,master-mode
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - x-powers,axp152
+          - x-powers,axp202
+          - x-powers,axp209
+          - x-powers,axp221
+          - x-powers,axp223
+          - x-powers,axp803
+          - x-powers,axp806
+          - x-powers,axp809
+          - x-powers,axp813
+      - items:
+          - const: x-powers,axp805
+          - const: x-powers,axp806
+      - items:
+          - const: x-powers,axp818
+          - const: x-powers,axp813
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    const: 1
+
+  x-powers,drive-vbus-en:
+    type: boolean
+    description: >
+      Set this when the N_VBUSEN pin is used as an output pin to control an
+      external regulator to drive the OTG VBus, rather then as an input pin
+      which signals whether the board is driving OTG VBus or not.
+
+  x-powers,self-working-mode:
+    type: boolean
+    description: >
+      Set this when the PMIC is wired for self-working mode through the MODESET
+      pin.
+
+  x-powers,master-mode:
+    type: boolean
+    description: >
+      Set this when the PMIC is wired for master mode through the MODESET pin.
+
+  vin1-supply:
+    description: >
+      DCDC1 power supply node, if present.
+
+  vin2-supply:
+    description: >
+      DCDC2 power supply node, if present.
+
+  vin3-supply:
+    description: >
+      DCDC3 power supply node, if present.
+
+  vin4-supply:
+    description: >
+      DCDC4 power supply node, if present.
+
+  vin5-supply:
+    description: >
+      DCDC5 power supply node, if present.
+
+  vin6-supply:
+    description: >
+      DCDC6 power supply node, if present.
+
+  vin7-supply:
+    description: >
+      DCDC7 power supply node, if present.
+
+  vina-supply:
+    description: >
+      DCDCA power supply node, if present.
+
+  vinb-supply:
+    description: >
+      DCDCB power supply node, if present.
+
+  vinc-supply:
+    description: >
+      DCDCC power supply node, if present.
+
+  vind-supply:
+    description: >
+      DCDCD power supply node, if present.
+
+  vine-supply:
+    description: >
+      DCDCE power supply node, if present.
+
+  acin-supply:
+    description: >
+      LDO1 power supply node, if present.
+
+  ldo24in-supply:
+    description: >
+      LDO2 and LDO4 power supply node, if present.
+
+  ldo3in-supply:
+    description: >
+      LDO3 power supply node, if present.
+
+  ldo5in-supply:
+    description: >
+      LDO5 power supply node, if present.
+
+  aldoin-supply:
+    description: >
+      ALDO* power supply node, if present.
+
+  bldoin-supply:
+    description: >
+      BLDO* power supply node, if present.
+
+  cldoin-supply:
+    description: >
+      CLDO* power supply node, if present.
+
+  dldoin-supply:
+    description: >
+      DLDO* power supply node, if present.
+
+  eldoin-supply:
+    description: >
+      ELDO* power supply node, if present.
+
+  fldoin-supply:
+    description: >
+      FLDO* power supply node, if present.
+
+  ips-supply:
+    description: >
+      LDO_IO0, LDO_IO1 and RTC_LDO power supply node, if present.
+
+  drivevbus-supply:
+    description: >
+      DRIVEVBUS power supply node, if present.
+
+  swin-supply:
+    description: >
+      SW power supply node, if present.
+
+  adc:
+    $ref: /schemas/iio/adc/x-powers,axp209-adc.yaml#
+
+  gpio:
+    $ref: /schemas/gpio/x-powers,axp209-gpio.yaml#
+
+  ac-power:
+    $ref: /schemas/power/supply/x-powers,axp20x-ac-power-supply.yaml#
+
+  battery-power:
+    $ref: /schemas/power/supply/x-powers,axp20x-battery-power-supply.yaml#
+
+  usb-power:
+    $ref: /schemas/power/supply/x-powers,axp20x-usb-power-supply.yaml#
+
+  regulators:
+    type: object
+
+    properties:
+      x-powers,dcdc-freq:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: >
+          Defines the work frequency of DC-DC in kHz.
+
+    patternProperties:
+      "^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|drivevbus|dc5ldo)$":
+        $ref: /schemas/regulator/regulator.yaml#
+        type: object
+
+        properties:
+          regulator-ramp-delay:
+            enum: [ 800, 1600 ]
+            description: >
+              Only valid for the DCDC2 and LDO3 regulators.
+
+          regulator-soft-start:
+            description: >
+              Only valid for the LDO3 regulator.
+
+          x-powers,dcdc-workmode:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            enum: [0, 1]
+            description: >
+              Only valid for DCDC regulators. Setup 1 for PWM mode, 0
+              for AUTO (PWM/PFM) mode. The DCDC regulators work in a
+              mixed PWM/PFM mode, using PFM under light loads and
+              switching to PWM for heavier loads. Forcing PWM mode
+              trades efficiency under light loads for lower output
+              noise. This probably makes sense for HiFi audio related
+              applications that aren't battery constrained.
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - "#interrupt-cells"
+  - interrupt-controller
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+      i2c0 {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          pmic@30 {
+              compatible = "x-powers,axp152";
+              reg = <0x30>;
+              interrupts = <0>;
+              interrupt-controller;
+              #interrupt-cells = <1>;
+          };
+      };
+
+  - |
+      #include <dt-bindings/interrupt-controller/irq.h>
+
+      i2c0 {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          pmic@34 {
+              compatible = "x-powers,axp209";
+              reg = <0x34>;
+              interrupt-parent = <&nmi_intc>;
+              interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+              interrupt-controller;
+              #interrupt-cells = <1>;
+
+              ac_power_supply: ac-power {
+                  compatible = "x-powers,axp202-ac-power-supply";
+              };
+
+              axp_adc: adc {
+                  compatible = "x-powers,axp209-adc";
+                  #io-channel-cells = <1>;
+              };
+
+              axp_gpio: gpio {
+                  compatible = "x-powers,axp209-gpio";
+                  gpio-controller;
+                  #gpio-cells = <2>;
+              };
+
+              battery_power_supply: battery-power {
+                  compatible = "x-powers,axp209-battery-power-supply";
+              };
+
+              regulators {
+                  /* Default work frequency for buck regulators */
+                  x-powers,dcdc-freq = <1500>;
+
+                  reg_dcdc2: dcdc2 {
+                      regulator-always-on;
+                      regulator-min-microvolt = <1000000>;
+                      regulator-max-microvolt = <1450000>;
+                      regulator-name = "vdd-cpu";
+                  };
+
+                  reg_dcdc3: dcdc3 {
+                      regulator-always-on;
+                      regulator-min-microvolt = <1000000>;
+                      regulator-max-microvolt = <1400000>;
+                      regulator-name = "vdd-int-dll";
+                  };
+
+                  reg_ldo1: ldo1 {
+                      /* LDO1 is a fixed output regulator */
+                      regulator-always-on;
+                      regulator-min-microvolt = <1300000>;
+                      regulator-max-microvolt = <1300000>;
+                      regulator-name = "vdd-rtc";
+                  };
+
+                  reg_ldo2: ldo2 {
+                      regulator-always-on;
+                      regulator-min-microvolt = <3000000>;
+                      regulator-max-microvolt = <3000000>;
+                      regulator-name = "avcc";
+                  };
+
+                  reg_ldo3: ldo3 {
+                      regulator-name = "ldo3";
+                  };
+
+                  reg_ldo4: ldo4 {
+                      regulator-name = "ldo4";
+                  };
+
+                  reg_ldo5: ldo5 {
+                      regulator-name = "ldo5";
+                  };
+              };
+
+              usb_power_supply: usb-power {
+                  compatible = "x-powers,axp202-usb-power-supply";
+              };
+          };
+      };
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 24/54] dt-bindings: mfd: Convert X-Powers AXP binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Lee Jones

The X-Powers AXP PMICs are supported by Linux thanks to its device tree
binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mfd/axp20x.txt        | 272 -------------
 .../bindings/mfd/x-powers,axp152.yaml         | 381 ++++++++++++++++++
 2 files changed, 381 insertions(+), 272 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml

diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt
deleted file mode 100644
index 4991a6415796..000000000000
--- a/Documentation/devicetree/bindings/mfd/axp20x.txt
+++ /dev/null
@@ -1,272 +0,0 @@
-AXP family PMIC device tree bindings
-
-The axp20x family current members :
-axp152 (X-Powers)
-axp202 (X-Powers)
-axp209 (X-Powers)
-axp221 (X-Powers)
-axp223 (X-Powers)
-axp803 (X-Powers)
-axp806 (X-Powers)
-axp809 (X-Powers)
-axp813 (X-Powers)
-
-The AXP813 is 2 chips packaged into 1. The 2 chips do not share anything
-other than the packaging. Pins are routed separately. As such they should
-be treated as separate entities. The other half is an AC100 RTC/codec
-combo chip. Please see ./ac100.txt for its bindings.
-
-Required properties:
-- compatible: should be one of:
-    * "x-powers,axp152"
-    * "x-powers,axp202"
-    * "x-powers,axp209"
-    * "x-powers,axp221"
-    * "x-powers,axp223"
-    * "x-powers,axp803"
-    * "x-powers,axp806"
-    * "x-powers,axp805", "x-powers,axp806"
-    * "x-powers,axp809"
-    * "x-powers,axp813"
-- reg: The I2C slave address or RSB hardware address for the AXP chip
-- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
-- interrupt-controller: The PMIC has its own internal IRQs
-- #interrupt-cells: Should be set to 1
-
-Supported common regulator properties, see ../regulator/regulator.txt for
-more information:
-- regulator-ramp-delay: sets the ramp up delay in uV/us
-			AXP20x/DCDC2: 1600, 800
-			AXP20x/LDO3:  1600, 800
-- regulator-soft-start:	enable the output at the lowest possible voltage and
-			only then set the desired voltage
-			AXP20x/LDO3: software-based implementation
-
-Optional properties:
-- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
-		      AXP152/20X: range:  750-1875, Default: 1.5 MHz
-		      AXP22X/8XX: range: 1800-4050, Default: 3   MHz
-
-- x-powers,drive-vbus-en: boolean, set this when the N_VBUSEN pin is
-			  used as an output pin to control an external
-			  regulator to drive the OTG VBus, rather then
-			  as an input pin which signals whether the
-			  board is driving OTG VBus or not.
-			  (axp221 / axp223 / axp803/ axp813 only)
-
-- x-powers,self-working-mode and
-  x-powers,master-mode: Boolean (axp806 only). Set either of these when the
-			PMIC is wired for self-working mode or master mode.
-			If neither is set then slave mode is assumed.
-			This corresponds to how the MODESET pin is wired.
-
-- <input>-supply: a phandle to the regulator supply node. May be omitted if
-		  inputs are unregulated, such as using the IPSOUT output
-		  from the PMIC.
-
-- regulators: A node that houses a sub-node for each regulator. Regulators
-	      not used but preferred to be managed by the OS should be
-	      listed as well.
-	      See Documentation/devicetree/bindings/regulator/regulator.txt
-	      for more information on standard regulator bindings.
-
-Optional properties for DCDC regulators:
-- x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
-			  Default: Current hardware setting
-			  The DCDC regulators work in a mixed PWM/PFM mode,
-			  using PFM under light loads and switching to PWM
-			  for heavier loads. Forcing PWM mode trades efficiency
-			  under light loads for lower output noise. This
-			  probably makes sense for HiFi audio related
-			  applications that aren't battery constrained.
-
-AXP202/AXP209 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC2		: DC-DC buck	: vin2-supply
-DCDC3		: DC-DC	buck	: vin3-supply
-LDO1		: LDO		: acin-supply		: always on
-LDO2		: LDO		: ldo24in-supply	: shared supply
-LDO3		: LDO		: ldo3in-supply
-LDO4		: LDO		: ldo24in-supply	: shared supply
-LDO5		: LDO		: ldo5in-supply
-
-AXP221/AXP223 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply
-DCDC3		: DC-DC	buck	: vin3-supply
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply
-DC1SW		: On/Off Switch	:			: DCDC1 secondary output
-DC5LDO		: LDO		:			: input from DCDC5
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-DLDO3		: LDO		: dldoin-supply		: shared supply
-DLDO4		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
-
-AXP803 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
-DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
-DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
-DC1SW		: On/Off Switch	:			: DCDC1 secondary output
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-DLDO3		: LDO		: dldoin-supply		: shared supply
-DLDO4		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-FLDO1		: LDO		: fldoin-supply		: shared supply
-FLDO2		: LDO		: fldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
-
-AXP806 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDCA		: DC-DC buck	: vina-supply		: poly-phase capable
-DCDCB		: DC-DC buck	: vinb-supply		: poly-phase capable
-DCDCC		: DC-DC	buck	: vinc-supply		: poly-phase capable
-DCDCD		: DC-DC	buck	: vind-supply		: poly-phase capable
-DCDCE		: DC-DC	buck	: vine-supply		: poly-phase capable
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-BLDO1		: LDO		: bldoin-supply		: shared supply
-BLDO2		: LDO		: bldoin-supply		: shared supply
-BLDO3		: LDO		: bldoin-supply		: shared supply
-BLDO4		: LDO		: bldoin-supply		: shared supply
-CLDO1		: LDO		: cldoin-supply		: shared supply
-CLDO2		: LDO		: cldoin-supply		: shared supply
-CLDO3		: LDO		: cldoin-supply		: shared supply
-SW		: On/Off Switch : swin-supply
-
-Additionally, the AXP806 DC-DC regulators support poly-phase arrangements
-for higher output current. The possible groupings are: A+B, A+B+C, D+E.
-
-AXP809 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply
-DCDC3		: DC-DC	buck	: vin3-supply
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply
-DC1SW		: On/Off Switch	:			: DCDC1 secondary output
-DC5LDO		: LDO		:			: input from DCDC5
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-SW		: On/Off Switch : swin-supply
-
-AXP813 regulators, type, and corresponding input supply names:
-
-Regulator	  Type		  Supply Name		  Notes
----------	  ----		  -----------		  -----
-DCDC1		: DC-DC buck	: vin1-supply
-DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
-DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
-DCDC4		: DC-DC	buck	: vin4-supply
-DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
-DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
-DCDC7		: DC-DC	buck	: vin7-supply
-ALDO1		: LDO		: aldoin-supply		: shared supply
-ALDO2		: LDO		: aldoin-supply		: shared supply
-ALDO3		: LDO		: aldoin-supply		: shared supply
-DLDO1		: LDO		: dldoin-supply		: shared supply
-DLDO2		: LDO		: dldoin-supply		: shared supply
-DLDO3		: LDO		: dldoin-supply		: shared supply
-DLDO4		: LDO		: dldoin-supply		: shared supply
-ELDO1		: LDO		: eldoin-supply		: shared supply
-ELDO2		: LDO		: eldoin-supply		: shared supply
-ELDO3		: LDO		: eldoin-supply		: shared supply
-FLDO1		: LDO		: fldoin-supply		: shared supply
-FLDO2		: LDO		: fldoin-supply		: shared supply
-FLDO3		: LDO		: fldoin-supply		: shared supply
-LDO_IO0		: LDO		: ips-supply		: GPIO 0
-LDO_IO1		: LDO		: ips-supply		: GPIO 1
-RTC_LDO		: LDO		: ips-supply		: always on
-SW		: On/Off Switch : swin-supply
-DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator
-
-Example:
-
-axp209: pmic@34 {
-	compatible = "x-powers,axp209";
-	reg = <0x34>;
-	interrupt-parent = <&nmi_intc>;
-	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-	interrupt-controller;
-	#interrupt-cells = <1>;
-
-	regulators {
-		x-powers,dcdc-freq = <1500>;
-
-		vdd_cpu: dcdc2 {
-			regulator-always-on;
-			regulator-min-microvolt = <1000000>;
-			regulator-max-microvolt = <1450000>;
-			regulator-name = "vdd-cpu";
-		};
-
-		vdd_int_dll: dcdc3 {
-			regulator-always-on;
-			regulator-min-microvolt = <1000000>;
-			regulator-max-microvolt = <1400000>;
-			regulator-name = "vdd-int-dll";
-		};
-
-		vdd_rtc: ldo1 {
-			regulator-always-on;
-			regulator-min-microvolt = <1200000>;
-			regulator-max-microvolt = <1400000>;
-			regulator-name = "vdd-rtc";
-		};
-
-		avcc: ldo2 {
-			regulator-always-on;
-			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <3300000>;
-			regulator-name = "avcc";
-		};
-
-		ldo3 {
-			/* unused but preferred to be managed by OS */
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
new file mode 100644
index 000000000000..e2804965ba0c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
@@ -0,0 +1,381 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: X-Powers AXP PMIC Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - x-powers,axp152
+              - x-powers,axp202
+              - x-powers,axp209
+
+    then:
+      properties:
+        regulators:
+          properties:
+            x-powers,dcdc-freq:
+              minimum: 750
+              maximum: 1875
+              default: 1500
+
+    else:
+      properties:
+        regulators:
+          properties:
+            x-powers,dcdc-freq:
+              minimum: 1800
+              maximum: 4050
+              default: 3000
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - x-powers,axp152
+              - x-powers,axp202
+              - x-powers,axp209
+
+    then:
+      not:
+        required:
+          - x-powers,drive-vbus-en
+
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              const: x-powers,axp806
+
+    then:
+      allOf:
+        - not:
+            required:
+              - x-powers,self-working-mode
+
+        - not:
+            required:
+              - x-powers,master-mode
+
+properties:
+  compatible:
+    oneOf:
+      - enum:
+          - x-powers,axp152
+          - x-powers,axp202
+          - x-powers,axp209
+          - x-powers,axp221
+          - x-powers,axp223
+          - x-powers,axp803
+          - x-powers,axp806
+          - x-powers,axp809
+          - x-powers,axp813
+      - items:
+          - const: x-powers,axp805
+          - const: x-powers,axp806
+      - items:
+          - const: x-powers,axp818
+          - const: x-powers,axp813
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  interrupt-controller: true
+
+  "#interrupt-cells":
+    const: 1
+
+  x-powers,drive-vbus-en:
+    type: boolean
+    description: >
+      Set this when the N_VBUSEN pin is used as an output pin to control an
+      external regulator to drive the OTG VBus, rather then as an input pin
+      which signals whether the board is driving OTG VBus or not.
+
+  x-powers,self-working-mode:
+    type: boolean
+    description: >
+      Set this when the PMIC is wired for self-working mode through the MODESET
+      pin.
+
+  x-powers,master-mode:
+    type: boolean
+    description: >
+      Set this when the PMIC is wired for master mode through the MODESET pin.
+
+  vin1-supply:
+    description: >
+      DCDC1 power supply node, if present.
+
+  vin2-supply:
+    description: >
+      DCDC2 power supply node, if present.
+
+  vin3-supply:
+    description: >
+      DCDC3 power supply node, if present.
+
+  vin4-supply:
+    description: >
+      DCDC4 power supply node, if present.
+
+  vin5-supply:
+    description: >
+      DCDC5 power supply node, if present.
+
+  vin6-supply:
+    description: >
+      DCDC6 power supply node, if present.
+
+  vin7-supply:
+    description: >
+      DCDC7 power supply node, if present.
+
+  vina-supply:
+    description: >
+      DCDCA power supply node, if present.
+
+  vinb-supply:
+    description: >
+      DCDCB power supply node, if present.
+
+  vinc-supply:
+    description: >
+      DCDCC power supply node, if present.
+
+  vind-supply:
+    description: >
+      DCDCD power supply node, if present.
+
+  vine-supply:
+    description: >
+      DCDCE power supply node, if present.
+
+  acin-supply:
+    description: >
+      LDO1 power supply node, if present.
+
+  ldo24in-supply:
+    description: >
+      LDO2 and LDO4 power supply node, if present.
+
+  ldo3in-supply:
+    description: >
+      LDO3 power supply node, if present.
+
+  ldo5in-supply:
+    description: >
+      LDO5 power supply node, if present.
+
+  aldoin-supply:
+    description: >
+      ALDO* power supply node, if present.
+
+  bldoin-supply:
+    description: >
+      BLDO* power supply node, if present.
+
+  cldoin-supply:
+    description: >
+      CLDO* power supply node, if present.
+
+  dldoin-supply:
+    description: >
+      DLDO* power supply node, if present.
+
+  eldoin-supply:
+    description: >
+      ELDO* power supply node, if present.
+
+  fldoin-supply:
+    description: >
+      FLDO* power supply node, if present.
+
+  ips-supply:
+    description: >
+      LDO_IO0, LDO_IO1 and RTC_LDO power supply node, if present.
+
+  drivevbus-supply:
+    description: >
+      DRIVEVBUS power supply node, if present.
+
+  swin-supply:
+    description: >
+      SW power supply node, if present.
+
+  adc:
+    $ref: /schemas/iio/adc/x-powers,axp209-adc.yaml#
+
+  gpio:
+    $ref: /schemas/gpio/x-powers,axp209-gpio.yaml#
+
+  ac-power:
+    $ref: /schemas/power/supply/x-powers,axp20x-ac-power-supply.yaml#
+
+  battery-power:
+    $ref: /schemas/power/supply/x-powers,axp20x-battery-power-supply.yaml#
+
+  usb-power:
+    $ref: /schemas/power/supply/x-powers,axp20x-usb-power-supply.yaml#
+
+  regulators:
+    type: object
+
+    properties:
+      x-powers,dcdc-freq:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: >
+          Defines the work frequency of DC-DC in kHz.
+
+    patternProperties:
+      "^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|drivevbus|dc5ldo)$":
+        $ref: /schemas/regulator/regulator.yaml#
+        type: object
+
+        properties:
+          regulator-ramp-delay:
+            enum: [ 800, 1600 ]
+            description: >
+              Only valid for the DCDC2 and LDO3 regulators.
+
+          regulator-soft-start:
+            description: >
+              Only valid for the LDO3 regulator.
+
+          x-powers,dcdc-workmode:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            enum: [0, 1]
+            description: >
+              Only valid for DCDC regulators. Setup 1 for PWM mode, 0
+              for AUTO (PWM/PFM) mode. The DCDC regulators work in a
+              mixed PWM/PFM mode, using PFM under light loads and
+              switching to PWM for heavier loads. Forcing PWM mode
+              trades efficiency under light loads for lower output
+              noise. This probably makes sense for HiFi audio related
+              applications that aren't battery constrained.
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - "#interrupt-cells"
+  - interrupt-controller
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+      i2c0 {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          pmic@30 {
+              compatible = "x-powers,axp152";
+              reg = <0x30>;
+              interrupts = <0>;
+              interrupt-controller;
+              #interrupt-cells = <1>;
+          };
+      };
+
+  - |
+      #include <dt-bindings/interrupt-controller/irq.h>
+
+      i2c0 {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          pmic@34 {
+              compatible = "x-powers,axp209";
+              reg = <0x34>;
+              interrupt-parent = <&nmi_intc>;
+              interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+              interrupt-controller;
+              #interrupt-cells = <1>;
+
+              ac_power_supply: ac-power {
+                  compatible = "x-powers,axp202-ac-power-supply";
+              };
+
+              axp_adc: adc {
+                  compatible = "x-powers,axp209-adc";
+                  #io-channel-cells = <1>;
+              };
+
+              axp_gpio: gpio {
+                  compatible = "x-powers,axp209-gpio";
+                  gpio-controller;
+                  #gpio-cells = <2>;
+              };
+
+              battery_power_supply: battery-power {
+                  compatible = "x-powers,axp209-battery-power-supply";
+              };
+
+              regulators {
+                  /* Default work frequency for buck regulators */
+                  x-powers,dcdc-freq = <1500>;
+
+                  reg_dcdc2: dcdc2 {
+                      regulator-always-on;
+                      regulator-min-microvolt = <1000000>;
+                      regulator-max-microvolt = <1450000>;
+                      regulator-name = "vdd-cpu";
+                  };
+
+                  reg_dcdc3: dcdc3 {
+                      regulator-always-on;
+                      regulator-min-microvolt = <1000000>;
+                      regulator-max-microvolt = <1400000>;
+                      regulator-name = "vdd-int-dll";
+                  };
+
+                  reg_ldo1: ldo1 {
+                      /* LDO1 is a fixed output regulator */
+                      regulator-always-on;
+                      regulator-min-microvolt = <1300000>;
+                      regulator-max-microvolt = <1300000>;
+                      regulator-name = "vdd-rtc";
+                  };
+
+                  reg_ldo2: ldo2 {
+                      regulator-always-on;
+                      regulator-min-microvolt = <3000000>;
+                      regulator-max-microvolt = <3000000>;
+                      regulator-name = "avcc";
+                  };
+
+                  reg_ldo3: ldo3 {
+                      regulator-name = "ldo3";
+                  };
+
+                  reg_ldo4: ldo4 {
+                      regulator-name = "ldo4";
+                  };
+
+                  reg_ldo5: ldo5 {
+                      regulator-name = "ldo5";
+                  };
+              };
+
+              usb_power_supply: usb-power {
+                  compatible = "x-powers,axp202-usb-power-supply";
+              };
+          };
+      };
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 25/54] dt-bindings: mmc: Convert MMC Card binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-mmc, Ulf Hansson

MMC Cards can have an optional Device Tree binding to add
non-discoverable properties.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Some of these properties were already described in the MMC controller
binding, even though they are not generic and do not apply to any
device, so we took the occasion to fix this.

Cc: linux-mmc@vger.kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------
 .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++
 .../bindings/mmc/mmc-controller.yaml          |  6 ---
 3 files changed, 48 insertions(+), 36 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
 create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml

diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt
deleted file mode 100644
index 8d2d71758907..000000000000
--- a/Documentation/devicetree/bindings/mmc/mmc-card.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-mmc-card / eMMC bindings
-------------------------
-
-This documents describes the devicetree bindings for a mmc-host controller
-child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
-in mmc.txt
-
-Required properties:
--compatible : Must be "mmc-card"
--reg        : Must be <0>
-
-Optional properties:
--broken-hpi : Use this to indicate that the mmc-card has a broken hpi
-              implementation, and that hpi should not be used
-
-Example:
-
-&mmc2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&mmc2_pins_a>;
-	vmmc-supply = <&reg_vcc3v3>;
-	bus-width = <8>;
-	non-removable;
-
-	mmccard: mmccard@0 {
-		reg = <0>;
-		compatible = "mmc-card";
-		broken-hpi;
-	};
-};
diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
new file mode 100644
index 000000000000..aefdd8748b72
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MMC Card / eMMC Generic Device Tree Bindings
+
+maintainers:
+  - Ulf Hansson <ulf.hansson@linaro.org>
+
+description: |
+  This documents describes the devicetree bindings for a mmc-host controller
+  child node describing a mmc-card / an eMMC.
+
+properties:
+  compatible:
+    const: mmc-card
+
+  reg:
+    const: 0
+
+  broken-hpi:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Use this to indicate that the mmc-card has a broken hpi
+      implementation, and that hpi should not be used.
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: true
+
+examples:
+  - |
+    mmc {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        card@0 {
+            compatible = "mmc-card";
+            reg = <0>;
+            broken-hpi;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
index 25ac8e200970..513f3c8758aa 100644
--- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
+++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
@@ -333,12 +333,6 @@ patternProperties:
               subnode describes. A value of 0 denotes the memory SD
               function, values from 1 to 7 denote the SDIO functions.
 
-      broken-hpi:
-        $ref: /schemas/types.yaml#/definitions/flag
-        description:
-          Use this to indicate that the mmc-card has a broken hpi
-          implementation, and that hpi should not be used.
-
     required:
       - reg
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 25/54] dt-bindings: mmc: Convert MMC Card binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-mmc, Ulf Hansson

MMC Cards can have an optional Device Tree binding to add
non-discoverable properties.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Some of these properties were already described in the MMC controller
binding, even though they are not generic and do not apply to any
device, so we took the occasion to fix this.

Cc: linux-mmc@vger.kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------
 .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++
 .../bindings/mmc/mmc-controller.yaml          |  6 ---
 3 files changed, 48 insertions(+), 36 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
 create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml

diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt
deleted file mode 100644
index 8d2d71758907..000000000000
--- a/Documentation/devicetree/bindings/mmc/mmc-card.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-mmc-card / eMMC bindings
-------------------------
-
-This documents describes the devicetree bindings for a mmc-host controller
-child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
-in mmc.txt
-
-Required properties:
--compatible : Must be "mmc-card"
--reg        : Must be <0>
-
-Optional properties:
--broken-hpi : Use this to indicate that the mmc-card has a broken hpi
-              implementation, and that hpi should not be used
-
-Example:
-
-&mmc2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&mmc2_pins_a>;
-	vmmc-supply = <&reg_vcc3v3>;
-	bus-width = <8>;
-	non-removable;
-
-	mmccard: mmccard@0 {
-		reg = <0>;
-		compatible = "mmc-card";
-		broken-hpi;
-	};
-};
diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
new file mode 100644
index 000000000000..aefdd8748b72
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MMC Card / eMMC Generic Device Tree Bindings
+
+maintainers:
+  - Ulf Hansson <ulf.hansson@linaro.org>
+
+description: |
+  This documents describes the devicetree bindings for a mmc-host controller
+  child node describing a mmc-card / an eMMC.
+
+properties:
+  compatible:
+    const: mmc-card
+
+  reg:
+    const: 0
+
+  broken-hpi:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Use this to indicate that the mmc-card has a broken hpi
+      implementation, and that hpi should not be used.
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: true
+
+examples:
+  - |
+    mmc {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        card@0 {
+            compatible = "mmc-card";
+            reg = <0>;
+            broken-hpi;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
index 25ac8e200970..513f3c8758aa 100644
--- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
+++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
@@ -333,12 +333,6 @@ patternProperties:
               subnode describes. A value of 0 denotes the memory SD
               function, values from 1 to 7 denote the SDIO functions.
 
-      broken-hpi:
-        $ref: /schemas/types.yaml#/definitions/flag
-        description:
-          Use this to indicate that the mmc-card has a broken hpi
-          implementation, and that hpi should not be used.
-
     required:
       - reg
 
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 26/54] dt-bindings: net: dwmac: Fix typo in the R40 compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Alexandre Torgue, David S. Miller,
	Giuseppe Cavallaro, Jakub Kicinski, Jose Abreu, netdev

Even though both the driver and the device trees all use the
allwinner,sun8i-r40-gmac compatible, we documented the compatible as
allwinner,sun8i-r40-emac in the binding. Let's fix this.

Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml  | 4 ++--
 Documentation/devicetree/bindings/net/snps,dwmac.yaml       | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
index 7f2578d48e3f..9919d1912cc1 100644
--- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
@@ -15,7 +15,7 @@ properties:
     oneOf:
       - const: allwinner,sun8i-a83t-emac
       - const: allwinner,sun8i-h3-emac
-      - const: allwinner,sun8i-r40-emac
+      - const: allwinner,sun8i-r40-gmac
       - const: allwinner,sun8i-v3s-emac
       - const: allwinner,sun50i-a64-emac
       - items:
@@ -91,7 +91,7 @@ allOf:
         compatible:
           contains:
             enum:
-              - allwinner,sun8i-r40-emac
+              - allwinner,sun8i-r40-gmac
 
     then:
       properties:
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index d7652596a09b..6872caa05737 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -48,7 +48,7 @@ properties:
         - allwinner,sun7i-a20-gmac
         - allwinner,sun8i-a83t-emac
         - allwinner,sun8i-h3-emac
-        - allwinner,sun8i-r40-emac
+        - allwinner,sun8i-r40-gmac
         - allwinner,sun8i-v3s-emac
         - allwinner,sun50i-a64-emac
         - loongson,ls2k-dwmac
@@ -314,7 +314,7 @@ allOf:
               - allwinner,sun7i-a20-gmac
               - allwinner,sun8i-a83t-emac
               - allwinner,sun8i-h3-emac
-              - allwinner,sun8i-r40-emac
+              - allwinner,sun8i-r40-gmac
               - allwinner,sun8i-v3s-emac
               - allwinner,sun50i-a64-emac
               - ingenic,jz4775-mac
@@ -362,7 +362,7 @@ allOf:
               - allwinner,sun7i-a20-gmac
               - allwinner,sun8i-a83t-emac
               - allwinner,sun8i-h3-emac
-              - allwinner,sun8i-r40-emac
+              - allwinner,sun8i-r40-gmac
               - allwinner,sun8i-v3s-emac
               - allwinner,sun50i-a64-emac
               - loongson,ls2k-dwmac
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 26/54] dt-bindings: net: dwmac: Fix typo in the R40 compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Alexandre Torgue, David S. Miller,
	Giuseppe Cavallaro, Jakub Kicinski, Jose Abreu, netdev

Even though both the driver and the device trees all use the
allwinner,sun8i-r40-gmac compatible, we documented the compatible as
allwinner,sun8i-r40-emac in the binding. Let's fix this.

Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: netdev@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml  | 4 ++--
 Documentation/devicetree/bindings/net/snps,dwmac.yaml       | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
index 7f2578d48e3f..9919d1912cc1 100644
--- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
@@ -15,7 +15,7 @@ properties:
     oneOf:
       - const: allwinner,sun8i-a83t-emac
       - const: allwinner,sun8i-h3-emac
-      - const: allwinner,sun8i-r40-emac
+      - const: allwinner,sun8i-r40-gmac
       - const: allwinner,sun8i-v3s-emac
       - const: allwinner,sun50i-a64-emac
       - items:
@@ -91,7 +91,7 @@ allOf:
         compatible:
           contains:
             enum:
-              - allwinner,sun8i-r40-emac
+              - allwinner,sun8i-r40-gmac
 
     then:
       properties:
diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
index d7652596a09b..6872caa05737 100644
--- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml
+++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml
@@ -48,7 +48,7 @@ properties:
         - allwinner,sun7i-a20-gmac
         - allwinner,sun8i-a83t-emac
         - allwinner,sun8i-h3-emac
-        - allwinner,sun8i-r40-emac
+        - allwinner,sun8i-r40-gmac
         - allwinner,sun8i-v3s-emac
         - allwinner,sun50i-a64-emac
         - loongson,ls2k-dwmac
@@ -314,7 +314,7 @@ allOf:
               - allwinner,sun7i-a20-gmac
               - allwinner,sun8i-a83t-emac
               - allwinner,sun8i-h3-emac
-              - allwinner,sun8i-r40-emac
+              - allwinner,sun8i-r40-gmac
               - allwinner,sun8i-v3s-emac
               - allwinner,sun50i-a64-emac
               - ingenic,jz4775-mac
@@ -362,7 +362,7 @@ allOf:
               - allwinner,sun7i-a20-gmac
               - allwinner,sun8i-a83t-emac
               - allwinner,sun8i-h3-emac
-              - allwinner,sun8i-r40-emac
+              - allwinner,sun8i-r40-gmac
               - allwinner,sun8i-v3s-emac
               - allwinner,sun50i-a64-emac
               - loongson,ls2k-dwmac
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 27/54] dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, David S. Miller, de Goede,
	Jakub Kicinski, Kalle Valo, linux-wireless, netdev

The ESP8089 Wireless Chip is supported by Linux (through an out-of-tree
driver) thanks to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: de Goede <hdegoede@redhat.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/net/wireless/esp,esp8089.txt     | 30 -------------
 .../bindings/net/wireless/esp,esp8089.yaml    | 43 +++++++++++++++++++
 2 files changed, 43 insertions(+), 30 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
 create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml

diff --git a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
deleted file mode 100644
index 6830c4786f8a..000000000000
--- a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-Espressif ESP8089 wireless SDIO devices
-
-This node provides properties for controlling the ESP8089 wireless device.
-The node is expected to be specified as a child node to the SDIO controller
-that connects the device to the system.
-
-Required properties:
-
- - compatible : Should be "esp,esp8089".
-
-Optional properties:
- - esp,crystal-26M-en: Integer value for the crystal_26M_en firmware parameter
-
-Example:
-
-&mmc1 {
-	#address-cells = <1>;
-	#size-cells = <0>;
-
-	vmmc-supply = <&reg_dldo1>;
-	mmc-pwrseq = <&wifi_pwrseq>;
-	bus-width = <4>;
-	non-removable;
-
-	esp8089: sdio_wifi@1 {
-		compatible = "esp,esp8089";
-		reg = <1>;
-		esp,crystal-26M-en = <2>;
-	};
-};
diff --git a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
new file mode 100644
index 000000000000..284ef45add99
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/esp,esp8089.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Espressif ESP8089 Device Tree Bindings
+
+maintainers:
+  - Hans de Goede <hdegoede@redhat.com>
+
+properties:
+  compatible:
+    const: esp,esp8089
+
+  reg:
+    maxItems: 1
+
+  esp,crystal-26M-en:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Value for the crystal_26M_en firmware parameter
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      mmc {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          wifi@1 {
+              compatible = "esp,esp8089";
+              reg = <1>;
+              esp,crystal-26M-en = <2>;
+          };
+      };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 27/54] dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, David S. Miller, de Goede,
	Jakub Kicinski, Kalle Valo, linux-wireless, netdev

The ESP8089 Wireless Chip is supported by Linux (through an out-of-tree
driver) thanks to its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: de Goede <hdegoede@redhat.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/net/wireless/esp,esp8089.txt     | 30 -------------
 .../bindings/net/wireless/esp,esp8089.yaml    | 43 +++++++++++++++++++
 2 files changed, 43 insertions(+), 30 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
 create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml

diff --git a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
deleted file mode 100644
index 6830c4786f8a..000000000000
--- a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-Espressif ESP8089 wireless SDIO devices
-
-This node provides properties for controlling the ESP8089 wireless device.
-The node is expected to be specified as a child node to the SDIO controller
-that connects the device to the system.
-
-Required properties:
-
- - compatible : Should be "esp,esp8089".
-
-Optional properties:
- - esp,crystal-26M-en: Integer value for the crystal_26M_en firmware parameter
-
-Example:
-
-&mmc1 {
-	#address-cells = <1>;
-	#size-cells = <0>;
-
-	vmmc-supply = <&reg_dldo1>;
-	mmc-pwrseq = <&wifi_pwrseq>;
-	bus-width = <4>;
-	non-removable;
-
-	esp8089: sdio_wifi@1 {
-		compatible = "esp,esp8089";
-		reg = <1>;
-		esp,crystal-26M-en = <2>;
-	};
-};
diff --git a/Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
new file mode 100644
index 000000000000..284ef45add99
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/wireless/esp,esp8089.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Espressif ESP8089 Device Tree Bindings
+
+maintainers:
+  - Hans de Goede <hdegoede@redhat.com>
+
+properties:
+  compatible:
+    const: esp,esp8089
+
+  reg:
+    maxItems: 1
+
+  esp,crystal-26M-en:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Value for the crystal_26M_en firmware parameter
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      mmc {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          wifi@1 {
+              compatible = "esp,esp8089";
+              reg = <1>;
+              esp,crystal-26M-en = <2>;
+          };
+      };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 28/54] dt-bindings: power: supply: axp20x: Add AXP803 compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-pm, Sebastian Reichel

The AXP803 compatible was introduced recently with a fallback to the
AXP813, but it was never documented.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: linux-pm@vger.kernel.org
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../supply/x-powers,axp20x-ac-power-supply.yaml    | 11 +++++++----
 .../x-powers,axp20x-battery-power-supply.yaml      | 11 +++++++----
 .../supply/x-powers,axp20x-usb-power-supply.yaml   | 14 +++++++++-----
 3 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
index dcda6660b8ed..de6a23aee977 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
@@ -21,10 +21,13 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - x-powers,axp202-ac-power-supply
-      - x-powers,axp221-ac-power-supply
-      - x-powers,axp813-ac-power-supply
+    oneOf:
+      - const: x-powers,axp202-ac-power-supply
+      - const: x-powers,axp221-ac-power-supply
+      - items:
+          - const: x-powers,axp803-ac-power-supply
+          - const: x-powers,axp813-ac-power-supply
+      - const: x-powers,axp813-ac-power-supply
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
index 86e8a713d4e2..d1f0df123a5a 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
@@ -19,10 +19,13 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - x-powers,axp209-battery-power-supply
-      - x-powers,axp221-battery-power-supply
-      - x-powers,axp813-battery-power-supply
+    oneOf:
+      - const: x-powers,axp202-battery-power-supply
+      - const: x-powers,axp221-battery-power-supply
+      - items:
+          - const: x-powers,axp803-battery-power-supply
+          - const: x-powers,axp813-battery-power-supply
+      - const: x-powers,axp813-battery-power-supply
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
index 61f1b320c157..0c371b55c9e1 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
@@ -20,11 +20,15 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - x-powers,axp202-usb-power-supply
-      - x-powers,axp221-usb-power-supply
-      - x-powers,axp223-usb-power-supply
-      - x-powers,axp813-usb-power-supply
+    oneOf:
+      - enum:
+          - x-powers,axp202-usb-power-supply
+          - x-powers,axp221-usb-power-supply
+          - x-powers,axp223-usb-power-supply
+          - x-powers,axp813-usb-power-supply
+      - items:
+          - const: x-powers,axp803-usb-power-supply
+          - const: x-powers,axp813-usb-power-supply
 
 
 required:
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 28/54] dt-bindings: power: supply: axp20x: Add AXP803 compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-pm, Sebastian Reichel

The AXP803 compatible was introduced recently with a fallback to the
AXP813, but it was never documented.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: linux-pm@vger.kernel.org
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../supply/x-powers,axp20x-ac-power-supply.yaml    | 11 +++++++----
 .../x-powers,axp20x-battery-power-supply.yaml      | 11 +++++++----
 .../supply/x-powers,axp20x-usb-power-supply.yaml   | 14 +++++++++-----
 3 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
index dcda6660b8ed..de6a23aee977 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-ac-power-supply.yaml
@@ -21,10 +21,13 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - x-powers,axp202-ac-power-supply
-      - x-powers,axp221-ac-power-supply
-      - x-powers,axp813-ac-power-supply
+    oneOf:
+      - const: x-powers,axp202-ac-power-supply
+      - const: x-powers,axp221-ac-power-supply
+      - items:
+          - const: x-powers,axp803-ac-power-supply
+          - const: x-powers,axp813-ac-power-supply
+      - const: x-powers,axp813-ac-power-supply
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
index 86e8a713d4e2..d1f0df123a5a 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
@@ -19,10 +19,13 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - x-powers,axp209-battery-power-supply
-      - x-powers,axp221-battery-power-supply
-      - x-powers,axp813-battery-power-supply
+    oneOf:
+      - const: x-powers,axp202-battery-power-supply
+      - const: x-powers,axp221-battery-power-supply
+      - items:
+          - const: x-powers,axp803-battery-power-supply
+          - const: x-powers,axp813-battery-power-supply
+      - const: x-powers,axp813-battery-power-supply
 
 required:
   - compatible
diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
index 61f1b320c157..0c371b55c9e1 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-usb-power-supply.yaml
@@ -20,11 +20,15 @@ allOf:
 
 properties:
   compatible:
-    enum:
-      - x-powers,axp202-usb-power-supply
-      - x-powers,axp221-usb-power-supply
-      - x-powers,axp223-usb-power-supply
-      - x-powers,axp813-usb-power-supply
+    oneOf:
+      - enum:
+          - x-powers,axp202-usb-power-supply
+          - x-powers,axp221-usb-power-supply
+          - x-powers,axp223-usb-power-supply
+          - x-powers,axp813-usb-power-supply
+      - items:
+          - const: x-powers,axp803-usb-power-supply
+          - const: x-powers,axp813-usb-power-supply
 
 
 required:
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 29/54] dt-bindings: power: supply: axp20x-battery: Add AXP209 compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:03   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-pm, Sebastian Reichel

The AXP209 compatible was used in Device Trees and the driver, but it
was never documented.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: linux-pm@vger.kernel.org
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../power/supply/x-powers,axp20x-battery-power-supply.yaml       | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
index d1f0df123a5a..d055428ae39f 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
@@ -21,6 +21,7 @@ properties:
   compatible:
     oneOf:
       - const: x-powers,axp202-battery-power-supply
+      - const: x-powers,axp209-battery-power-supply
       - const: x-powers,axp221-battery-power-supply
       - items:
           - const: x-powers,axp803-battery-power-supply
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 29/54] dt-bindings: power: supply: axp20x-battery: Add AXP209 compatible
@ 2021-07-21 14:03   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:03 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, linux-pm, Sebastian Reichel

The AXP209 compatible was used in Device Trees and the driver, but it
was never documented.

Cc: Chen-Yu Tsai <wens@csie.org>
Cc: linux-pm@vger.kernel.org
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../power/supply/x-powers,axp20x-battery-power-supply.yaml       | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
index d1f0df123a5a..d055428ae39f 100644
--- a/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
+++ b/Documentation/devicetree/bindings/power/supply/x-powers,axp20x-battery-power-supply.yaml
@@ -21,6 +21,7 @@ properties:
   compatible:
     oneOf:
       - const: x-powers,axp202-battery-power-supply
+      - const: x-powers,axp209-battery-power-supply
       - const: x-powers,axp221-battery-power-supply
       - items:
           - const: x-powers,axp803-battery-power-supply
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 30/54] dt-bindings: regulator: Convert SY8106A binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Icenowy Zheng, Liam Girdwood,
	Mark Brown, Ondrej Jirman

The Silergy SY8106A is a regulator controlled through i2c supported by
Linux with a matching device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Icenowy Zheng <icenowy@aosc.io>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Ondrej Jirman <megous@megous.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/regulator/silergy,sy8106a.yaml   | 52 +++++++++++++++++++
 .../bindings/regulator/sy8106a-regulator.txt  | 23 --------
 2 files changed, 52 insertions(+), 23 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt

diff --git a/Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml b/Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
new file mode 100644
index 000000000000..a52a67c869b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/silergy,sy8106a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silergy SY8106A Voltage Regulator Device Tree Bindings
+
+maintainers:
+  - Ondrej Jirman <megous@megous.com>
+
+allOf:
+  - $ref: regulator.yaml#
+
+properties:
+  compatible:
+    const: silergy,sy8106a
+
+  reg:
+    maxItems: 1
+
+  silergy,fixed-microvolt:
+    description: >
+      The voltage when I2C regulating is disabled (set by external resistor
+      like a fixed voltage)
+
+required:
+  - compatible
+  - reg
+  - silergy,fixed-microvolt
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        regulator@65 {
+            compatible = "silergy,sy8106a";
+            reg = <0x65>;
+            regulator-name = "sy8106a-vdd";
+            silergy,fixed-microvolt = <1200000>;
+            regulator-min-microvolt = <1000000>;
+            regulator-max-microvolt = <1400000>;
+            regulator-boot-on;
+            regulator-always-on;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt b/Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
deleted file mode 100644
index 39a8ca73f572..000000000000
--- a/Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-SY8106A Voltage regulator
-
-Required properties:
-- compatible: Must be "silergy,sy8106a"
-- reg: I2C slave address - must be <0x65>
-- silergy,fixed-microvolt - the voltage when I2C regulating is disabled (set
-  by external resistor like a fixed voltage)
-
-Any property defined as part of the core regulator binding, defined in
-./regulator.txt, can also be used.
-
-Example:
-
-	sy8106a {
-		compatible = "silergy,sy8106a";
-		reg = <0x65>;
-		regulator-name = "sy8106a-vdd";
-		silergy,fixed-microvolt = <1200000>;
-		regulator-min-microvolt = <1000000>;
-		regulator-max-microvolt = <1400000>;
-		regulator-boot-on;
-		regulator-always-on;
-	};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 30/54] dt-bindings: regulator: Convert SY8106A binding to a schema
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Icenowy Zheng, Liam Girdwood,
	Mark Brown, Ondrej Jirman

The Silergy SY8106A is a regulator controlled through i2c supported by
Linux with a matching device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Icenowy Zheng <icenowy@aosc.io>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Ondrej Jirman <megous@megous.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../bindings/regulator/silergy,sy8106a.yaml   | 52 +++++++++++++++++++
 .../bindings/regulator/sy8106a-regulator.txt  | 23 --------
 2 files changed, 52 insertions(+), 23 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
 delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt

diff --git a/Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml b/Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
new file mode 100644
index 000000000000..a52a67c869b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/silergy,sy8106a.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silergy SY8106A Voltage Regulator Device Tree Bindings
+
+maintainers:
+  - Ondrej Jirman <megous@megous.com>
+
+allOf:
+  - $ref: regulator.yaml#
+
+properties:
+  compatible:
+    const: silergy,sy8106a
+
+  reg:
+    maxItems: 1
+
+  silergy,fixed-microvolt:
+    description: >
+      The voltage when I2C regulating is disabled (set by external resistor
+      like a fixed voltage)
+
+required:
+  - compatible
+  - reg
+  - silergy,fixed-microvolt
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        regulator@65 {
+            compatible = "silergy,sy8106a";
+            reg = <0x65>;
+            regulator-name = "sy8106a-vdd";
+            silergy,fixed-microvolt = <1200000>;
+            regulator-min-microvolt = <1000000>;
+            regulator-max-microvolt = <1400000>;
+            regulator-boot-on;
+            regulator-always-on;
+        };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt b/Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
deleted file mode 100644
index 39a8ca73f572..000000000000
--- a/Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-SY8106A Voltage regulator
-
-Required properties:
-- compatible: Must be "silergy,sy8106a"
-- reg: I2C slave address - must be <0x65>
-- silergy,fixed-microvolt - the voltage when I2C regulating is disabled (set
-  by external resistor like a fixed voltage)
-
-Any property defined as part of the core regulator binding, defined in
-./regulator.txt, can also be used.
-
-Example:
-
-	sy8106a {
-		compatible = "silergy,sy8106a";
-		reg = <0x65>;
-		regulator-name = "sy8106a-vdd";
-		silergy,fixed-microvolt = <1200000>;
-		regulator-min-microvolt = <1000000>;
-		regulator-max-microvolt = <1400000>;
-		regulator-boot-on;
-		regulator-always-on;
-	};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 31/54] dt-bindings: sunxi: Add CPU Configuration Controller Binding
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though we've used the CPU configuration driver for some time and a
number of boards using it already, we never had a binding for it. Let's
add it based on what the driver expects and the boards are providing.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml  | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml

diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
new file mode 100644
index 000000000000..f3878e0b3cc4
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner CPU Configuration Controller Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+  - Maxime Ripard <mripard@kernel.org>
+
+properties:
+  compatible:
+    enum:
+      - allwinner,sun6i-a31-cpuconfig
+      - allwinner,sun8i-a23-cpuconfig
+      - allwinner,sun8i-a83t-cpucfg
+      - allwinner,sun8i-a83t-r-cpucfg
+      - allwinner,sun9i-a80-cpucfg
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      cpucfg@1f01c00 {
+          compatible = "allwinner,sun6i-a31-cpuconfig";
+          reg = <0x01f01c00 0x300>;
+      };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 31/54] dt-bindings: sunxi: Add CPU Configuration Controller Binding
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though we've used the CPU configuration driver for some time and a
number of boards using it already, we never had a binding for it. Let's
add it based on what the driver expects and the boards are providing.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml  | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml

diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
new file mode 100644
index 000000000000..f3878e0b3cc4
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner CPU Configuration Controller Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+  - Maxime Ripard <mripard@kernel.org>
+
+properties:
+  compatible:
+    enum:
+      - allwinner,sun6i-a31-cpuconfig
+      - allwinner,sun8i-a23-cpuconfig
+      - allwinner,sun8i-a83t-cpucfg
+      - allwinner,sun8i-a83t-r-cpucfg
+      - allwinner,sun9i-a80-cpucfg
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      cpucfg@1f01c00 {
+          compatible = "allwinner,sun6i-a31-cpuconfig";
+          reg = <0x01f01c00 0x300>;
+      };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 32/54] dt-bindings: sunxi: Add Allwinner A80 PRCM Binding
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though we've used the A80 PRCM driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../arm/sunxi/allwinner,sun9i-a80-prcm.yaml   | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml

diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml
new file mode 100644
index 000000000000..668aadbfe4c0
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun9i-a80-prcm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner A80 PRCM Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+  - Maxime Ripard <mripard@kernel.org>
+
+properties:
+  compatible:
+    const: allwinner,sun9i-a80-prcm
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      prcm@8001400 {
+          compatible = "allwinner,sun9i-a80-prcm";
+          reg = <0x08001400 0x200>;
+      };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 32/54] dt-bindings: sunxi: Add Allwinner A80 PRCM Binding
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though we've used the A80 PRCM driver for some time and a number of
boards using it already, we never had a binding for it. Let's add it
based on what the driver expects and the boards are providing.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../arm/sunxi/allwinner,sun9i-a80-prcm.yaml   | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml

diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml
new file mode 100644
index 000000000000..668aadbfe4c0
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun9i-a80-prcm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner A80 PRCM Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+  - Maxime Ripard <mripard@kernel.org>
+
+properties:
+  compatible:
+    const: allwinner,sun9i-a80-prcm
+
+  reg:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+
+additionalProperties: false
+
+examples:
+  - |
+      prcm@8001400 {
+          compatible = "allwinner,sun9i-a80-prcm";
+          reg = <0x08001400 0x200>;
+      };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 33/54] dt-bindings: thermal: Make trips node optional
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Amit Kucheria, Daniel Lezcano,
	linux-pm, Zhang Rui

Even though the previous binding made it a required child node, the
implementation in Linux never made it mandatory and just ignored thermal
zones without trip points.

This was even effectively encouraged, since the thermal core wouldn't
allow a thermal sensor to probe without a thermal zone.

In the case where you had a thermal device that had multiple sensors but
with enough knowledge to provide trip points for only a few of them,
this meant that the only way to make that driver probe was to provide a
thermal zone without the trips node required by the binding.

This obviously led to a fair number of device trees doing exactly that,
making the initial binding requirement ineffective.

Let's make it clear by dropping that requirement.

Cc: Amit Kucheria <amitk@kernel.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-pm@vger.kernel.org
Cc: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/thermal/thermal-zones.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
index 164f71598c59..a07de5ed0ca6 100644
--- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
+++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
@@ -215,7 +215,7 @@ patternProperties:
       - polling-delay
       - polling-delay-passive
       - thermal-sensors
-      - trips
+
     additionalProperties: false
 
 additionalProperties: false
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 33/54] dt-bindings: thermal: Make trips node optional
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Amit Kucheria, Daniel Lezcano,
	linux-pm, Zhang Rui

Even though the previous binding made it a required child node, the
implementation in Linux never made it mandatory and just ignored thermal
zones without trip points.

This was even effectively encouraged, since the thermal core wouldn't
allow a thermal sensor to probe without a thermal zone.

In the case where you had a thermal device that had multiple sensors but
with enough knowledge to provide trip points for only a few of them,
this meant that the only way to make that driver probe was to provide a
thermal zone without the trips node required by the binding.

This obviously led to a fair number of device trees doing exactly that,
making the initial binding requirement ineffective.

Let's make it clear by dropping that requirement.

Cc: Amit Kucheria <amitk@kernel.org>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-pm@vger.kernel.org
Cc: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/thermal/thermal-zones.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
index 164f71598c59..a07de5ed0ca6 100644
--- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
+++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
@@ -215,7 +215,7 @@ patternProperties:
       - polling-delay
       - polling-delay-passive
       - thermal-sensors
-      - trips
+
     additionalProperties: false
 
 additionalProperties: false
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 34/54] dt-bindings: usb: Convert SMSC USB3503 binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dongjin Kim, Greg Kroah-Hartman,
	linux-usb

The SMSC USB3503 USB Hub Controller is supported by Linux thanks to
its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dongjin Kim <tobetter@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/usb/smsc,usb3503.yaml | 104 ++++++++++++++++++
 .../devicetree/bindings/usb/usb3503.txt       |  39 -------
 2 files changed, 104 insertions(+), 39 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/usb3503.txt

diff --git a/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml b/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
new file mode 100644
index 000000000000..0e5622e7df87
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
@@ -0,0 +1,104 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/smsc,usb3503.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SMSC USB3503 High-Speed Hub Controller Device Tree Bindings
+
+maintainers:
+  - Dongjin Kim <tobetter@gmail.com>
+
+properties:
+  compatible:
+    enum:
+      - smsc,usb3503
+      - smsc,usb3503a
+
+  reg:
+    maxItems: 1
+
+  connect-gpios:
+    description: >
+      GPIO for connect
+
+  intn-gpios:
+    description: >
+      GPIO for interrupt
+
+  reset-gpios:
+    description: >
+      GPIO for reset
+
+  disabled-ports:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 3
+    items:
+      minimum: 1
+      maximum: 3
+    description: >
+      Specifies the ports unused using their port number. Do not describe this
+      property if all ports have to be enabled.
+
+  initial-mode:
+    enum: [1, 2]
+    description: >
+      Specifies initial mode. 1 for Hub mode, 2 for standby mode.
+
+  clocks:
+    description: >
+      Clock used for driving REFCLK signal. If not provided the driver assumes
+      that clock signal is always available, its rate is specified by REF_SEL
+      pins and a value from the primary reference clock frequencies table is
+      used.
+
+  clock-names:
+    const: refclk
+
+  refclk-frequency:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Frequency of the REFCLK signal as defined by REF_SEL pins. If not
+      provided, driver will not set rate of the REFCLK signal and assume that a
+      value from the primary reference clock frequencies table is used.
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+      i2c {
+          #address-cells = <1>;
+          #size-cells = <0>;
+        
+          usb3503@8 {
+              compatible = "smsc,usb3503";
+              reg = <0x08>;
+              connect-gpios = <&gpx3 0 1>;
+              disabled-ports = <2 3>;
+              intn-gpios = <&gpx3 4 1>;
+              reset-gpios = <&gpx3 5 1>;
+              initial-mode = <1>;
+              clocks = <&clks 80>;
+              clock-names = "refclk";
+          };
+      };
+
+  - |
+      #include <dt-bindings/gpio/gpio.h>
+
+      usb-hub {
+          /* I2C is not connected */
+          compatible = "smsc,usb3503";
+          initial-mode = <1>; /* initialize in HUB mode */
+          disabled-ports = <1>;
+          intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
+          reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
+          connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
+          refclk-frequency = <19200000>;
+      };
+
+...
diff --git a/Documentation/devicetree/bindings/usb/usb3503.txt b/Documentation/devicetree/bindings/usb/usb3503.txt
deleted file mode 100644
index 057dd384d473..000000000000
--- a/Documentation/devicetree/bindings/usb/usb3503.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-SMSC USB3503 High-Speed Hub Controller
-
-Required properties:
-- compatible: Should be "smsc,usb3503" or "smsc,usb3503a".
-
-Optional properties:
-- reg: Specifies the i2c slave address, it is required and should be 0x08
-       if I2C is used.
-- connect-gpios: Should specify GPIO for connect.
-- disabled-ports: Should specify the ports unused.
-	'1' or '2' or '3' are available for this property to describe the port
-	number. 1~3 property values are possible to be described.
-	Do not describe this property if all ports have to be enabled.
-- intn-gpios: Should specify GPIO for interrupt.
-- reset-gpios: Should specify GPIO for reset.
-- initial-mode: Should specify initial mode.
-                (1 for HUB mode, 2 for STANDBY mode)
-- refclk: Clock used for driving REFCLK signal (optional, if not provided
-	the driver assumes that clock signal is always available, its
-	rate is specified by REF_SEL pins and a value from the primary
-	reference clock frequencies table is used). Use clocks and
-	clock-names in order to assign it
-- refclk-frequency: Frequency of the REFCLK signal as defined by REF_SEL
-	pins (optional, if not provided, driver will not set rate of the
-	REFCLK signal and assume that a value from the primary reference
-	clock frequencies table is used)
-
-Examples:
-	usb3503@8 {
-		compatible = "smsc,usb3503";
-		reg = <0x08>;
-		connect-gpios = <&gpx3 0 1>;
-		disabled-ports = <2 3>;
-		intn-gpios = <&gpx3 4 1>;
-		reset-gpios = <&gpx3 5 1>;
-		initial-mode = <1>;
-		clocks = <&clks 80>;
-		clock-names = "refclk";
-	};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 34/54] dt-bindings: usb: Convert SMSC USB3503 binding to a schema
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Dongjin Kim, Greg Kroah-Hartman,
	linux-usb

The SMSC USB3503 USB Hub Controller is supported by Linux thanks to
its device tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Dongjin Kim <tobetter@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/usb/smsc,usb3503.yaml | 104 ++++++++++++++++++
 .../devicetree/bindings/usb/usb3503.txt       |  39 -------
 2 files changed, 104 insertions(+), 39 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
 delete mode 100644 Documentation/devicetree/bindings/usb/usb3503.txt

diff --git a/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml b/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
new file mode 100644
index 000000000000..0e5622e7df87
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/smsc,usb3503.yaml
@@ -0,0 +1,104 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/smsc,usb3503.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SMSC USB3503 High-Speed Hub Controller Device Tree Bindings
+
+maintainers:
+  - Dongjin Kim <tobetter@gmail.com>
+
+properties:
+  compatible:
+    enum:
+      - smsc,usb3503
+      - smsc,usb3503a
+
+  reg:
+    maxItems: 1
+
+  connect-gpios:
+    description: >
+      GPIO for connect
+
+  intn-gpios:
+    description: >
+      GPIO for interrupt
+
+  reset-gpios:
+    description: >
+      GPIO for reset
+
+  disabled-ports:
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    minItems: 1
+    maxItems: 3
+    items:
+      minimum: 1
+      maximum: 3
+    description: >
+      Specifies the ports unused using their port number. Do not describe this
+      property if all ports have to be enabled.
+
+  initial-mode:
+    enum: [1, 2]
+    description: >
+      Specifies initial mode. 1 for Hub mode, 2 for standby mode.
+
+  clocks:
+    description: >
+      Clock used for driving REFCLK signal. If not provided the driver assumes
+      that clock signal is always available, its rate is specified by REF_SEL
+      pins and a value from the primary reference clock frequencies table is
+      used.
+
+  clock-names:
+    const: refclk
+
+  refclk-frequency:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: >
+      Frequency of the REFCLK signal as defined by REF_SEL pins. If not
+      provided, driver will not set rate of the REFCLK signal and assume that a
+      value from the primary reference clock frequencies table is used.
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+      i2c {
+          #address-cells = <1>;
+          #size-cells = <0>;
+        
+          usb3503@8 {
+              compatible = "smsc,usb3503";
+              reg = <0x08>;
+              connect-gpios = <&gpx3 0 1>;
+              disabled-ports = <2 3>;
+              intn-gpios = <&gpx3 4 1>;
+              reset-gpios = <&gpx3 5 1>;
+              initial-mode = <1>;
+              clocks = <&clks 80>;
+              clock-names = "refclk";
+          };
+      };
+
+  - |
+      #include <dt-bindings/gpio/gpio.h>
+
+      usb-hub {
+          /* I2C is not connected */
+          compatible = "smsc,usb3503";
+          initial-mode = <1>; /* initialize in HUB mode */
+          disabled-ports = <1>;
+          intn-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
+          reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
+          connect-gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
+          refclk-frequency = <19200000>;
+      };
+
+...
diff --git a/Documentation/devicetree/bindings/usb/usb3503.txt b/Documentation/devicetree/bindings/usb/usb3503.txt
deleted file mode 100644
index 057dd384d473..000000000000
--- a/Documentation/devicetree/bindings/usb/usb3503.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-SMSC USB3503 High-Speed Hub Controller
-
-Required properties:
-- compatible: Should be "smsc,usb3503" or "smsc,usb3503a".
-
-Optional properties:
-- reg: Specifies the i2c slave address, it is required and should be 0x08
-       if I2C is used.
-- connect-gpios: Should specify GPIO for connect.
-- disabled-ports: Should specify the ports unused.
-	'1' or '2' or '3' are available for this property to describe the port
-	number. 1~3 property values are possible to be described.
-	Do not describe this property if all ports have to be enabled.
-- intn-gpios: Should specify GPIO for interrupt.
-- reset-gpios: Should specify GPIO for reset.
-- initial-mode: Should specify initial mode.
-                (1 for HUB mode, 2 for STANDBY mode)
-- refclk: Clock used for driving REFCLK signal (optional, if not provided
-	the driver assumes that clock signal is always available, its
-	rate is specified by REF_SEL pins and a value from the primary
-	reference clock frequencies table is used). Use clocks and
-	clock-names in order to assign it
-- refclk-frequency: Frequency of the REFCLK signal as defined by REF_SEL
-	pins (optional, if not provided, driver will not set rate of the
-	REFCLK signal and assume that a value from the primary reference
-	clock frequencies table is used)
-
-Examples:
-	usb3503@8 {
-		compatible = "smsc,usb3503";
-		reg = <0x08>;
-		connect-gpios = <&gpx3 0 1>;
-		disabled-ports = <2 3>;
-		intn-gpios = <&gpx3 4 1>;
-		reset-gpios = <&gpx3 5 1>;
-		initial-mode = <1>;
-		clocks = <&clks 80>;
-		clock-names = "refclk";
-	};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 35/54] dt-bindings: usb: dwc3: Fix usb-phy check
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Felipe Balbi, Greg Kroah-Hartman,
	linux-usb

The original binding was allowing any combination of usb2-phy and
usb3-phy in the phys and phy-names properties.

However, the current binding enforces that those properties must be a
list of usb2-phy and usb3-phy, with exactly one element, effectively
making usb2-phy the only value being valid.

Let's rework the properties description to allow either one or two
element picked with values either usb2-phy or usb3-phy. The rest of the
tooling makes sure that we don't get any duplicate value, so this should
be what we want.

Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 41416fbd92aa..6c3f7c9a76c0 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -73,15 +73,15 @@ properties:
 
   phys:
     minItems: 1
-    items:
-      - description: USB2/HS PHY
-      - description: USB3/SS PHY
+    maxItems: 2
 
   phy-names:
     minItems: 1
+    maxItems: 2
     items:
-      - const: usb2-phy
-      - const: usb3-phy
+      enum:
+        - usb2-phy
+        - usb3-phy
 
   resets:
     minItems: 1
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 35/54] dt-bindings: usb: dwc3: Fix usb-phy check
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Felipe Balbi, Greg Kroah-Hartman,
	linux-usb

The original binding was allowing any combination of usb2-phy and
usb3-phy in the phys and phy-names properties.

However, the current binding enforces that those properties must be a
list of usb2-phy and usb3-phy, with exactly one element, effectively
making usb2-phy the only value being valid.

Let's rework the properties description to allow either one or two
element picked with values either usb2-phy or usb3-phy. The rest of the
tooling makes sure that we don't get any duplicate value, so this should
be what we want.

Cc: Felipe Balbi <balbi@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
index 41416fbd92aa..6c3f7c9a76c0 100644
--- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml
@@ -73,15 +73,15 @@ properties:
 
   phys:
     minItems: 1
-    items:
-      - description: USB2/HS PHY
-      - description: USB3/SS PHY
+    maxItems: 2
 
   phy-names:
     minItems: 1
+    maxItems: 2
     items:
-      - const: usb2-phy
-      - const: usb3-phy
+      enum:
+        - usb2-phy
+        - usb3-phy
 
   resets:
     minItems: 1
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 36/54] dt-bindings: usb: ehci: Add Allwinner A83t compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Greg Kroah-Hartman, linux-usb

The A83t EHCI compatible was introduced in device trees, but it was
never documented.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/usb/generic-ehci.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index 8089dc956ba3..19217a8fbe22 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -34,6 +34,7 @@ properties:
               - allwinner,sun6i-a31-ehci
               - allwinner,sun7i-a20-ehci
               - allwinner,sun8i-a23-ehci
+              - allwinner,sun8i-a83t-ehci
               - allwinner,sun8i-h3-ehci
               - allwinner,sun8i-r40-ehci
               - allwinner,sun9i-a80-ehci
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 36/54] dt-bindings: usb: ehci: Add Allwinner A83t compatible
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Greg Kroah-Hartman, linux-usb

The A83t EHCI compatible was introduced in device trees, but it was
never documented.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/usb/generic-ehci.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index 8089dc956ba3..19217a8fbe22 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -34,6 +34,7 @@ properties:
               - allwinner,sun6i-a31-ehci
               - allwinner,sun7i-a20-ehci
               - allwinner,sun8i-a23-ehci
+              - allwinner,sun8i-a83t-ehci
               - allwinner,sun8i-h3-ehci
               - allwinner,sun8i-r40-ehci
               - allwinner,sun9i-a80-ehci
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 37/54] dt-bindings: usb: ohci: Add Allwinner A83t compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Greg Kroah-Hartman, linux-usb

The A83t OHCI compatible was introduced in device trees, but it was
never documented.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/usb/generic-ohci.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
index 0f5f6ea702d0..700e95262a8e 100644
--- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
@@ -24,6 +24,7 @@ properties:
               - allwinner,sun6i-a31-ohci
               - allwinner,sun7i-a20-ohci
               - allwinner,sun8i-a23-ohci
+              - allwinner,sun8i-a83t-ohci
               - allwinner,sun8i-h3-ohci
               - allwinner,sun8i-r40-ohci
               - allwinner,sun9i-a80-ohci
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 37/54] dt-bindings: usb: ohci: Add Allwinner A83t compatible
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Greg Kroah-Hartman, linux-usb

The A83t OHCI compatible was introduced in device trees, but it was
never documented.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 Documentation/devicetree/bindings/usb/generic-ohci.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
index 0f5f6ea702d0..700e95262a8e 100644
--- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
@@ -24,6 +24,7 @@ properties:
               - allwinner,sun6i-a31-ohci
               - allwinner,sun7i-a20-ohci
               - allwinner,sun8i-a23-ohci
+              - allwinner,sun8i-a83t-ohci
               - allwinner,sun8i-h3-ohci
               - allwinner,sun8i-r40-ohci
               - allwinner,sun9i-a80-ohci
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 38/54] dt-bindings: w1: Convert 1-Wire GPIO binding to a schema
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Daniel Mack, Evgeniy Polyakov

Bitbanged 1-Wire buses are supported by Linux thanks to their device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Daniel Mack <zonque@gmail.com>
Cc: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/w1/w1-gpio.txt        | 27 ------------
 .../devicetree/bindings/w1/w1-gpio.yaml       | 43 +++++++++++++++++++
 2 files changed, 43 insertions(+), 27 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.yaml

diff --git a/Documentation/devicetree/bindings/w1/w1-gpio.txt b/Documentation/devicetree/bindings/w1/w1-gpio.txt
deleted file mode 100644
index 3d6554eac240..000000000000
--- a/Documentation/devicetree/bindings/w1/w1-gpio.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-w1-gpio devicetree bindings
-
-Required properties:
-
- - compatible: "w1-gpio"
- - gpios: one or two GPIO specs:
-		- the first one is used as data I/O pin
-		- the second one is optional. If specified, it is used as
-		  enable pin for an external pin pullup.
-
-Optional properties:
-
- - linux,open-drain: if specified, the data pin is considered in
-		     open-drain mode.
-
-Also refer to the generic w1.txt document.
-
-Examples:
-
-	onewire {
-		compatible = "w1-gpio";
-		gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
-
-		battery {
-			// ...
-		};
-	};
diff --git a/Documentation/devicetree/bindings/w1/w1-gpio.yaml b/Documentation/devicetree/bindings/w1/w1-gpio.yaml
new file mode 100644
index 000000000000..4a780a988718
--- /dev/null
+++ b/Documentation/devicetree/bindings/w1/w1-gpio.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/w1/w1-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bitbanged GPIO 1-Wire Bus Device Tree Bindings
+
+maintainers:
+  - Daniel Mack <zonque@gmail.com>
+
+properties:
+  compatible:
+    const: w1-gpio
+
+  gpios:
+    minItems: 1
+    maxItems: 2
+    items:
+      - description: Data I/O pin
+      - description: Enable pin for an external pull-up resistor
+
+  linux,open-drain:
+    type: boolean
+    description: >
+      If specified, the data pin is considered in open-drain mode.
+
+required:
+  - compatible
+  - gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    onewire {
+        compatible = "w1-gpio";
+        gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+    };
+
+...
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 38/54] dt-bindings: w1: Convert 1-Wire GPIO binding to a schema
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Daniel Mack, Evgeniy Polyakov

Bitbanged 1-Wire buses are supported by Linux thanks to their device
tree binding.

Now that we have the DT validation in place, let's convert the device
tree bindings for that driver over to a YAML schema.

Cc: Daniel Mack <zonque@gmail.com>
Cc: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../devicetree/bindings/w1/w1-gpio.txt        | 27 ------------
 .../devicetree/bindings/w1/w1-gpio.yaml       | 43 +++++++++++++++++++
 2 files changed, 43 insertions(+), 27 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/w1/w1-gpio.yaml

diff --git a/Documentation/devicetree/bindings/w1/w1-gpio.txt b/Documentation/devicetree/bindings/w1/w1-gpio.txt
deleted file mode 100644
index 3d6554eac240..000000000000
--- a/Documentation/devicetree/bindings/w1/w1-gpio.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-w1-gpio devicetree bindings
-
-Required properties:
-
- - compatible: "w1-gpio"
- - gpios: one or two GPIO specs:
-		- the first one is used as data I/O pin
-		- the second one is optional. If specified, it is used as
-		  enable pin for an external pin pullup.
-
-Optional properties:
-
- - linux,open-drain: if specified, the data pin is considered in
-		     open-drain mode.
-
-Also refer to the generic w1.txt document.
-
-Examples:
-
-	onewire {
-		compatible = "w1-gpio";
-		gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
-
-		battery {
-			// ...
-		};
-	};
diff --git a/Documentation/devicetree/bindings/w1/w1-gpio.yaml b/Documentation/devicetree/bindings/w1/w1-gpio.yaml
new file mode 100644
index 000000000000..4a780a988718
--- /dev/null
+++ b/Documentation/devicetree/bindings/w1/w1-gpio.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/w1/w1-gpio.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bitbanged GPIO 1-Wire Bus Device Tree Bindings
+
+maintainers:
+  - Daniel Mack <zonque@gmail.com>
+
+properties:
+  compatible:
+    const: w1-gpio
+
+  gpios:
+    minItems: 1
+    maxItems: 2
+    items:
+      - description: Data I/O pin
+      - description: Enable pin for an external pull-up resistor
+
+  linux,open-drain:
+    type: boolean
+    description: >
+      If specified, the data pin is considered in open-drain mode.
+
+required:
+  - compatible
+  - gpios
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    onewire {
+        compatible = "w1-gpio";
+        gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
+    };
+
+...
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 39/54] ARM: dts: sunxi: Rename power-supply names
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The name of our PMIC power supply names conflict with the generic
regulator supply check that matches anything called *-supply, including
the nodes, and then makes sure it's a phandle.

A node is obviously not a phandle, so let's change our power supplies
names to avoid any conflict.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/axp209.dtsi             | 6 +++---
 arch/arm/boot/dts/axp22x.dtsi             | 6 +++---
 arch/arm/boot/dts/axp81x.dtsi             | 6 +++---
 arch/arm64/boot/dts/allwinner/axp803.dtsi | 6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/axp209.dtsi b/arch/arm/boot/dts/axp209.dtsi
index 0d9ff12bdf28..ca240cd6f6c3 100644
--- a/arch/arm/boot/dts/axp209.dtsi
+++ b/arch/arm/boot/dts/axp209.dtsi
@@ -53,7 +53,7 @@ &axp209 {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp202-ac-power-supply";
 		status = "disabled";
 	};
@@ -69,7 +69,7 @@ axp_gpio: gpio {
 		#gpio-cells = <2>;
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp209-battery-power-supply";
 		status = "disabled";
 	};
@@ -112,7 +112,7 @@ reg_ldo5: ldo5 {
 		};
 	};
 
-	usb_power_supply: usb-power-supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp202-usb-power-supply";
 		status = "disabled";
 	};
diff --git a/arch/arm/boot/dts/axp22x.dtsi b/arch/arm/boot/dts/axp22x.dtsi
index 65a07a67aca9..a020c12b2884 100644
--- a/arch/arm/boot/dts/axp22x.dtsi
+++ b/arch/arm/boot/dts/axp22x.dtsi
@@ -52,7 +52,7 @@ &axp22x {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp221-ac-power-supply";
 		status = "disabled";
 	};
@@ -62,7 +62,7 @@ axp_adc: adc {
 		#io-channel-cells = <1>;
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp221-battery-power-supply";
 		status = "disabled";
 	};
@@ -163,7 +163,7 @@ reg_drivevbus: drivevbus {
 		};
 	};
 
-	usb_power_supply: usb_power_supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp221-usb-power-supply";
 		status = "disabled";
 	};
diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
index 1dfeeceabf4c..63fb9811b453 100644
--- a/arch/arm/boot/dts/axp81x.dtsi
+++ b/arch/arm/boot/dts/axp81x.dtsi
@@ -48,7 +48,7 @@ &axp81x {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp813-ac-power-supply";
 		status = "disabled";
 	};
@@ -74,7 +74,7 @@ gpio1_ldo: gpio1-ldo {
 		};
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp813-battery-power-supply";
 		status = "disabled";
 	};
@@ -172,7 +172,7 @@ reg_drivevbus: drivevbus {
 		};
 	};
 
-	usb_power_supply: usb-power-supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp813-usb-power-supply";
 	};
 };
diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi b/arch/arm64/boot/dts/allwinner/axp803.dtsi
index 10e9186a76bf..61402057e107 100644
--- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
+++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
@@ -10,7 +10,7 @@ &axp803 {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp803-ac-power-supply",
 			     "x-powers,axp813-ac-power-supply";
 		status = "disabled";
@@ -37,7 +37,7 @@ gpio1_ldo: gpio1-ldo {
 		};
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp803-battery-power-supply",
 			     "x-powers,axp813-battery-power-supply";
 		status = "disabled";
@@ -147,7 +147,7 @@ reg_drivevbus: drivevbus {
 		};
 	};
 
-	usb_power_supply: usb-power-supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp803-usb-power-supply",
 			     "x-powers,axp813-usb-power-supply";
 		status = "disabled";
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 39/54] ARM: dts: sunxi: Rename power-supply names
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The name of our PMIC power supply names conflict with the generic
regulator supply check that matches anything called *-supply, including
the nodes, and then makes sure it's a phandle.

A node is obviously not a phandle, so let's change our power supplies
names to avoid any conflict.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/axp209.dtsi             | 6 +++---
 arch/arm/boot/dts/axp22x.dtsi             | 6 +++---
 arch/arm/boot/dts/axp81x.dtsi             | 6 +++---
 arch/arm64/boot/dts/allwinner/axp803.dtsi | 6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/axp209.dtsi b/arch/arm/boot/dts/axp209.dtsi
index 0d9ff12bdf28..ca240cd6f6c3 100644
--- a/arch/arm/boot/dts/axp209.dtsi
+++ b/arch/arm/boot/dts/axp209.dtsi
@@ -53,7 +53,7 @@ &axp209 {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp202-ac-power-supply";
 		status = "disabled";
 	};
@@ -69,7 +69,7 @@ axp_gpio: gpio {
 		#gpio-cells = <2>;
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp209-battery-power-supply";
 		status = "disabled";
 	};
@@ -112,7 +112,7 @@ reg_ldo5: ldo5 {
 		};
 	};
 
-	usb_power_supply: usb-power-supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp202-usb-power-supply";
 		status = "disabled";
 	};
diff --git a/arch/arm/boot/dts/axp22x.dtsi b/arch/arm/boot/dts/axp22x.dtsi
index 65a07a67aca9..a020c12b2884 100644
--- a/arch/arm/boot/dts/axp22x.dtsi
+++ b/arch/arm/boot/dts/axp22x.dtsi
@@ -52,7 +52,7 @@ &axp22x {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp221-ac-power-supply";
 		status = "disabled";
 	};
@@ -62,7 +62,7 @@ axp_adc: adc {
 		#io-channel-cells = <1>;
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp221-battery-power-supply";
 		status = "disabled";
 	};
@@ -163,7 +163,7 @@ reg_drivevbus: drivevbus {
 		};
 	};
 
-	usb_power_supply: usb_power_supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp221-usb-power-supply";
 		status = "disabled";
 	};
diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
index 1dfeeceabf4c..63fb9811b453 100644
--- a/arch/arm/boot/dts/axp81x.dtsi
+++ b/arch/arm/boot/dts/axp81x.dtsi
@@ -48,7 +48,7 @@ &axp81x {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp813-ac-power-supply";
 		status = "disabled";
 	};
@@ -74,7 +74,7 @@ gpio1_ldo: gpio1-ldo {
 		};
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp813-battery-power-supply";
 		status = "disabled";
 	};
@@ -172,7 +172,7 @@ reg_drivevbus: drivevbus {
 		};
 	};
 
-	usb_power_supply: usb-power-supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp813-usb-power-supply";
 	};
 };
diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi b/arch/arm64/boot/dts/allwinner/axp803.dtsi
index 10e9186a76bf..61402057e107 100644
--- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
+++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
@@ -10,7 +10,7 @@ &axp803 {
 	interrupt-controller;
 	#interrupt-cells = <1>;
 
-	ac_power_supply: ac-power-supply {
+	ac_power_supply: ac-power {
 		compatible = "x-powers,axp803-ac-power-supply",
 			     "x-powers,axp813-ac-power-supply";
 		status = "disabled";
@@ -37,7 +37,7 @@ gpio1_ldo: gpio1-ldo {
 		};
 	};
 
-	battery_power_supply: battery-power-supply {
+	battery_power_supply: battery-power {
 		compatible = "x-powers,axp803-battery-power-supply",
 			     "x-powers,axp813-battery-power-supply";
 		status = "disabled";
@@ -147,7 +147,7 @@ reg_drivevbus: drivevbus {
 		};
 	};
 
-	usb_power_supply: usb-power-supply {
+	usb_power_supply: usb-power {
 		compatible = "x-powers,axp803-usb-power-supply",
 			     "x-powers,axp813-usb-power-supply";
 		status = "disabled";
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 40/54] ARM: dts: sunxi: Rename gpio pinctrl names
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

We've had a pinctrl node name convention for a while now, let's follow
it for the AXP pinctrl nodes as well.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/axp81x.dtsi             | 4 ++--
 arch/arm64/boot/dts/allwinner/axp803.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
index 63fb9811b453..b93387b0c1c3 100644
--- a/arch/arm/boot/dts/axp81x.dtsi
+++ b/arch/arm/boot/dts/axp81x.dtsi
@@ -63,12 +63,12 @@ axp_gpio: gpio {
 		gpio-controller;
 		#gpio-cells = <2>;
 
-		gpio0_ldo: gpio0-ldo {
+		gpio0_ldo: gpio0-ldo-pin {
 			pins = "GPIO0";
 			function = "ldo";
 		};
 
-		gpio1_ldo: gpio1-ldo {
+		gpio1_ldo: gpio1-ldo-pin {
 			pins = "GPIO1";
 			function = "ldo";
 		};
diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi b/arch/arm64/boot/dts/allwinner/axp803.dtsi
index 61402057e107..578ef368e2b4 100644
--- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
+++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
@@ -26,12 +26,12 @@ axp_gpio: gpio {
 		gpio-controller;
 		#gpio-cells = <2>;
 
-		gpio0_ldo: gpio0-ldo {
+		gpio0_ldo: gpio0-ldo-pin {
 			pins = "GPIO0";
 			function = "ldo";
 		};
 
-		gpio1_ldo: gpio1-ldo {
+		gpio1_ldo: gpio1-ldo-pin {
 			pins = "GPIO1";
 			function = "ldo";
 		};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 40/54] ARM: dts: sunxi: Rename gpio pinctrl names
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

We've had a pinctrl node name convention for a while now, let's follow
it for the AXP pinctrl nodes as well.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/axp81x.dtsi             | 4 ++--
 arch/arm64/boot/dts/allwinner/axp803.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
index 63fb9811b453..b93387b0c1c3 100644
--- a/arch/arm/boot/dts/axp81x.dtsi
+++ b/arch/arm/boot/dts/axp81x.dtsi
@@ -63,12 +63,12 @@ axp_gpio: gpio {
 		gpio-controller;
 		#gpio-cells = <2>;
 
-		gpio0_ldo: gpio0-ldo {
+		gpio0_ldo: gpio0-ldo-pin {
 			pins = "GPIO0";
 			function = "ldo";
 		};
 
-		gpio1_ldo: gpio1-ldo {
+		gpio1_ldo: gpio1-ldo-pin {
 			pins = "GPIO1";
 			function = "ldo";
 		};
diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi b/arch/arm64/boot/dts/allwinner/axp803.dtsi
index 61402057e107..578ef368e2b4 100644
--- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
+++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
@@ -26,12 +26,12 @@ axp_gpio: gpio {
 		gpio-controller;
 		#gpio-cells = <2>;
 
-		gpio0_ldo: gpio0-ldo {
+		gpio0_ldo: gpio0-ldo-pin {
 			pins = "GPIO0";
 			function = "ldo";
 		};
 
-		gpio1_ldo: gpio1-ldo {
+		gpio1_ldo: gpio1-ldo-pin {
 			pins = "GPIO1";
 			function = "ldo";
 		};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 41/54] ARM: dts: sunxi: Fix OPP arrays
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though it translates to the same thing down to the binary level, we
should have an array of 2 number cells to describe each OPP, which in
turns create a validation warning.

Let's fix this.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 11 +++--
 arch/arm/boot/dts/sun4i-a10.dtsi              | 11 +++--
 arch/arm/boot/dts/sun5i-a13.dtsi              | 15 +++----
 arch/arm/boot/dts/sun6i-a31.dtsi              | 44 +++++++++----------
 arch/arm/boot/dts/sun7i-a20-bananapi.dts      | 17 ++++---
 arch/arm/boot/dts/sun7i-a20.dtsi              | 34 +++++++-------
 6 files changed, 61 insertions(+), 71 deletions(-)

diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
index ad0e25af45be..83d283cf6633 100644
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -91,12 +91,11 @@ &cpu0 {
 	/*
 	 * The A10-Lime is known to be unstable when running at 1008 MHz
 	 */
-	operating-points = <
-		/* kHz    uV */
-		912000  1350000
-		864000  1300000
-		624000  1250000
-		>;
+	operating-points =
+		/* kHz	  uV */
+		<912000	1350000>,
+		<864000	1300000>,
+		<624000	1250000>;
 };
 
 &de {
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 1c5a666c54b5..51a6464aab9a 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -115,13 +115,12 @@ cpu0: cpu@0 {
 			reg = <0x0>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000 1400000
-				912000	1350000
-				864000	1300000
-				624000	1250000
-				>;
+				<1008000 1400000>,
+				<912000	1350000>,
+				<864000	1300000>,
+				<624000	1250000>;
 			#cooling-cells = <2>;
 		};
 	};
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 7075e10911d5..3325ab07094a 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -102,15 +102,14 @@ &ccu {
 
 &cpu0 {
 	clock-latency = <244144>; /* 8 32k periods */
-	operating-points = <
+	operating-points =
 		/* kHz	  uV */
-		1008000 1400000
-		912000	1350000
-		864000	1300000
-		624000	1200000
-		576000	1200000
-		432000	1200000
-		>;
+		<1008000 1400000>,
+		<912000 1350000>,
+		<864000 1300000>,
+		<624000 1200000>,
+		<576000 1200000>,
+		<432000 1200000>;
 	#cooling-cells = <2>;
 };
 
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index a31f9072bf79..715d74854449 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -105,13 +105,12 @@ cpu0: cpu@0 {
 			reg = <0>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -121,13 +120,12 @@ cpu1: cpu@1 {
 			reg = <1>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -137,13 +135,12 @@ cpu2: cpu@2 {
 			reg = <2>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -153,13 +150,12 @@ cpu3: cpu@3 {
 			reg = <3>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 	};
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
index 9d792d7a0f92..46ecf9db2324 100644
--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
+++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
@@ -104,16 +104,15 @@ &codec {
 
 &cpu0 {
 	cpu-supply = <&reg_dcdc2>;
-	operating-points = <
+	operating-points =
 		/* kHz	  uV */
-		960000	1400000
-		912000	1400000
-		864000	1350000
-		720000	1250000
-		528000	1150000
-		312000	1100000
-		144000	1050000
-		>;
+		<960000	1400000>,
+		<912000	1400000>,
+		<864000	1350000>,
+		<720000	1250000>,
+		<528000	1150000>,
+		<312000	1100000>,
+		<144000	1050000>;
 };
 
 &de {
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 5a40e0280665..5574299685ab 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -106,16 +106,15 @@ cpu0: cpu@0 {
 			reg = <0>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				960000	1400000
-				912000	1400000
-				864000	1300000
-				720000	1200000
-				528000	1100000
-				312000	1000000
-				144000	1000000
-				>;
+				<960000	1400000>,
+				<912000	1400000>,
+				<864000	1300000>,
+				<720000	1200000>,
+				<528000	1100000>,
+				<312000	1000000>,
+				<144000	1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -125,16 +124,15 @@ cpu1: cpu@1 {
 			reg = <1>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				960000	1400000
-				912000	1400000
-				864000	1300000
-				720000	1200000
-				528000	1100000
-				312000	1000000
-				144000	1000000
-				>;
+				<960000	1400000>,
+				<912000	1400000>,
+				<864000	1300000>,
+				<720000	1200000>,
+				<528000	1100000>,
+				<312000	1000000>,
+				<144000	1000000>;
 			#cooling-cells = <2>;
 		};
 	};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 41/54] ARM: dts: sunxi: Fix OPP arrays
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Even though it translates to the same thing down to the binary level, we
should have an array of 2 number cells to describe each OPP, which in
turns create a validation warning.

Let's fix this.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 .../arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 11 +++--
 arch/arm/boot/dts/sun4i-a10.dtsi              | 11 +++--
 arch/arm/boot/dts/sun5i-a13.dtsi              | 15 +++----
 arch/arm/boot/dts/sun6i-a31.dtsi              | 44 +++++++++----------
 arch/arm/boot/dts/sun7i-a20-bananapi.dts      | 17 ++++---
 arch/arm/boot/dts/sun7i-a20.dtsi              | 34 +++++++-------
 6 files changed, 61 insertions(+), 71 deletions(-)

diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
index ad0e25af45be..83d283cf6633 100644
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -91,12 +91,11 @@ &cpu0 {
 	/*
 	 * The A10-Lime is known to be unstable when running at 1008 MHz
 	 */
-	operating-points = <
-		/* kHz    uV */
-		912000  1350000
-		864000  1300000
-		624000  1250000
-		>;
+	operating-points =
+		/* kHz	  uV */
+		<912000	1350000>,
+		<864000	1300000>,
+		<624000	1250000>;
 };
 
 &de {
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 1c5a666c54b5..51a6464aab9a 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -115,13 +115,12 @@ cpu0: cpu@0 {
 			reg = <0x0>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000 1400000
-				912000	1350000
-				864000	1300000
-				624000	1250000
-				>;
+				<1008000 1400000>,
+				<912000	1350000>,
+				<864000	1300000>,
+				<624000	1250000>;
 			#cooling-cells = <2>;
 		};
 	};
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 7075e10911d5..3325ab07094a 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -102,15 +102,14 @@ &ccu {
 
 &cpu0 {
 	clock-latency = <244144>; /* 8 32k periods */
-	operating-points = <
+	operating-points =
 		/* kHz	  uV */
-		1008000 1400000
-		912000	1350000
-		864000	1300000
-		624000	1200000
-		576000	1200000
-		432000	1200000
-		>;
+		<1008000 1400000>,
+		<912000 1350000>,
+		<864000 1300000>,
+		<624000 1200000>,
+		<576000 1200000>,
+		<432000 1200000>;
 	#cooling-cells = <2>;
 };
 
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index a31f9072bf79..715d74854449 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -105,13 +105,12 @@ cpu0: cpu@0 {
 			reg = <0>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -121,13 +120,12 @@ cpu1: cpu@1 {
 			reg = <1>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -137,13 +135,12 @@ cpu2: cpu@2 {
 			reg = <2>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -153,13 +150,12 @@ cpu3: cpu@3 {
 			reg = <3>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				1008000	1200000
-				864000	1200000
-				720000	1100000
-				480000	1000000
-				>;
+				<1008000 1200000>,
+				<864000 1200000>,
+				<720000 1100000>,
+				<480000 1000000>;
 			#cooling-cells = <2>;
 		};
 	};
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
index 9d792d7a0f92..46ecf9db2324 100644
--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
+++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
@@ -104,16 +104,15 @@ &codec {
 
 &cpu0 {
 	cpu-supply = <&reg_dcdc2>;
-	operating-points = <
+	operating-points =
 		/* kHz	  uV */
-		960000	1400000
-		912000	1400000
-		864000	1350000
-		720000	1250000
-		528000	1150000
-		312000	1100000
-		144000	1050000
-		>;
+		<960000	1400000>,
+		<912000	1400000>,
+		<864000	1350000>,
+		<720000	1250000>,
+		<528000	1150000>,
+		<312000	1100000>,
+		<144000	1050000>;
 };
 
 &de {
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 5a40e0280665..5574299685ab 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -106,16 +106,15 @@ cpu0: cpu@0 {
 			reg = <0>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				960000	1400000
-				912000	1400000
-				864000	1300000
-				720000	1200000
-				528000	1100000
-				312000	1000000
-				144000	1000000
-				>;
+				<960000	1400000>,
+				<912000	1400000>,
+				<864000	1300000>,
+				<720000	1200000>,
+				<528000	1100000>,
+				<312000	1000000>,
+				<144000	1000000>;
 			#cooling-cells = <2>;
 		};
 
@@ -125,16 +124,15 @@ cpu1: cpu@1 {
 			reg = <1>;
 			clocks = <&ccu CLK_CPU>;
 			clock-latency = <244144>; /* 8 32k periods */
-			operating-points = <
+			operating-points =
 				/* kHz	  uV */
-				960000	1400000
-				912000	1400000
-				864000	1300000
-				720000	1200000
-				528000	1100000
-				312000	1000000
-				144000	1000000
-				>;
+				<960000	1400000>,
+				<912000	1400000>,
+				<864000	1300000>,
+				<720000	1200000>,
+				<528000	1100000>,
+				<312000	1000000>,
+				<144000	1000000>;
 			#cooling-cells = <2>;
 		};
 	};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 42/54] ARM: dts: sunxi: Fix OPPs node name
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The operating-points-v2 nodes are named inconsistently, but mostly
either opp_table0 or gpu-opp-table.  However, the underscore is an
invalid character for a node name and the thermal zone binding
explicitly requires that zones are called opp-table-*. Let's fix it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-a33.dtsi                      | 4 ++--
 arch/arm/boot/dts/sun8i-a83t.dtsi                     | 4 ++--
 arch/arm/boot/dts/sun8i-h3.dtsi                       | 4 ++--
 arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi  | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi  | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index 2beddbb3c518..b3d1bdfb5118 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -46,7 +46,7 @@
 #include <dt-bindings/thermal/thermal.h>
 
 / {
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
@@ -164,7 +164,7 @@ iio-hwmon {
 		io-channels = <&ths>;
 	};
 
-	mali_opp_table: gpu-opp-table {
+	mali_opp_table: opp-table-gpu {
 		compatible = "operating-points-v2";
 
 		opp-144000000 {
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
index ac97eac91349..82fdb04122ca 100644
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
@@ -200,7 +200,7 @@ de: display-engine {
 		status = "disabled";
 	};
 
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cluster0 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
@@ -253,7 +253,7 @@ opp-1200000000 {
 		};
 	};
 
-	cpu1_opp_table: opp_table1 {
+	cpu1_opp_table: opp-table-cluster1 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
index 4e89701df91f..ae4f933abb89 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -44,7 +44,7 @@
 #include <dt-bindings/thermal/thermal.h>
 
 / {
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
@@ -112,7 +112,7 @@ cpu3: cpu@3 {
 		};
 	};
 
-	gpu_opp_table: gpu-opp-table {
+	gpu_opp_table: opp-table-gpu {
 		compatible = "operating-points-v2";
 
 		opp-120000000 {
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi
index 578c37490d90..e39db51eb448 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi
@@ -4,7 +4,7 @@
  */
 
 / {
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
index b2657201957e..1afad8b437d7 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
@@ -2,7 +2,7 @@
 // Copyright (C) 2020 Chen-Yu Tsai <wens@csie.org>
 
 / {
-	cpu_opp_table: cpu-opp-table {
+	cpu_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi
index 8c6e8536b69f..0baf0f8e4d27 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi
@@ -3,7 +3,7 @@
 // Copyright (C) 2020 Clément Péron <peron.clem@gmail.com>
 
 / {
-	cpu_opp_table: cpu-opp-table {
+	cpu_opp_table: opp-table-cpu {
 		compatible = "allwinner,sun50i-h6-operating-points";
 		nvmem-cells = <&cpu_speed_grade>;
 		opp-shared;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 42/54] ARM: dts: sunxi: Fix OPPs node name
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The operating-points-v2 nodes are named inconsistently, but mostly
either opp_table0 or gpu-opp-table.  However, the underscore is an
invalid character for a node name and the thermal zone binding
explicitly requires that zones are called opp-table-*. Let's fix it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-a33.dtsi                      | 4 ++--
 arch/arm/boot/dts/sun8i-a83t.dtsi                     | 4 ++--
 arch/arm/boot/dts/sun8i-h3.dtsi                       | 4 ++--
 arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi  | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi  | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index 2beddbb3c518..b3d1bdfb5118 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -46,7 +46,7 @@
 #include <dt-bindings/thermal/thermal.h>
 
 / {
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
@@ -164,7 +164,7 @@ iio-hwmon {
 		io-channels = <&ths>;
 	};
 
-	mali_opp_table: gpu-opp-table {
+	mali_opp_table: opp-table-gpu {
 		compatible = "operating-points-v2";
 
 		opp-144000000 {
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
index ac97eac91349..82fdb04122ca 100644
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
@@ -200,7 +200,7 @@ de: display-engine {
 		status = "disabled";
 	};
 
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cluster0 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
@@ -253,7 +253,7 @@ opp-1200000000 {
 		};
 	};
 
-	cpu1_opp_table: opp_table1 {
+	cpu1_opp_table: opp-table-cluster1 {
 		compatible = "operating-points-v2";
 		opp-shared;
 
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
index 4e89701df91f..ae4f933abb89 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -44,7 +44,7 @@
 #include <dt-bindings/thermal/thermal.h>
 
 / {
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
@@ -112,7 +112,7 @@ cpu3: cpu@3 {
 		};
 	};
 
-	gpu_opp_table: gpu-opp-table {
+	gpu_opp_table: opp-table-gpu {
 		compatible = "operating-points-v2";
 
 		opp-120000000 {
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi
index 578c37490d90..e39db51eb448 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi
@@ -4,7 +4,7 @@
  */
 
 / {
-	cpu0_opp_table: opp_table0 {
+	cpu0_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
index b2657201957e..1afad8b437d7 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi
@@ -2,7 +2,7 @@
 // Copyright (C) 2020 Chen-Yu Tsai <wens@csie.org>
 
 / {
-	cpu_opp_table: cpu-opp-table {
+	cpu_opp_table: opp-table-cpu {
 		compatible = "operating-points-v2";
 		opp-shared;
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi
index 8c6e8536b69f..0baf0f8e4d27 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi
@@ -3,7 +3,7 @@
 // Copyright (C) 2020 Clément Péron <peron.clem@gmail.com>
 
 / {
-	cpu_opp_table: cpu-opp-table {
+	cpu_opp_table: opp-table-cpu {
 		compatible = "allwinner,sun50i-h6-operating-points";
 		nvmem-cells = <&cpu_speed_grade>;
 		opp-shared;
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 43/54] ARM: dts: sunxi: Fix the SPI NOR node names
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

According to the SPI NOR bindings, the flash node names are supposed to
be flash@<address>. Let's fix our users to use that new scheme.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-v3-sl631.dtsi                     | 2 +-
 arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi          | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-v3-sl631.dtsi b/arch/arm/boot/dts/sun8i-v3-sl631.dtsi
index e0d2a31efc7f..6f93f8c49f84 100644
--- a/arch/arm/boot/dts/sun8i-v3-sl631.dtsi
+++ b/arch/arm/boot/dts/sun8i-v3-sl631.dtsi
@@ -115,7 +115,7 @@ &reg_ldo2 {
 &spi0 {
 	status = "okay";
 
-	spi-flash@0 {
+	flash@0 {
 		reg = <0>;
 		compatible = "jedec,spi-nor";
 		spi-max-frequency = <50000000>;
diff --git a/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi b/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi
index 204fba3614f9..50d328c2a84d 100644
--- a/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi
+++ b/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi
@@ -156,7 +156,7 @@ &r_pio {
 &spi0 {
 	status = "okay";
 
-	spiflash@0 {
+	flash@0 {
 		compatible = "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <50000000>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
index 097a5511523a..c519d9fa6967 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
@@ -343,7 +343,7 @@ &sound {
 &spi0 {
 	status = "okay";
 
-	spi-flash@0 {
+	flash@0 {
 		compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <80000000>;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 43/54] ARM: dts: sunxi: Fix the SPI NOR node names
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

According to the SPI NOR bindings, the flash node names are supposed to
be flash@<address>. Let's fix our users to use that new scheme.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-v3-sl631.dtsi                     | 2 +-
 arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi          | 2 +-
 arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-v3-sl631.dtsi b/arch/arm/boot/dts/sun8i-v3-sl631.dtsi
index e0d2a31efc7f..6f93f8c49f84 100644
--- a/arch/arm/boot/dts/sun8i-v3-sl631.dtsi
+++ b/arch/arm/boot/dts/sun8i-v3-sl631.dtsi
@@ -115,7 +115,7 @@ &reg_ldo2 {
 &spi0 {
 	status = "okay";
 
-	spi-flash@0 {
+	flash@0 {
 		reg = <0>;
 		compatible = "jedec,spi-nor";
 		spi-max-frequency = <50000000>;
diff --git a/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi b/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi
index 204fba3614f9..50d328c2a84d 100644
--- a/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi
+++ b/arch/arm/boot/dts/sunxi-libretech-all-h3-it.dtsi
@@ -156,7 +156,7 @@ &r_pio {
 &spi0 {
 	status = "okay";
 
-	spiflash@0 {
+	flash@0 {
 		compatible = "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <50000000>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
index 097a5511523a..c519d9fa6967 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
@@ -343,7 +343,7 @@ &sound {
 &spi0 {
 	status = "okay";
 
-	spi-flash@0 {
+	flash@0 {
 		compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <80000000>;
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 44/54] ARM: dts: v3s: Remove useless DMA properties
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The crypto engine binding doesn't allow for any DMA property, yet the
v3s define some. Remove them.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-v3s.dtsi | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
index b30bc1a25ebb..44382e36e825 100644
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
@@ -285,8 +285,6 @@ crypto@1c15000 {
 			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
 			clock-names = "ahb", "mod";
-			dmas = <&dma 16>, <&dma 16>;
-			dma-names = "rx", "tx";
 			resets = <&ccu RST_BUS_CE>;
 			reset-names = "ahb";
 		};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 44/54] ARM: dts: v3s: Remove useless DMA properties
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The crypto engine binding doesn't allow for any DMA property, yet the
v3s define some. Remove them.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-v3s.dtsi | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
index b30bc1a25ebb..44382e36e825 100644
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
@@ -285,8 +285,6 @@ crypto@1c15000 {
 			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>;
 			clock-names = "ahb", "mod";
-			dmas = <&dma 16>, <&dma 16>;
-			dma-names = "rx", "tx";
 			resets = <&ccu RST_BUS_CE>;
 			reset-names = "ahb";
 		};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 45/54] ARM: dts: tbs711: Fix touchscreen compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The edt,edt-ft5x06 compatible has never been a valid compatible
according to the binding. Let's change for one that is.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
index 7fe2a584ddf9..a7d4ca308990 100644
--- a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
@@ -169,7 +169,7 @@ &i2c0 {
 	status = "okay";
 
 	touchscreen@38 {
-		compatible = "edt,edt-ft5x06";
+		compatible = "edt,edt-ft5206";
 		reg = <0x38>;
 		interrupt-parent = <&r_pio>;
 		interrupts = <0 7 IRQ_TYPE_EDGE_FALLING>; /* PL7 */
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 45/54] ARM: dts: tbs711: Fix touchscreen compatible
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The edt,edt-ft5x06 compatible has never been a valid compatible
according to the binding. Let's change for one that is.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
index 7fe2a584ddf9..a7d4ca308990 100644
--- a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
@@ -169,7 +169,7 @@ &i2c0 {
 	status = "okay";
 
 	touchscreen@38 {
-		compatible = "edt,edt-ft5x06";
+		compatible = "edt,edt-ft5206";
 		reg = <0x38>;
 		interrupt-parent = <&r_pio>;
 		interrupts = <0 7 IRQ_TYPE_EDGE_FALLING>; /* PL7 */
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 46/54] ARM: dts: cubieboard4: Remove the dumb-vga-dac compatible
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The dumb-vga-dac and adi,adv7123 compatibles are not supposed to be used
together according to the binding.

Since the corpro gm7123 is a drop-in replacement for the adv7123, let's
remove dumb-vga-dac from our compatible list.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 1fe251ea94bc..c8ca8cb7f5c9 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -87,7 +87,7 @@ vga_con_in: endpoint {
 	};
 
 	vga-dac {
-		compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
+		compatible = "corpro,gm7123", "adi,adv7123";
 		vdd-supply = <&reg_dcdc1>;
 
 		ports {
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 46/54] ARM: dts: cubieboard4: Remove the dumb-vga-dac compatible
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The dumb-vga-dac and adi,adv7123 compatibles are not supposed to be used
together according to the binding.

Since the corpro gm7123 is a drop-in replacement for the adv7123, let's
remove dumb-vga-dac from our compatible list.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 1fe251ea94bc..c8ca8cb7f5c9 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -87,7 +87,7 @@ vga_con_in: endpoint {
 	};
 
 	vga-dac {
-		compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
+		compatible = "corpro,gm7123", "adi,adv7123";
 		vdd-supply = <&reg_dcdc1>;
 
 		ports {
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 47/54] arm64: dts: allwinner: h5: Fix GPU thermal zone node name
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The GPU thermal zone is named gpu_thermal. However, the underscore is
an invalid character for a node name and the thermal zone binding
explicitly requires that zones are called *-thermal. Let's fix it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
index 578a63dedf46..9988e87ea7b3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
@@ -217,7 +217,7 @@ cpu-hot-limit {
 			};
 		};
 
-		gpu_thermal {
+		gpu-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 1>;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 47/54] arm64: dts: allwinner: h5: Fix GPU thermal zone node name
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The GPU thermal zone is named gpu_thermal. However, the underscore is
an invalid character for a node name and the thermal zone binding
explicitly requires that zones are called *-thermal. Let's fix it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
index 578a63dedf46..9988e87ea7b3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
@@ -217,7 +217,7 @@ cpu-hot-limit {
 			};
 		};
 
-		gpu_thermal {
+		gpu-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 1>;
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 48/54] arm64: dts: allwinner: h6: Fix de3 parent clocks ordering
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

While it doesn't really matter from a functional point of view in this
driver's case, it's usually a good practice to list the clocks in a
driver in the same driver across all its users.

The H6 is using the inverse order than all the other users, so let's
make it consistent.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 30d396e8c762..46ed529a4dc2 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -119,10 +119,10 @@ bus@1000000 {
 			display_clocks: clock@0 {
 				compatible = "allwinner,sun50i-h6-de3-clk";
 				reg = <0x0 0x10000>;
-				clocks = <&ccu CLK_DE>,
-					 <&ccu CLK_BUS_DE>;
-				clock-names = "mod",
-					      "bus";
+				clocks = <&ccu CLK_BUS_DE>,
+					 <&ccu CLK_DE>;
+				clock-names = "bus",
+					      "mod";
 				resets = <&ccu RST_BUS_DE>;
 				#clock-cells = <1>;
 				#reset-cells = <1>;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 48/54] arm64: dts: allwinner: h6: Fix de3 parent clocks ordering
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

While it doesn't really matter from a functional point of view in this
driver's case, it's usually a good practice to list the clocks in a
driver in the same driver across all its users.

The H6 is using the inverse order than all the other users, so let's
make it consistent.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 30d396e8c762..46ed529a4dc2 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -119,10 +119,10 @@ bus@1000000 {
 			display_clocks: clock@0 {
 				compatible = "allwinner,sun50i-h6-de3-clk";
 				reg = <0x0 0x10000>;
-				clocks = <&ccu CLK_DE>,
-					 <&ccu CLK_BUS_DE>;
-				clock-names = "mod",
-					      "bus";
+				clocks = <&ccu CLK_BUS_DE>,
+					 <&ccu CLK_DE>;
+				clock-names = "bus",
+					      "mod";
 				resets = <&ccu RST_BUS_DE>;
 				#clock-cells = <1>;
 				#reset-cells = <1>;
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 49/54] arm64: dts: allwinner: a100: Fix thermal zone node name
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The thermal zones one the A100 are called $device-thermal-zone.

However, the thermal zone binding explicitly requires that zones are
called *-thermal. Let's fix it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
index cc321c04f121..f6d7d7f7fdab 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
@@ -343,19 +343,19 @@ r_i2c1: i2c@7081800 {
 	};
 
 	thermal-zones {
-		cpu-thermal-zone {
+		cpu-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 0>;
 		};
 
-		ddr-thermal-zone {
+		ddr-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 2>;
 		};
 
-		gpu-thermal-zone {
+		gpu-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 1>;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 49/54] arm64: dts: allwinner: a100: Fix thermal zone node name
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The thermal zones one the A100 are called $device-thermal-zone.

However, the thermal zone binding explicitly requires that zones are
called *-thermal. Let's fix it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
index cc321c04f121..f6d7d7f7fdab 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
@@ -343,19 +343,19 @@ r_i2c1: i2c@7081800 {
 	};
 
 	thermal-zones {
-		cpu-thermal-zone {
+		cpu-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 0>;
 		};
 
-		ddr-thermal-zone {
+		ddr-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 2>;
 		};
 
-		gpu-thermal-zone {
+		gpu-thermal {
 			polling-delay-passive = <0>;
 			polling-delay = <0>;
 			thermal-sensors = <&ths 1>;
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 50/54] arm64: dts: allwinner: pinetab: Change regulator node name to avoid warning
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The fixed regulator clock name has a unit address, but no reg property,
which generates a warning in DTC. Change its name to remove its useless
unit address.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
index 7ef96f9ff7ae..6a4af14718f5 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
@@ -77,7 +77,7 @@ speaker_amp: audio-amplifier {
 		sound-name-prefix = "Speaker Amp";
 	};
 
-	vdd_bl: regulator@0 {
+	vdd_bl: regulator {
 		compatible = "regulator-fixed";
 		regulator-name = "bl-3v3";
 		regulator-min-microvolt = <3300000>;
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 50/54] arm64: dts: allwinner: pinetab: Change regulator node name to avoid warning
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The fixed regulator clock name has a unit address, but no reg property,
which generates a warning in DTC. Change its name to remove its useless
unit address.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
index 7ef96f9ff7ae..6a4af14718f5 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
@@ -77,7 +77,7 @@ speaker_amp: audio-amplifier {
 		sound-name-prefix = "Speaker Amp";
 	};
 
-	vdd_bl: regulator@0 {
+	vdd_bl: regulator {
 		compatible = "regulator-fixed";
 		regulator-name = "bl-3v3";
 		regulator-min-microvolt = <3300000>;
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 51/54] arm64: dts: allwinner: teres-i: Add missing reg
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The anx6345 bridge mandates that the input port is named port@0. Since
we have a unit-address, this implies that we need a reg property with
the same value, but it was found to be missing in the Teres-I device
tree. Make sure it's there.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
index 45e1abdf70a0..52e032f7fb68 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
@@ -139,6 +139,8 @@ ports {
 			#size-cells = <0>;
 
 			port@0 {
+				reg = <0>;
+
 				anx6345_in: endpoint {
 					remote-endpoint = <&tcon0_out_anx6345>;
 				};
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 51/54] arm64: dts: allwinner: teres-i: Add missing reg
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The anx6345 bridge mandates that the input port is named port@0. Since
we have a unit-address, this implies that we need a reg property with
the same value, but it was found to be missing in the Teres-I device
tree. Make sure it's there.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
index 45e1abdf70a0..52e032f7fb68 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
@@ -139,6 +139,8 @@ ports {
 			#size-cells = <0>;
 
 			port@0 {
+				reg = <0>;
+
 				anx6345_in: endpoint {
 					remote-endpoint = <&tcon0_out_anx6345>;
 				};
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 52/54] arm64: dts: allwinner: Remove regulator-ramp-delay
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The regulator-ramp-delay property isn't documented in the binding for
the AXP806, and it's ignored by the driver. Remove those properties.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 --
 arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts  | 2 --
 arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts    | 2 --
 3 files changed, 6 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
index 6249e9e02928..a02644eebbe4 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
@@ -256,7 +256,6 @@ reg_dcdca: dcdca {
 				regulator-always-on;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1160000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-cpu";
 			};
 
@@ -264,7 +263,6 @@ reg_dcdcc: dcdcc {
 				regulator-enable-ramp-delay = <32000>;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1080000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-gpu";
 			};
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
index c45d7b7fb39a..69c0293aeb16 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -262,7 +262,6 @@ reg_dcdca: dcdca {
 				regulator-always-on;
 				regulator-min-microvolt = <800000>;
 				regulator-max-microvolt = <1160000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-cpu";
 			};
 
@@ -270,7 +269,6 @@ reg_dcdcc: dcdcc {
 				regulator-enable-ramp-delay = <32000>;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1080000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-gpu";
 			};
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
index 1ffd68f43f87..6a1ee4232675 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -245,7 +245,6 @@ reg_dcdca: dcdca {
 				regulator-always-on;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1160000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-cpu";
 			};
 
@@ -253,7 +252,6 @@ reg_dcdcc: dcdcc {
 				regulator-enable-ramp-delay = <32000>;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1080000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-gpu";
 			};
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 52/54] arm64: dts: allwinner: Remove regulator-ramp-delay
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

The regulator-ramp-delay property isn't documented in the binding for
the AXP806, and it's ignored by the driver. Remove those properties.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 --
 arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts  | 2 --
 arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts    | 2 --
 3 files changed, 6 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
index 6249e9e02928..a02644eebbe4 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
@@ -256,7 +256,6 @@ reg_dcdca: dcdca {
 				regulator-always-on;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1160000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-cpu";
 			};
 
@@ -264,7 +263,6 @@ reg_dcdcc: dcdcc {
 				regulator-enable-ramp-delay = <32000>;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1080000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-gpu";
 			};
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
index c45d7b7fb39a..69c0293aeb16 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
@@ -262,7 +262,6 @@ reg_dcdca: dcdca {
 				regulator-always-on;
 				regulator-min-microvolt = <800000>;
 				regulator-max-microvolt = <1160000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-cpu";
 			};
 
@@ -270,7 +269,6 @@ reg_dcdcc: dcdcc {
 				regulator-enable-ramp-delay = <32000>;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1080000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-gpu";
 			};
 
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
index 1ffd68f43f87..6a1ee4232675 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -245,7 +245,6 @@ reg_dcdca: dcdca {
 				regulator-always-on;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1160000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-cpu";
 			};
 
@@ -253,7 +252,6 @@ reg_dcdcc: dcdcc {
 				regulator-enable-ramp-delay = <32000>;
 				regulator-min-microvolt = <810000>;
 				regulator-max-microvolt = <1080000>;
-				regulator-ramp-delay = <2500>;
 				regulator-name = "vdd-gpu";
 			};
 
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 53/54] arm64: dts: allwinner: teres-i: Remove wakekup-source from the PMIC
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Neither the binding nor the driver make any use of the wakeup-source
property for the AXP803. Remove it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
index 52e032f7fb68..aef571acd67f 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
@@ -208,7 +208,6 @@ axp803: pmic@3a3 {
 		reg = <0x3a3>;
 		interrupt-parent = <&r_intc>;
 		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
-		wakeup-source;
 	};
 };
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 53/54] arm64: dts: allwinner: teres-i: Remove wakekup-source from the PMIC
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

Neither the binding nor the driver make any use of the wakeup-source
property for the AXP803. Remove it.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
index 52e032f7fb68..aef571acd67f 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
@@ -208,7 +208,6 @@ axp803: pmic@3a3 {
 		reg = <0x3a3>;
 		interrupt-parent = <&r_intc>;
 		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
-		wakeup-source;
 	};
 };
 
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 54/54] arm64: dts: allwinner: pinephone: Fix BT SCO codec cells size
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 14:04   ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Samuel Holland

Even though the codec binding made no mention of it before, all the
other users are using a cells size of 0. Let's make it consistent.

Cc: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
index 5b44a979f250..1a9f9fcb6f6e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
@@ -26,7 +26,7 @@ backlight: backlight {
 	};
 
 	bt_sco_codec: bt-sco-codec {
-		#sound-dai-cells = <1>;
+		#sound-dai-cells = <0>;
 		compatible = "linux,bt-sco";
 	};
 
-- 
2.31.1


^ permalink raw reply	[flat|nested] 276+ messages in thread

* [PATCH 54/54] arm64: dts: allwinner: pinephone: Fix BT SCO codec cells size
@ 2021-07-21 14:04   ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-21 14:04 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, Samuel Holland

Even though the codec binding made no mention of it before, all the
other users are using a cells size of 0. Let's make it consistent.

Cc: Samuel Holland <samuel@sholland.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
index 5b44a979f250..1a9f9fcb6f6e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
@@ -26,7 +26,7 @@ backlight: backlight {
 	};
 
 	bt_sco_codec: bt-sco-codec {
-		#sound-dai-cells = <1>;
+		#sound-dai-cells = <0>;
 		compatible = "linux,bt-sco";
 	};
 
-- 
2.31.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-21 14:14     ` Sam Ravnborg
  -1 siblings, 0 replies; 276+ messages in thread
From: Sam Ravnborg @ 2021-07-21 14:14 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, dri-devel, linux-sunxi, Thierry Reding,
	Laurent Pinchart, linux-arm-kernel

Hi Maxime,
On Wed, Jul 21, 2021 at 04:03:40PM +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> index 49460c9dceea..d1513111eb48 100644
> --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> @@ -31,12 +31,18 @@ allOf:
>  
>  properties:
>    compatible:
> -    contains:
> -      const: panel-lvds
> -    description:
> -      Shall contain "panel-lvds" in addition to a mandatory panel-specific
> -      compatible string defined in individual panel bindings. The "panel-lvds"
> -      value shall never be used on its own.
> +    items:
> +      - enum:
> +          - advantech,idk-1110wr
> +          - advantech,idk-2121wr
> +          - auo,b101ew05
> +          - innolux,ee101ia-01d
> +          - mitsubishi,aa104xd12
> +          - mitsubishi,aa121td01
> +          - sgd,gktw70sdae4se
> +          - sharp,lq150x1lg11
> +          - tbs,a711-panel
> +      - const: panel-lvds

I can see there is already a dedicated binding for sharp,lq150x1lg11
I picked this randomly - did not check the rest.

I think we are in for troubles if we have two bindings with the same
compatible...

	Sam

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-21 14:14     ` Sam Ravnborg
  0 siblings, 0 replies; 276+ messages in thread
From: Sam Ravnborg @ 2021-07-21 14:14 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, linux-sunxi, dri-devel, Chen-Yu Tsai,
	Rob Herring, Thierry Reding, Laurent Pinchart, Frank Rowand,
	linux-arm-kernel

Hi Maxime,
On Wed, Jul 21, 2021 at 04:03:40PM +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> index 49460c9dceea..d1513111eb48 100644
> --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> @@ -31,12 +31,18 @@ allOf:
>  
>  properties:
>    compatible:
> -    contains:
> -      const: panel-lvds
> -    description:
> -      Shall contain "panel-lvds" in addition to a mandatory panel-specific
> -      compatible string defined in individual panel bindings. The "panel-lvds"
> -      value shall never be used on its own.
> +    items:
> +      - enum:
> +          - advantech,idk-1110wr
> +          - advantech,idk-2121wr
> +          - auo,b101ew05
> +          - innolux,ee101ia-01d
> +          - mitsubishi,aa104xd12
> +          - mitsubishi,aa121td01
> +          - sgd,gktw70sdae4se
> +          - sharp,lq150x1lg11
> +          - tbs,a711-panel
> +      - const: panel-lvds

I can see there is already a dedicated binding for sharp,lq150x1lg11
I picked this randomly - did not check the rest.

I think we are in for troubles if we have two bindings with the same
compatible...

	Sam

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-21 14:16     ` Sam Ravnborg
  -1 siblings, 0 replies; 276+ messages in thread
From: Sam Ravnborg @ 2021-07-21 14:16 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-sunxi, dri-devel, linux-arm-kernel,
	Laurent Pinchart

On Wed, Jul 21, 2021 at 04:03:41PM +0200, Maxime Ripard wrote:
> The corpro,gm7123 was in use in a DT but was never properly documented,
> let's add it.
> 
> Cc: dri-devel@lists.freedesktop.org
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Sam Ravnborg <sam@ravnborg.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
@ 2021-07-21 14:16     ` Sam Ravnborg
  0 siblings, 0 replies; 276+ messages in thread
From: Sam Ravnborg @ 2021-07-21 14:16 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, linux-sunxi, dri-devel, Chen-Yu Tsai,
	Rob Herring, Laurent Pinchart, Frank Rowand, linux-arm-kernel

On Wed, Jul 21, 2021 at 04:03:41PM +0200, Maxime Ripard wrote:
> The corpro,gm7123 was in use in a DT but was never properly documented,
> let's add it.
> 
> Cc: dri-devel@lists.freedesktop.org
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Sam Ravnborg <sam@ravnborg.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 05/54] dt-bindings: Convert Reserved Memory binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-21 14:30     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-21 14:30 UTC (permalink / raw)
  To: Maxime Ripard, Grant Likely
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Mailing List

On Wed, Jul 21, 2021 at 8:04 AM Maxime Ripard <maxime@cerno.tech> wrote:
>
> The Reserved Memory mechanism is supported by Linux thanks to its device
> tree binding.
>
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.

Thanks for this!

>
> Cc: Mailing List <devicetree-spec@vger.kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../reserved-memory/reserved-memory.txt       | 141 ---------------
>  .../reserved-memory/reserved-memory.yaml      | 167 ++++++++++++++++++
>  2 files changed, 167 insertions(+), 141 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
>  create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml

> diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> new file mode 100644
> index 000000000000..b61527f11953
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> @@ -0,0 +1,167 @@
> +# SPDX-License-Identifier: GPL-2.0

I think this is okay to dual license. Grant (Linaro) is the original
author and there's only a few lines from other authors.

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: /reserved-memory Node
> +
> +maintainers:
> +  - Devicetree Specification Mailing List <devicetree-spec@vger.kernel.org>
> +
> +description: >
> +  Reserved memory is specified as a node under the /reserved-memory node. The
> +  operating system shall exclude reserved memory from normal usage one can
> +  create child nodes describing particular reserved (excluded from normal use)
> +  memory regions. Such memory regions are usually designed for the special
> +  usage by various device drivers.
> +
> +properties:
> +  $nodename:
> +    const: reserved-memory
> +
> +  "#address-cells": true
> +  "#size-cells": true
> +  ranges: true
> +
> +patternProperties:
> +  "^(?!(ranges))[a-z,-]*(@[0-9]+)?$":

Note that you could drop this and put under 'additionalProperties'.
You would lose some node name checking, but there's really little
standard on these nodes.

> +    type: object
> +
> +    description: >
> +      Each child of the reserved-memory node specifies one or more regions of
> +      reserved memory. Each child node may either use a 'reg' property to
> +      specify a specific range of reserved memory, or a 'size' property with
> +      optional constraints to request a dynamically allocated block of memory.
> +
> +      Following the generic-names recommended practice, node names should
> +      reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
> +      address (@<address>) should be appended to the name if the node is a
> +      static allocation.
> +
> +    properties:
> +      reg: true
> +
> +      size:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: >
> +          Length based on parent's \#size-cells. Size in bytes of memory to
> +          reserve.
> +
> +      alignment:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: >
> +          Length based on parent's \#size-cells. Address boundary for
> +          alignment of allocation.
> +
> +      alloc-ranges:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: >
> +          Address and Length pairs. Specifies regions of memory that are
> +          acceptable to allocate from.
> +
> +      compatible:
> +        oneOf:
> +          - const: shared-dma-pool
> +            description: >
> +              This indicates a region of memory meant to be used as a shared
> +              pool of DMA buffers for a set of devices. It can be used by an
> +              operating system to instantiate the necessary pool management
> +              subsystem if necessary.
> +
> +          # Vendor-specific compatibles in the form <vendor>,[<device>-]<usage>
> +          - const: mediatek,trustzone-bootinfo

I think these should be separate schema files. At least, we're going
to need to support separate files because I don't think we want ones
adding custom properties here. This would fail unless we add every
compatible here. We could also be a bit more exact as to which
properties below apply (e.g. linux,.*-default is only valid for
shared-dma-pool).

> +
> +      no-map:
> +        type: boolean
> +        description: >
> +          Indicates the operating system must not create a virtual mapping of
> +          the region as part of its standard mapping of system memory, nor
> +          permit speculative access to it under any circumstances other than
> +          under the control of the device driver using the region.
> +
> +      reusable:
> +        type: boolean
> +        description: >
> +          The operating system can use the memory in this region with the
> +          limitation that the device driver(s) owning the region need to be
> +          able to reclaim it back. Typically that means that the operating
> +          system can use that region to store volatile or cached data that
> +          can be otherwise regenerated or migrated elsewhere.
> +
> +      linux,cma-default:
> +        type: boolean
> +        description: >
> +          If this property is present, then Linux will use the region for the
> +          default pool of the contiguous memory allocator.
> +
> +      linux,dma-default:
> +        type: boolean
> +        description: >
> +          If this property is present, then Linux will use the region for the
> +          default pool of the consistent DMA allocator.
> +
> +    allOf:
> +      - if:
> +          required:
> +            - no-map
> +
> +        then:
> +          not:
> +            required:
> +              - reusable
> +
> +      - if:
> +          required:
> +            - reusable
> +
> +        then:
> +          not:
> +            required:
> +              - no-map
> +
> +    oneOf:
> +      - required:
> +          - reg
> +
> +      - required:
> +          - size
> +
> +    additionalProperties: true
> +
> +additionalProperties: true

This should be false, right?

> +
> +examples:
> +  - |
> +      / {
> +          #address-cells = <1>;
> +          #size-cells = <1>;
> +          model = "MediaTek MT2701 evaluation board";
> +          compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
> +
> +          reserved-memory {
> +              #address-cells = <1>;
> +              #size-cells = <1>;
> +              ranges;
> +
> +              /* global autoconfigured region for contiguous allocations */
> +              linux,cma {
> +                  compatible = "shared-dma-pool";
> +                  reusable;
> +                  size = <0x4000000>;
> +                  alignment = <0x2000>;
> +                  linux,cma-default;
> +              };
> +
> +              display_reserved: framebuffer@78000000 {
> +                  reg = <0x78000000 0x800000>;
> +              };
> +
> +              trustzone-bootinfo@80002000 {
> +                  compatible = "mediatek,trustzone-bootinfo";
> +                  reg = <0x80002000 0x1000>;
> +              };
> +          };
> +      };
> +
> +...
> --
> 2.31.1
>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 05/54] dt-bindings: Convert Reserved Memory binding to a schema
@ 2021-07-21 14:30     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-21 14:30 UTC (permalink / raw)
  To: Maxime Ripard, Grant Likely
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Mailing List

On Wed, Jul 21, 2021 at 8:04 AM Maxime Ripard <maxime@cerno.tech> wrote:
>
> The Reserved Memory mechanism is supported by Linux thanks to its device
> tree binding.
>
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.

Thanks for this!

>
> Cc: Mailing List <devicetree-spec@vger.kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../reserved-memory/reserved-memory.txt       | 141 ---------------
>  .../reserved-memory/reserved-memory.yaml      | 167 ++++++++++++++++++
>  2 files changed, 167 insertions(+), 141 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
>  create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml

> diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> new file mode 100644
> index 000000000000..b61527f11953
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> @@ -0,0 +1,167 @@
> +# SPDX-License-Identifier: GPL-2.0

I think this is okay to dual license. Grant (Linaro) is the original
author and there's only a few lines from other authors.

> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: /reserved-memory Node
> +
> +maintainers:
> +  - Devicetree Specification Mailing List <devicetree-spec@vger.kernel.org>
> +
> +description: >
> +  Reserved memory is specified as a node under the /reserved-memory node. The
> +  operating system shall exclude reserved memory from normal usage one can
> +  create child nodes describing particular reserved (excluded from normal use)
> +  memory regions. Such memory regions are usually designed for the special
> +  usage by various device drivers.
> +
> +properties:
> +  $nodename:
> +    const: reserved-memory
> +
> +  "#address-cells": true
> +  "#size-cells": true
> +  ranges: true
> +
> +patternProperties:
> +  "^(?!(ranges))[a-z,-]*(@[0-9]+)?$":

Note that you could drop this and put under 'additionalProperties'.
You would lose some node name checking, but there's really little
standard on these nodes.

> +    type: object
> +
> +    description: >
> +      Each child of the reserved-memory node specifies one or more regions of
> +      reserved memory. Each child node may either use a 'reg' property to
> +      specify a specific range of reserved memory, or a 'size' property with
> +      optional constraints to request a dynamically allocated block of memory.
> +
> +      Following the generic-names recommended practice, node names should
> +      reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
> +      address (@<address>) should be appended to the name if the node is a
> +      static allocation.
> +
> +    properties:
> +      reg: true
> +
> +      size:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: >
> +          Length based on parent's \#size-cells. Size in bytes of memory to
> +          reserve.
> +
> +      alignment:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: >
> +          Length based on parent's \#size-cells. Address boundary for
> +          alignment of allocation.
> +
> +      alloc-ranges:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        description: >
> +          Address and Length pairs. Specifies regions of memory that are
> +          acceptable to allocate from.
> +
> +      compatible:
> +        oneOf:
> +          - const: shared-dma-pool
> +            description: >
> +              This indicates a region of memory meant to be used as a shared
> +              pool of DMA buffers for a set of devices. It can be used by an
> +              operating system to instantiate the necessary pool management
> +              subsystem if necessary.
> +
> +          # Vendor-specific compatibles in the form <vendor>,[<device>-]<usage>
> +          - const: mediatek,trustzone-bootinfo

I think these should be separate schema files. At least, we're going
to need to support separate files because I don't think we want ones
adding custom properties here. This would fail unless we add every
compatible here. We could also be a bit more exact as to which
properties below apply (e.g. linux,.*-default is only valid for
shared-dma-pool).

> +
> +      no-map:
> +        type: boolean
> +        description: >
> +          Indicates the operating system must not create a virtual mapping of
> +          the region as part of its standard mapping of system memory, nor
> +          permit speculative access to it under any circumstances other than
> +          under the control of the device driver using the region.
> +
> +      reusable:
> +        type: boolean
> +        description: >
> +          The operating system can use the memory in this region with the
> +          limitation that the device driver(s) owning the region need to be
> +          able to reclaim it back. Typically that means that the operating
> +          system can use that region to store volatile or cached data that
> +          can be otherwise regenerated or migrated elsewhere.
> +
> +      linux,cma-default:
> +        type: boolean
> +        description: >
> +          If this property is present, then Linux will use the region for the
> +          default pool of the contiguous memory allocator.
> +
> +      linux,dma-default:
> +        type: boolean
> +        description: >
> +          If this property is present, then Linux will use the region for the
> +          default pool of the consistent DMA allocator.
> +
> +    allOf:
> +      - if:
> +          required:
> +            - no-map
> +
> +        then:
> +          not:
> +            required:
> +              - reusable
> +
> +      - if:
> +          required:
> +            - reusable
> +
> +        then:
> +          not:
> +            required:
> +              - no-map
> +
> +    oneOf:
> +      - required:
> +          - reg
> +
> +      - required:
> +          - size
> +
> +    additionalProperties: true
> +
> +additionalProperties: true

This should be false, right?

> +
> +examples:
> +  - |
> +      / {
> +          #address-cells = <1>;
> +          #size-cells = <1>;
> +          model = "MediaTek MT2701 evaluation board";
> +          compatible = "mediatek,mt2701-evb", "mediatek,mt2701";
> +
> +          reserved-memory {
> +              #address-cells = <1>;
> +              #size-cells = <1>;
> +              ranges;
> +
> +              /* global autoconfigured region for contiguous allocations */
> +              linux,cma {
> +                  compatible = "shared-dma-pool";
> +                  reusable;
> +                  size = <0x4000000>;
> +                  alignment = <0x2000>;
> +                  linux,cma-default;
> +              };
> +
> +              display_reserved: framebuffer@78000000 {
> +                  reg = <0x78000000 0x800000>;
> +              };
> +
> +              trustzone-bootinfo@80002000 {
> +                  compatible = "mediatek,trustzone-bootinfo";
> +                  reg = <0x80002000 0x1000>;
> +              };
> +          };
> +      };
> +
> +...
> --
> 2.31.1
>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 00/54] ARM: dts: Last round of DT schema fixes
  2021-07-21 14:03 ` Maxime Ripard
@ 2021-07-21 16:48   ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-21 16:48 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi

On Wed, Jul 21, 2021 at 04:03:30PM +0200, Maxime Ripard wrote:
> Hi,
> 
> Here's another round of schema warnings fixes for the Allwinner platform.
> 
> There's a fair share of new schemas in there since the schema tools now warn
> when a compatible is not documented in a schema.
> 
> We don't have any warning anymore if we use the OPP binding Rob submitted, and
> since that means we have all our devices properly validated I don't expect more
> fixes now, aside from the usual bunch of regressions.

Great! You deserve a prize. 

I want to start enabling the schema checks by default. (Though then I'd 
have to worry about new warnings.) This should be pretty easy to do 
where we have subdirs per family, but for arm32 we'd need to move dts 
files to subdirs if we don't want a flag per dts file.

Rob

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 00/54] ARM: dts: Last round of DT schema fixes
@ 2021-07-21 16:48   ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-21 16:48 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi

On Wed, Jul 21, 2021 at 04:03:30PM +0200, Maxime Ripard wrote:
> Hi,
> 
> Here's another round of schema warnings fixes for the Allwinner platform.
> 
> There's a fair share of new schemas in there since the schema tools now warn
> when a compatible is not documented in a schema.
> 
> We don't have any warning anymore if we use the OPP binding Rob submitted, and
> since that means we have all our devices properly validated I don't expect more
> fixes now, aside from the usual bunch of regressions.

Great! You deserve a prize. 

I want to start enabling the schema checks by default. (Though then I'd 
have to worry about new warnings.) This should be pretty easy to do 
where we have subdirs per family, but for arm32 we'd need to move dts 
files to subdirs if we don't want a flag per dts file.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 13/54] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  2:09     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Linus Walleij, linux-arm-kernel, linux-gpio, devicetree,
	Rob Herring, Frank Rowand, Bartosz Golaszewski, linux-sunxi,
	Jernej Skrabec, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:43 +0200, Maxime Ripard wrote:
> The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> thanks to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-gpio@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -----------------
>  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 84 +++++++++++++++++++
>  2 files changed, 84 insertions(+), 75 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
>  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.example.dt.yaml:0:0: /example-0/i2c/pmic@34: failed to match any schema with compatible: ['x-powers,axp209']
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508257

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
  2021-07-21 14:03   ` Maxime Ripard
  (?)
@ 2021-07-22  2:09     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, Thierry Reding, linux-sunxi, dri-devel,
	Rob Herring, Chen-Yu Tsai, devicetree, Jernej Skrabec,
	Frank Rowand, Laurent Pinchart, Sam Ravnborg

On Wed, 21 Jul 2021 16:03:40 +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: compatible: ['sharp,lq150x1lg11'] is too short
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'data-mapping' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'width-mm' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'height-mm' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'panel-timing' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'oneOf' conditional failed, one must be fixed:
	'port' is a required property
	'ports' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508254

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 22/54] dt-bindings: media: Convert OV5640 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  2:09     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Steve Longerbeam, Chen-Yu Tsai, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, linux-media,
	Mauro Carvalho Chehab, Rob Herring, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:52 +0200, Maxime Ripard wrote:
> The Omnivision OV5640 is supported by Linux thanks to its device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: linux-media@vger.kernel.org
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Steve Longerbeam <slongerbeam@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/media/i2c/ov5640.txt  |  92 -----------
>  .../bindings/media/i2c/ovti,ov5640.yaml       | 154 ++++++++++++++++++
>  2 files changed, 154 insertions(+), 92 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/ti,cal.example.dt.yaml: camera-sensor@3c: 'AVDD-supply' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/ti,cal.example.dt.yaml: camera-sensor@3c: 'DVDD-supply' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/ti,cal.example.dt.yaml: camera-sensor@3c: 'DOVDD-supply' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508267

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 05/54] dt-bindings: Convert Reserved Memory binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  2:09     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, linux-arm-kernel, linux-sunxi, Frank Rowand,
	Mailing List, Jernej Skrabec, Rob Herring, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:35 +0200, Maxime Ripard wrote:
> The Reserved Memory mechanism is supported by Linux thanks to its device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Mailing List <devicetree-spec@vger.kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../reserved-memory/reserved-memory.txt       | 141 ---------------
>  .../reserved-memory/reserved-memory.yaml      | 167 ++++++++++++++++++
>  2 files changed, 167 insertions(+), 141 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
>  create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/nvmem/rmem.example.dt.yaml: reserved-memory: nvram@10000000:compatible: 'oneOf' conditional failed, one must be fixed:
	['raspberrypi,bootloader-config', 'nvmem-rmem'] is too long
	Additional items are not allowed ('nvmem-rmem' was unexpected)
	'shared-dma-pool' was expected
	'mediatek,trustzone-bootinfo' was expected
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra210-emc.example.dt.yaml: reserved-memory: emc-table@83400000:compatible: 'oneOf' conditional failed, one must be fixed:
	'shared-dma-pool' was expected
	'mediatek,trustzone-bootinfo' was expected
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
\ndoc reference errors (make refcheckdocs):
Documentation/devicetree/bindings/display/arm,hdlcd.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/display/arm,komeda.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/display/arm,malidp.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/display/arm,pl11x.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/gpu/aspeed-gfx.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/media/aspeed-video.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/media/mediatek-vpu.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,davinci-rproc.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
arch/arm/mm/dma-mapping-nommu.c: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt

See https://patchwork.ozlabs.org/patch/1508249

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 24/54] dt-bindings: mfd: Convert X-Powers AXP binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  2:09     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-sunxi, Frank Rowand, Rob Herring, Chen-Yu Tsai,
	linux-arm-kernel, Lee Jones, devicetree, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:54 +0200, Maxime Ripard wrote:
> The X-Powers AXP PMICs are supported by Linux thanks to its device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/mfd/axp20x.txt        | 272 -------------
>  .../bindings/mfd/x-powers,axp152.yaml         | 381 ++++++++++++++++++
>  2 files changed, 381 insertions(+), 272 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Unknown file referenced: [Errno 2] No such file or directory: '/usr/local/lib/python3.8/dist-packages/dtschema/schemas/gpio/x-powers,axp209-gpio.yaml'
xargs: dt-doc-validate: exited with status 255; aborting
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.example.dt.yaml: pmic@68: '#interrupt-cells' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.example.dt.yaml: pmic@68: 'interrupt-controller' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.example.dt.yaml: pmic@68: 'oneOf' conditional failed, one must be fixed:
	'interrupts' is a required property
	'interrupts-extended' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
make[1]: *** Deleting file 'Documentation/devicetree/bindings/mfd/x-powers,axp152.example.dt.yaml'
Unknown file referenced: [Errno 2] No such file or directory: '/usr/local/lib/python3.8/dist-packages/dtschema/schemas/gpio/x-powers,axp209-gpio.yaml'
make[1]: *** [scripts/Makefile.lib:380: Documentation/devicetree/bindings/mfd/x-powers,axp152.example.dt.yaml] Error 255
make: *** [Makefile:1418: dt_binding_check] Error 2
\ndoc reference errors (make refcheckdocs):
Documentation/devicetree/bindings/gpio/gpio-axp209.txt: Documentation/devicetree/bindings/mfd/axp20x.txt

See https://patchwork.ozlabs.org/patch/1508269

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 06/54] dt-bindings: arm: Convert ARM CCI-400 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  2:09     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, linux-sunxi, Chen-Yu Tsai, Rob Herring,
	Frank Rowand, Lorenzo Pieralisi, devicetree, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:36 +0200, Maxime Ripard wrote:
> The ARM CCI-400 Interconnect is supported by Linux thanks to its device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 +++++++++++++++++
>  .../bindings/arm/cci-control-port.yaml        |  38 +++
>  Documentation/devicetree/bindings/arm/cci.txt | 224 ------------------
>  3 files changed, 254 insertions(+), 224 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
>  delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/arm/arm,cci-400.example.dt.yaml:0:0: /dma@3000000: failed to match any schema with compatible: ['arm,pl330', 'arm,primecell']
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508250

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, Thierry Reding, linux-sunxi, dri-devel,
	Rob Herring, Chen-Yu Tsai, devicetree, Jernej Skrabec,
	Frank Rowand, Laurent Pinchart, Sam Ravnborg

On Wed, 21 Jul 2021 16:03:40 +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: compatible: ['sharp,lq150x1lg11'] is too short
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'data-mapping' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'width-mm' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'height-mm' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'panel-timing' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'oneOf' conditional failed, one must be fixed:
	'port' is a required property
	'ports' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508254

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 22/54] dt-bindings: media: Convert OV5640 binding to a schema
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Steve Longerbeam, Chen-Yu Tsai, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, linux-media,
	Mauro Carvalho Chehab, Rob Herring, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:52 +0200, Maxime Ripard wrote:
> The Omnivision OV5640 is supported by Linux thanks to its device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: linux-media@vger.kernel.org
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Steve Longerbeam <slongerbeam@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/media/i2c/ov5640.txt  |  92 -----------
>  .../bindings/media/i2c/ovti,ov5640.yaml       | 154 ++++++++++++++++++
>  2 files changed, 154 insertions(+), 92 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/ti,cal.example.dt.yaml: camera-sensor@3c: 'AVDD-supply' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/ti,cal.example.dt.yaml: camera-sensor@3c: 'DVDD-supply' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/ti,cal.example.dt.yaml: camera-sensor@3c: 'DOVDD-supply' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/i2c/ovti,ov5640.yaml
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508267

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 13/54] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Linus Walleij, linux-arm-kernel, linux-gpio, devicetree,
	Rob Herring, Frank Rowand, Bartosz Golaszewski, linux-sunxi,
	Jernej Skrabec, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:43 +0200, Maxime Ripard wrote:
> The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> thanks to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-gpio@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -----------------
>  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 84 +++++++++++++++++++
>  2 files changed, 84 insertions(+), 75 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
>  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.example.dt.yaml:0:0: /example-0/i2c/pmic@34: failed to match any schema with compatible: ['x-powers,axp209']
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508257

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 24/54] dt-bindings: mfd: Convert X-Powers AXP binding to a schema
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-sunxi, Frank Rowand, Rob Herring, Chen-Yu Tsai,
	linux-arm-kernel, Lee Jones, devicetree, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:54 +0200, Maxime Ripard wrote:
> The X-Powers AXP PMICs are supported by Linux thanks to its device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/mfd/axp20x.txt        | 272 -------------
>  .../bindings/mfd/x-powers,axp152.yaml         | 381 ++++++++++++++++++
>  2 files changed, 381 insertions(+), 272 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/axp20x.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Unknown file referenced: [Errno 2] No such file or directory: '/usr/local/lib/python3.8/dist-packages/dtschema/schemas/gpio/x-powers,axp209-gpio.yaml'
xargs: dt-doc-validate: exited with status 255; aborting
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.example.dt.yaml: pmic@68: '#interrupt-cells' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.example.dt.yaml: pmic@68: 'interrupt-controller' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.example.dt.yaml: pmic@68: 'oneOf' conditional failed, one must be fixed:
	'interrupts' is a required property
	'interrupts-extended' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
make[1]: *** Deleting file 'Documentation/devicetree/bindings/mfd/x-powers,axp152.example.dt.yaml'
Unknown file referenced: [Errno 2] No such file or directory: '/usr/local/lib/python3.8/dist-packages/dtschema/schemas/gpio/x-powers,axp209-gpio.yaml'
make[1]: *** [scripts/Makefile.lib:380: Documentation/devicetree/bindings/mfd/x-powers,axp152.example.dt.yaml] Error 255
make: *** [Makefile:1418: dt_binding_check] Error 2
\ndoc reference errors (make refcheckdocs):
Documentation/devicetree/bindings/gpio/gpio-axp209.txt: Documentation/devicetree/bindings/mfd/axp20x.txt

See https://patchwork.ozlabs.org/patch/1508269

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 05/54] dt-bindings: Convert Reserved Memory binding to a schema
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, linux-arm-kernel, linux-sunxi, Frank Rowand,
	Mailing List, Jernej Skrabec, Rob Herring, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:35 +0200, Maxime Ripard wrote:
> The Reserved Memory mechanism is supported by Linux thanks to its device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Mailing List <devicetree-spec@vger.kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../reserved-memory/reserved-memory.txt       | 141 ---------------
>  .../reserved-memory/reserved-memory.yaml      | 167 ++++++++++++++++++
>  2 files changed, 167 insertions(+), 141 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
>  create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/nvmem/rmem.example.dt.yaml: reserved-memory: nvram@10000000:compatible: 'oneOf' conditional failed, one must be fixed:
	['raspberrypi,bootloader-config', 'nvmem-rmem'] is too long
	Additional items are not allowed ('nvmem-rmem' was unexpected)
	'shared-dma-pool' was expected
	'mediatek,trustzone-bootinfo' was expected
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra210-emc.example.dt.yaml: reserved-memory: emc-table@83400000:compatible: 'oneOf' conditional failed, one must be fixed:
	'shared-dma-pool' was expected
	'mediatek,trustzone-bootinfo' was expected
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.yaml
\ndoc reference errors (make refcheckdocs):
Documentation/devicetree/bindings/display/arm,hdlcd.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/display/arm,komeda.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/display/arm,malidp.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/display/arm,pl11x.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/firmware/intel,stratix10-svc.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/gpu/aspeed-gfx.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/media/aspeed-video.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/media/mediatek-vpu.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,davinci-rproc.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Documentation/devicetree/bindings/remoteproc/ti,omap-remoteproc.yaml: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
arch/arm/mm/dma-mapping-nommu.c: Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt

See https://patchwork.ozlabs.org/patch/1508249

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 06/54] dt-bindings: arm: Convert ARM CCI-400 binding to a schema
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, linux-sunxi, Chen-Yu Tsai, Rob Herring,
	Frank Rowand, Lorenzo Pieralisi, devicetree, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:36 +0200, Maxime Ripard wrote:
> The ARM CCI-400 Interconnect is supported by Linux thanks to its device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 +++++++++++++++++
>  .../bindings/arm/cci-control-port.yaml        |  38 +++
>  Documentation/devicetree/bindings/arm/cci.txt | 224 ------------------
>  3 files changed, 254 insertions(+), 224 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
>  delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/arm/arm,cci-400.example.dt.yaml:0:0: /dma@3000000: failed to match any schema with compatible: ['arm,pl330', 'arm,primecell']
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508250

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-22  2:09     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:09 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, Sam Ravnborg, Chen-Yu Tsai,
	dri-devel, linux-sunxi, Rob Herring, Thierry Reding,
	Laurent Pinchart, Frank Rowand, linux-arm-kernel

On Wed, 21 Jul 2021 16:03:40 +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: compatible: ['sharp,lq150x1lg11'] is too short
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'data-mapping' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'width-mm' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'height-mm' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'panel-timing' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/sharp,lq150x1lg11.example.dt.yaml: panel: 'oneOf' conditional failed, one must be fixed:
	'port' is a required property
	'ports' is a required property
	From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/panel/lvds.yaml
\ndoc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1508254

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 13/54] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
  2021-07-22  2:09     ` Rob Herring
@ 2021-07-22  2:13       ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:13 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Linus Walleij, linux-arm-kernel, open list:GPIO SUBSYSTEM,
	devicetree, Frank Rowand, Bartosz Golaszewski, linux-sunxi,
	Jernej Skrabec, Chen-Yu Tsai

On Wed, Jul 21, 2021 at 8:10 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, 21 Jul 2021 16:03:43 +0200, Maxime Ripard wrote:
> > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > thanks to its device tree binding.
> >
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> >
> > Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > Cc: Chen-Yu Tsai <wens@csie.org>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: linux-gpio@vger.kernel.org
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > ---
> >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -----------------
> >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 84 +++++++++++++++++++
> >  2 files changed, 84 insertions(+), 75 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.example.dt.yaml:0:0: /example-0/i2c/pmic@34: failed to match any schema with compatible: ['x-powers,axp209']

Please make the mfd schema example complete if not already and drop
the example here.

Rob

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 13/54] dt-bindings: gpio: Convert X-Powers AXP209 GPIO binding to a schema
@ 2021-07-22  2:13       ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:13 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Linus Walleij, linux-arm-kernel, open list:GPIO SUBSYSTEM,
	devicetree, Frank Rowand, Bartosz Golaszewski, linux-sunxi,
	Jernej Skrabec, Chen-Yu Tsai

On Wed, Jul 21, 2021 at 8:10 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, 21 Jul 2021 16:03:43 +0200, Maxime Ripard wrote:
> > The X-Powers AXP PMICs feature a GPIO Controller supported by Linux
> > thanks to its device tree binding.
> >
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> >
> > Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> > Cc: Chen-Yu Tsai <wens@csie.org>
> > Cc: Linus Walleij <linus.walleij@linaro.org>
> > Cc: linux-gpio@vger.kernel.org
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > ---
> >  .../devicetree/bindings/gpio/gpio-axp209.txt  | 75 -----------------
> >  .../bindings/gpio/x-powers,axp209-gpio.yaml   | 84 +++++++++++++++++++
> >  2 files changed, 84 insertions(+), 75 deletions(-)
> >  delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-axp209.txt
> >  create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.yaml
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> Documentation/devicetree/bindings/gpio/x-powers,axp209-gpio.example.dt.yaml:0:0: /example-0/i2c/pmic@34: failed to match any schema with compatible: ['x-powers,axp209']

Please make the mfd schema example complete if not already and drop
the example here.

Rob

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 06/54] dt-bindings: arm: Convert ARM CCI-400 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  2:26     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:26 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Lorenzo Pieralisi

On Wed, Jul 21, 2021 at 04:03:36PM +0200, Maxime Ripard wrote:
> The ARM CCI-400 Interconnect is supported by Linux thanks to its device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 +++++++++++++++++
>  .../bindings/arm/cci-control-port.yaml        |  38 +++
>  Documentation/devicetree/bindings/arm/cci.txt | 224 ------------------
>  3 files changed, 254 insertions(+), 224 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
>  delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/arm,cci-400.yaml b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
> new file mode 100644
> index 000000000000..b5c0fef9a0c2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
> @@ -0,0 +1,216 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/arm,cci-400.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ARM CCI Cache Coherent Interconnect Device Tree Binding
> +
> +maintainers:
> +  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +
> +description: >
> +  ARM multi-cluster systems maintain intra-cluster coherency through a cache
> +  coherent interconnect (CCI) that is capable of monitoring bus transactions
> +  and manage coherency, TLB invalidations and memory barriers.
> +
> +  It allows snooping and distributed virtual memory message broadcast across
> +  clusters, through memory mapped interface, with a global control register
> +  space and multiple sets of interface control registers, one per slave
> +  interface.
> +
> +properties:
> +  $nodename:
> +    pattern: "^cci(@[0-9a-f]+)?$"
> +
> +  compatible:
> +    enum:
> +      - arm,cci-400
> +      - arm,cci-500
> +      - arm,cci-550
> +
> +  reg:
> +    maxItems: 1
> +    description: >
> +      Specifies base physical address of CCI control registers common to all
> +      interfaces.
> +
> +  "#address-cells": true
> +  "#size-cells": true
> +  ranges: true
> +
> +patternProperties:
> +  "^slave-if@[0-9a-f]+$":
> +    type: object
> +
> +    properties:
> +      compatible:
> +        const: arm,cci-400-ctrl-if
> +
> +      interface-type:
> +        enum:
> +          - ace
> +          - ace-lite
> +
> +      reg:
> +        maxItems: 1
> +
> +    required:
> +      - compatible
> +      - interface-type
> +      - reg
> +
> +    additionalProperties: false
> +
> +  "^pmu@[0-9a-f]+$":
> +    type: object
> +
> +    properties:
> +      compatible:
> +        oneOf:
> +          - const: arm,cci-400-pmu,r0
> +          - const: arm,cci-400-pmu,r1
> +          - const: arm,cci-400-pmu
> +            deprecated: true
> +            description: >
> +              Permitted only where OS has secure access to CCI registers
> +          - const: arm,cci-500-pmu,r0
> +          - const: arm,cci-550-pmu,r0
> +
> +      interrupts:
> +        minItems: 1
> +        maxItems: 255

There's only 8 counters in cci-550. I doubt this schema will be 
extended.

> +        description: >
> +          List of counter overflow interrupts, one per counter. The interrupts
> +          must be specified starting with the cycle counter overflow interrupt,
> +          followed by counter0 overflow interrupt, counter1 overflow
> +          interrupt,...  ,counterN overflow interrupt.
> +
> +          The CCI PMU has an interrupt signal for each counter. The number of
> +          interrupts must be equal to the number of counters.
> +
> +      reg:
> +        maxItems: 1
> +
> +    required:
> +      - compatible
> +      - interrupts
> +      - reg
> +
> +    additionalProperties: false
> +
> +required:
> +  - "#address-cells"
> +  - "#size-cells"
> +  - compatible
> +  - ranges
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +      / {
> +          #address-cells = <2>;
> +          #size-cells = <2>;
> +
> +          compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress";
> +          model = "V2P-CA15_CA7";
> +          arm,hbi = <0x249>;
> +          interrupt-parent = <&gic>;
> +
> +          /*
> +          * This CCI node corresponds to a CCI component whose control
> +          * registers sits at address 0x000000002c090000.
> +          *
> +          * CCI slave interface @0x000000002c091000 is connected to dma
> +          * controller dma0.
> +          *
> +          * CCI slave interface @0x000000002c094000 is connected to CPUs
> +          * {CPU0, CPU1};
> +          *
> +          * CCI slave interface @0x000000002c095000 is connected to CPUs
> +          * {CPU2, CPU3};
> +          */
> +
> +          cpus {
> +              #size-cells = <0>;
> +              #address-cells = <1>;
> +
> +              CPU0: cpu@0 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a15";
> +                  cci-control-port = <&cci_control1>;

Needs to be added to the cpu schema unless I missed you did that.

> +                  reg = <0x0>;
> +              };
> +
> +              CPU1: cpu@1 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a15";
> +                  cci-control-port = <&cci_control1>;
> +                  reg = <0x1>;
> +              };
> +
> +              CPU2: cpu@100 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a7";
> +                  cci-control-port = <&cci_control2>;
> +                  reg = <0x100>;
> +              };
> +
> +              CPU3: cpu@101 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a7";
> +                  cci-control-port = <&cci_control2>;
> +                  reg = <0x101>;
> +              };
> +          };
> +
> +          dma0: dma@3000000 {
> +              compatible = "arm,pl330", "arm,primecell";
> +              cci-control-port = <&cci_control0>;
> +              reg = <0x0 0x3000000 0x0 0x1000>;
> +              interrupts = <10>;
> +              #dma-cells = <1>;
> +              #dma-channels = <8>;
> +              #dma-requests = <32>;
> +          };
> +
> +          cci@2c090000 {
> +              compatible = "arm,cci-400";
> +              #address-cells = <1>;
> +              #size-cells = <1>;
> +              reg = <0x0 0x2c090000 0 0x1000>;
> +              ranges = <0x0 0x0 0x2c090000 0x10000>;
> +
> +              cci_control0: slave-if@1000 {
> +                  compatible = "arm,cci-400-ctrl-if";
> +                  interface-type = "ace-lite";
> +                  reg = <0x1000 0x1000>;
> +              };
> +
> +              cci_control1: slave-if@4000 {
> +                  compatible = "arm,cci-400-ctrl-if";
> +                  interface-type = "ace";
> +                  reg = <0x4000 0x1000>;
> +              };
> +
> +              cci_control2: slave-if@5000 {
> +                  compatible = "arm,cci-400-ctrl-if";
> +                  interface-type = "ace";
> +                  reg = <0x5000 0x1000>;
> +              };
> +
> +              pmu@9000 {
> +                  compatible = "arm,cci-400-pmu";
> +                  reg = <0x9000 0x5000>;
> +                  interrupts = <0 101 4>,
> +                    <0 102 4>,
> +                    <0 103 4>,
> +                    <0 104 4>,
> +                    <0 105 4>;
> +              };
> +          };
> +      };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/arm/cci-control-port.yaml b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
> new file mode 100644
> index 000000000000..c9114866213f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
> @@ -0,0 +1,38 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/cci-control-port.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: CCI Interconnect Bus Masters binding
> +
> +maintainers:
> +  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +
> +description: |
> +  Masters in the device tree connected to a CCI port (inclusive of CPUs
> +  and their cpu nodes).
> +
> +select: true
> +
> +properties:
> +  cci-control-port:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    cpus {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        cpu@0 {
> +            compatible = "arm,cortex-a15";
> +            device_type = "cpu";
> +            cci-control-port = <&cci_control1>;
> +            reg = <0>;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/arm/cci.txt b/Documentation/devicetree/bindings/arm/cci.txt
> deleted file mode 100644
> index 9600761f2d5b..000000000000
> --- a/Documentation/devicetree/bindings/arm/cci.txt
> +++ /dev/null
> @@ -1,224 +0,0 @@
> -=======================================================
> -ARM CCI cache coherent interconnect binding description
> -=======================================================
> -
> -ARM multi-cluster systems maintain intra-cluster coherency through a
> -cache coherent interconnect (CCI) that is capable of monitoring bus
> -transactions and manage coherency, TLB invalidations and memory barriers.
> -
> -It allows snooping and distributed virtual memory message broadcast across
> -clusters, through memory mapped interface, with a global control register
> -space and multiple sets of interface control registers, one per slave
> -interface.
> -
> -* CCI interconnect node
> -
> -	Description: Describes a CCI cache coherent Interconnect component
> -
> -	Node name must be "cci".
> -	Node's parent must be the root node /, and the address space visible
> -	through the CCI interconnect is the same as the one seen from the
> -	root node (ie from CPUs perspective as per DT standard).
> -	Every CCI node has to define the following properties:
> -
> -	- compatible
> -		Usage: required
> -		Value type: <string>
> -		Definition: must contain one of the following:
> -			    "arm,cci-400"
> -			    "arm,cci-500"
> -			    "arm,cci-550"
> -
> -	- reg
> -		Usage: required
> -		Value type: Integer cells. A register entry, expressed as a pair
> -			    of cells, containing base and size.
> -		Definition: A standard property. Specifies base physical
> -			    address of CCI control registers common to all
> -			    interfaces.
> -
> -	- ranges:
> -		Usage: required
> -		Value type: Integer cells. An array of range entries, expressed
> -			    as a tuple of cells, containing child address,
> -			    parent address and the size of the region in the
> -			    child address space.
> -		Definition: A standard property. Follow rules in the Devicetree
> -			    Specification for hierarchical bus addressing. CCI
> -			    interfaces addresses refer to the parent node
> -			    addressing scheme to declare their register bases.
> -
> -	CCI interconnect node can define the following child nodes:
> -
> -	- CCI control interface nodes
> -
> -		Node name must be "slave-if".
> -		Parent node must be CCI interconnect node.
> -
> -		A CCI control interface node must contain the following
> -		properties:
> -
> -		- compatible
> -			Usage: required
> -			Value type: <string>
> -			Definition: must be set to
> -				    "arm,cci-400-ctrl-if"
> -
> -		- interface-type:
> -			Usage: required
> -			Value type: <string>
> -			Definition: must be set to one of {"ace", "ace-lite"}
> -				    depending on the interface type the node
> -				    represents.
> -
> -		- reg:
> -			Usage: required
> -			Value type: Integer cells. A register entry, expressed
> -				    as a pair of cells, containing base and
> -				    size.
> -			Definition: the base address and size of the
> -				    corresponding interface programming
> -				    registers.
> -
> -	- CCI PMU node
> -
> -		Parent node must be CCI interconnect node.
> -
> -		A CCI pmu node must contain the following properties:
> -
> -		- compatible
> -			Usage: required
> -			Value type: <string>
> -			Definition: Must contain one of:
> -				 "arm,cci-400-pmu,r0"
> -				 "arm,cci-400-pmu,r1"
> -				 "arm,cci-400-pmu"  - DEPRECATED, permitted only where OS has
> -						      secure access to CCI registers
> -				 "arm,cci-500-pmu,r0"
> -				 "arm,cci-550-pmu,r0"
> -		- reg:
> -			Usage: required
> -			Value type: Integer cells. A register entry, expressed
> -				    as a pair of cells, containing base and
> -				    size.
> -			Definition: the base address and size of the
> -				    corresponding interface programming
> -				    registers.
> -
> -		- interrupts:
> -			Usage: required
> -			Value type: Integer cells. Array of interrupt specifier
> -				    entries, as defined in
> -				    ../interrupt-controller/interrupts.txt.
> -			Definition: list of counter overflow interrupts, one per
> -				    counter. The interrupts must be specified
> -				    starting with the cycle counter overflow
> -				    interrupt, followed by counter0 overflow
> -				    interrupt, counter1 overflow interrupt,...
> -				    ,counterN overflow interrupt.
> -
> -				    The CCI PMU has an interrupt signal for each
> -				    counter. The number of interrupts must be
> -				    equal to the number of counters.
> -
> -* CCI interconnect bus masters
> -
> -	Description: masters in the device tree connected to a CCI port
> -		     (inclusive of CPUs and their cpu nodes).
> -
> -	A CCI interconnect bus master node must contain the following
> -	properties:
> -
> -	- cci-control-port:
> -		Usage: required
> -		Value type: <phandle>
> -		Definition: a phandle containing the CCI control interface node
> -			    the master is connected to.
> -
> -Example:
> -
> -	cpus {
> -		#size-cells = <0>;
> -		#address-cells = <1>;
> -
> -		CPU0: cpu@0 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a15";
> -			cci-control-port = <&cci_control1>;
> -			reg = <0x0>;
> -		};
> -
> -		CPU1: cpu@1 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a15";
> -			cci-control-port = <&cci_control1>;
> -			reg = <0x1>;
> -		};
> -
> -		CPU2: cpu@100 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a7";
> -			cci-control-port = <&cci_control2>;
> -			reg = <0x100>;
> -		};
> -
> -		CPU3: cpu@101 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a7";
> -			cci-control-port = <&cci_control2>;
> -			reg = <0x101>;
> -		};
> -
> -	};
> -
> -	dma0: dma@3000000 {
> -		compatible = "arm,pl330", "arm,primecell";
> -		cci-control-port = <&cci_control0>;
> -		reg = <0x0 0x3000000 0x0 0x1000>;
> -		interrupts = <10>;
> -		#dma-cells = <1>;
> -		#dma-channels = <8>;
> -		#dma-requests = <32>;
> -	};
> -
> -	cci@2c090000 {
> -		compatible = "arm,cci-400";
> -		#address-cells = <1>;
> -		#size-cells = <1>;
> -		reg = <0x0 0x2c090000 0 0x1000>;
> -		ranges = <0x0 0x0 0x2c090000 0x10000>;
> -
> -		cci_control0: slave-if@1000 {
> -			compatible = "arm,cci-400-ctrl-if";
> -			interface-type = "ace-lite";
> -			reg = <0x1000 0x1000>;
> -		};
> -
> -		cci_control1: slave-if@4000 {
> -			compatible = "arm,cci-400-ctrl-if";
> -			interface-type = "ace";
> -			reg = <0x4000 0x1000>;
> -		};
> -
> -		cci_control2: slave-if@5000 {
> -			compatible = "arm,cci-400-ctrl-if";
> -			interface-type = "ace";
> -			reg = <0x5000 0x1000>;
> -		};
> -
> -		pmu@9000 {
> -			 compatible = "arm,cci-400-pmu";
> -			 reg = <0x9000 0x5000>;
> -			 interrupts = <0 101 4>,
> -				      <0 102 4>,
> -				      <0 103 4>,
> -				      <0 104 4>,
> -				      <0 105 4>;
> -		};
> -	};
> -
> -This CCI node corresponds to a CCI component whose control registers sits
> -at address 0x000000002c090000.
> -CCI slave interface @0x000000002c091000 is connected to dma controller dma0.
> -CCI slave interface @0x000000002c094000 is connected to CPUs {CPU0, CPU1};
> -CCI slave interface @0x000000002c095000 is connected to CPUs {CPU2, CPU3};
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 06/54] dt-bindings: arm: Convert ARM CCI-400 binding to a schema
@ 2021-07-22  2:26     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:26 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Lorenzo Pieralisi

On Wed, Jul 21, 2021 at 04:03:36PM +0200, Maxime Ripard wrote:
> The ARM CCI-400 Interconnect is supported by Linux thanks to its device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/arm/arm,cci-400.yaml  | 216 +++++++++++++++++
>  .../bindings/arm/cci-control-port.yaml        |  38 +++
>  Documentation/devicetree/bindings/arm/cci.txt | 224 ------------------
>  3 files changed, 254 insertions(+), 224 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/arm,cci-400.yaml
>  create mode 100644 Documentation/devicetree/bindings/arm/cci-control-port.yaml
>  delete mode 100644 Documentation/devicetree/bindings/arm/cci.txt
> 
> diff --git a/Documentation/devicetree/bindings/arm/arm,cci-400.yaml b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
> new file mode 100644
> index 000000000000..b5c0fef9a0c2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/arm,cci-400.yaml
> @@ -0,0 +1,216 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/arm,cci-400.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ARM CCI Cache Coherent Interconnect Device Tree Binding
> +
> +maintainers:
> +  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +
> +description: >
> +  ARM multi-cluster systems maintain intra-cluster coherency through a cache
> +  coherent interconnect (CCI) that is capable of monitoring bus transactions
> +  and manage coherency, TLB invalidations and memory barriers.
> +
> +  It allows snooping and distributed virtual memory message broadcast across
> +  clusters, through memory mapped interface, with a global control register
> +  space and multiple sets of interface control registers, one per slave
> +  interface.
> +
> +properties:
> +  $nodename:
> +    pattern: "^cci(@[0-9a-f]+)?$"
> +
> +  compatible:
> +    enum:
> +      - arm,cci-400
> +      - arm,cci-500
> +      - arm,cci-550
> +
> +  reg:
> +    maxItems: 1
> +    description: >
> +      Specifies base physical address of CCI control registers common to all
> +      interfaces.
> +
> +  "#address-cells": true
> +  "#size-cells": true
> +  ranges: true
> +
> +patternProperties:
> +  "^slave-if@[0-9a-f]+$":
> +    type: object
> +
> +    properties:
> +      compatible:
> +        const: arm,cci-400-ctrl-if
> +
> +      interface-type:
> +        enum:
> +          - ace
> +          - ace-lite
> +
> +      reg:
> +        maxItems: 1
> +
> +    required:
> +      - compatible
> +      - interface-type
> +      - reg
> +
> +    additionalProperties: false
> +
> +  "^pmu@[0-9a-f]+$":
> +    type: object
> +
> +    properties:
> +      compatible:
> +        oneOf:
> +          - const: arm,cci-400-pmu,r0
> +          - const: arm,cci-400-pmu,r1
> +          - const: arm,cci-400-pmu
> +            deprecated: true
> +            description: >
> +              Permitted only where OS has secure access to CCI registers
> +          - const: arm,cci-500-pmu,r0
> +          - const: arm,cci-550-pmu,r0
> +
> +      interrupts:
> +        minItems: 1
> +        maxItems: 255

There's only 8 counters in cci-550. I doubt this schema will be 
extended.

> +        description: >
> +          List of counter overflow interrupts, one per counter. The interrupts
> +          must be specified starting with the cycle counter overflow interrupt,
> +          followed by counter0 overflow interrupt, counter1 overflow
> +          interrupt,...  ,counterN overflow interrupt.
> +
> +          The CCI PMU has an interrupt signal for each counter. The number of
> +          interrupts must be equal to the number of counters.
> +
> +      reg:
> +        maxItems: 1
> +
> +    required:
> +      - compatible
> +      - interrupts
> +      - reg
> +
> +    additionalProperties: false
> +
> +required:
> +  - "#address-cells"
> +  - "#size-cells"
> +  - compatible
> +  - ranges
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +      / {
> +          #address-cells = <2>;
> +          #size-cells = <2>;
> +
> +          compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress";
> +          model = "V2P-CA15_CA7";
> +          arm,hbi = <0x249>;
> +          interrupt-parent = <&gic>;
> +
> +          /*
> +          * This CCI node corresponds to a CCI component whose control
> +          * registers sits at address 0x000000002c090000.
> +          *
> +          * CCI slave interface @0x000000002c091000 is connected to dma
> +          * controller dma0.
> +          *
> +          * CCI slave interface @0x000000002c094000 is connected to CPUs
> +          * {CPU0, CPU1};
> +          *
> +          * CCI slave interface @0x000000002c095000 is connected to CPUs
> +          * {CPU2, CPU3};
> +          */
> +
> +          cpus {
> +              #size-cells = <0>;
> +              #address-cells = <1>;
> +
> +              CPU0: cpu@0 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a15";
> +                  cci-control-port = <&cci_control1>;

Needs to be added to the cpu schema unless I missed you did that.

> +                  reg = <0x0>;
> +              };
> +
> +              CPU1: cpu@1 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a15";
> +                  cci-control-port = <&cci_control1>;
> +                  reg = <0x1>;
> +              };
> +
> +              CPU2: cpu@100 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a7";
> +                  cci-control-port = <&cci_control2>;
> +                  reg = <0x100>;
> +              };
> +
> +              CPU3: cpu@101 {
> +                  device_type = "cpu";
> +                  compatible = "arm,cortex-a7";
> +                  cci-control-port = <&cci_control2>;
> +                  reg = <0x101>;
> +              };
> +          };
> +
> +          dma0: dma@3000000 {
> +              compatible = "arm,pl330", "arm,primecell";
> +              cci-control-port = <&cci_control0>;
> +              reg = <0x0 0x3000000 0x0 0x1000>;
> +              interrupts = <10>;
> +              #dma-cells = <1>;
> +              #dma-channels = <8>;
> +              #dma-requests = <32>;
> +          };
> +
> +          cci@2c090000 {
> +              compatible = "arm,cci-400";
> +              #address-cells = <1>;
> +              #size-cells = <1>;
> +              reg = <0x0 0x2c090000 0 0x1000>;
> +              ranges = <0x0 0x0 0x2c090000 0x10000>;
> +
> +              cci_control0: slave-if@1000 {
> +                  compatible = "arm,cci-400-ctrl-if";
> +                  interface-type = "ace-lite";
> +                  reg = <0x1000 0x1000>;
> +              };
> +
> +              cci_control1: slave-if@4000 {
> +                  compatible = "arm,cci-400-ctrl-if";
> +                  interface-type = "ace";
> +                  reg = <0x4000 0x1000>;
> +              };
> +
> +              cci_control2: slave-if@5000 {
> +                  compatible = "arm,cci-400-ctrl-if";
> +                  interface-type = "ace";
> +                  reg = <0x5000 0x1000>;
> +              };
> +
> +              pmu@9000 {
> +                  compatible = "arm,cci-400-pmu";
> +                  reg = <0x9000 0x5000>;
> +                  interrupts = <0 101 4>,
> +                    <0 102 4>,
> +                    <0 103 4>,
> +                    <0 104 4>,
> +                    <0 105 4>;
> +              };
> +          };
> +      };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/arm/cci-control-port.yaml b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
> new file mode 100644
> index 000000000000..c9114866213f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/cci-control-port.yaml
> @@ -0,0 +1,38 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/cci-control-port.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: CCI Interconnect Bus Masters binding
> +
> +maintainers:
> +  - Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> +
> +description: |
> +  Masters in the device tree connected to a CCI port (inclusive of CPUs
> +  and their cpu nodes).
> +
> +select: true
> +
> +properties:
> +  cci-control-port:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    cpus {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        cpu@0 {
> +            compatible = "arm,cortex-a15";
> +            device_type = "cpu";
> +            cci-control-port = <&cci_control1>;
> +            reg = <0>;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/arm/cci.txt b/Documentation/devicetree/bindings/arm/cci.txt
> deleted file mode 100644
> index 9600761f2d5b..000000000000
> --- a/Documentation/devicetree/bindings/arm/cci.txt
> +++ /dev/null
> @@ -1,224 +0,0 @@
> -=======================================================
> -ARM CCI cache coherent interconnect binding description
> -=======================================================
> -
> -ARM multi-cluster systems maintain intra-cluster coherency through a
> -cache coherent interconnect (CCI) that is capable of monitoring bus
> -transactions and manage coherency, TLB invalidations and memory barriers.
> -
> -It allows snooping and distributed virtual memory message broadcast across
> -clusters, through memory mapped interface, with a global control register
> -space and multiple sets of interface control registers, one per slave
> -interface.
> -
> -* CCI interconnect node
> -
> -	Description: Describes a CCI cache coherent Interconnect component
> -
> -	Node name must be "cci".
> -	Node's parent must be the root node /, and the address space visible
> -	through the CCI interconnect is the same as the one seen from the
> -	root node (ie from CPUs perspective as per DT standard).
> -	Every CCI node has to define the following properties:
> -
> -	- compatible
> -		Usage: required
> -		Value type: <string>
> -		Definition: must contain one of the following:
> -			    "arm,cci-400"
> -			    "arm,cci-500"
> -			    "arm,cci-550"
> -
> -	- reg
> -		Usage: required
> -		Value type: Integer cells. A register entry, expressed as a pair
> -			    of cells, containing base and size.
> -		Definition: A standard property. Specifies base physical
> -			    address of CCI control registers common to all
> -			    interfaces.
> -
> -	- ranges:
> -		Usage: required
> -		Value type: Integer cells. An array of range entries, expressed
> -			    as a tuple of cells, containing child address,
> -			    parent address and the size of the region in the
> -			    child address space.
> -		Definition: A standard property. Follow rules in the Devicetree
> -			    Specification for hierarchical bus addressing. CCI
> -			    interfaces addresses refer to the parent node
> -			    addressing scheme to declare their register bases.
> -
> -	CCI interconnect node can define the following child nodes:
> -
> -	- CCI control interface nodes
> -
> -		Node name must be "slave-if".
> -		Parent node must be CCI interconnect node.
> -
> -		A CCI control interface node must contain the following
> -		properties:
> -
> -		- compatible
> -			Usage: required
> -			Value type: <string>
> -			Definition: must be set to
> -				    "arm,cci-400-ctrl-if"
> -
> -		- interface-type:
> -			Usage: required
> -			Value type: <string>
> -			Definition: must be set to one of {"ace", "ace-lite"}
> -				    depending on the interface type the node
> -				    represents.
> -
> -		- reg:
> -			Usage: required
> -			Value type: Integer cells. A register entry, expressed
> -				    as a pair of cells, containing base and
> -				    size.
> -			Definition: the base address and size of the
> -				    corresponding interface programming
> -				    registers.
> -
> -	- CCI PMU node
> -
> -		Parent node must be CCI interconnect node.
> -
> -		A CCI pmu node must contain the following properties:
> -
> -		- compatible
> -			Usage: required
> -			Value type: <string>
> -			Definition: Must contain one of:
> -				 "arm,cci-400-pmu,r0"
> -				 "arm,cci-400-pmu,r1"
> -				 "arm,cci-400-pmu"  - DEPRECATED, permitted only where OS has
> -						      secure access to CCI registers
> -				 "arm,cci-500-pmu,r0"
> -				 "arm,cci-550-pmu,r0"
> -		- reg:
> -			Usage: required
> -			Value type: Integer cells. A register entry, expressed
> -				    as a pair of cells, containing base and
> -				    size.
> -			Definition: the base address and size of the
> -				    corresponding interface programming
> -				    registers.
> -
> -		- interrupts:
> -			Usage: required
> -			Value type: Integer cells. Array of interrupt specifier
> -				    entries, as defined in
> -				    ../interrupt-controller/interrupts.txt.
> -			Definition: list of counter overflow interrupts, one per
> -				    counter. The interrupts must be specified
> -				    starting with the cycle counter overflow
> -				    interrupt, followed by counter0 overflow
> -				    interrupt, counter1 overflow interrupt,...
> -				    ,counterN overflow interrupt.
> -
> -				    The CCI PMU has an interrupt signal for each
> -				    counter. The number of interrupts must be
> -				    equal to the number of counters.
> -
> -* CCI interconnect bus masters
> -
> -	Description: masters in the device tree connected to a CCI port
> -		     (inclusive of CPUs and their cpu nodes).
> -
> -	A CCI interconnect bus master node must contain the following
> -	properties:
> -
> -	- cci-control-port:
> -		Usage: required
> -		Value type: <phandle>
> -		Definition: a phandle containing the CCI control interface node
> -			    the master is connected to.
> -
> -Example:
> -
> -	cpus {
> -		#size-cells = <0>;
> -		#address-cells = <1>;
> -
> -		CPU0: cpu@0 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a15";
> -			cci-control-port = <&cci_control1>;
> -			reg = <0x0>;
> -		};
> -
> -		CPU1: cpu@1 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a15";
> -			cci-control-port = <&cci_control1>;
> -			reg = <0x1>;
> -		};
> -
> -		CPU2: cpu@100 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a7";
> -			cci-control-port = <&cci_control2>;
> -			reg = <0x100>;
> -		};
> -
> -		CPU3: cpu@101 {
> -			device_type = "cpu";
> -			compatible = "arm,cortex-a7";
> -			cci-control-port = <&cci_control2>;
> -			reg = <0x101>;
> -		};
> -
> -	};
> -
> -	dma0: dma@3000000 {
> -		compatible = "arm,pl330", "arm,primecell";
> -		cci-control-port = <&cci_control0>;
> -		reg = <0x0 0x3000000 0x0 0x1000>;
> -		interrupts = <10>;
> -		#dma-cells = <1>;
> -		#dma-channels = <8>;
> -		#dma-requests = <32>;
> -	};
> -
> -	cci@2c090000 {
> -		compatible = "arm,cci-400";
> -		#address-cells = <1>;
> -		#size-cells = <1>;
> -		reg = <0x0 0x2c090000 0 0x1000>;
> -		ranges = <0x0 0x0 0x2c090000 0x10000>;
> -
> -		cci_control0: slave-if@1000 {
> -			compatible = "arm,cci-400-ctrl-if";
> -			interface-type = "ace-lite";
> -			reg = <0x1000 0x1000>;
> -		};
> -
> -		cci_control1: slave-if@4000 {
> -			compatible = "arm,cci-400-ctrl-if";
> -			interface-type = "ace";
> -			reg = <0x4000 0x1000>;
> -		};
> -
> -		cci_control2: slave-if@5000 {
> -			compatible = "arm,cci-400-ctrl-if";
> -			interface-type = "ace";
> -			reg = <0x5000 0x1000>;
> -		};
> -
> -		pmu@9000 {
> -			 compatible = "arm,cci-400-pmu";
> -			 reg = <0x9000 0x5000>;
> -			 interrupts = <0 101 4>,
> -				      <0 102 4>,
> -				      <0 103 4>,
> -				      <0 104 4>,
> -				      <0 105 4>;
> -		};
> -	};
> -
> -This CCI node corresponds to a CCI component whose control registers sits
> -at address 0x000000002c090000.
> -CCI slave interface @0x000000002c091000 is connected to dma controller dma0.
> -CCI slave interface @0x000000002c094000 is connected to CPUs {CPU0, CPU1};
> -CCI slave interface @0x000000002c095000 is connected to CPUs {CPU2, CPU3};
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
  2021-07-21 14:03   ` Maxime Ripard
  (?)
@ 2021-07-22  2:29     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:29 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, dri-devel, Laurent Pinchart,
	Sam Ravnborg, Thierry Reding

On Wed, Jul 21, 2021 at 04:03:40PM +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> index 49460c9dceea..d1513111eb48 100644
> --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> @@ -31,12 +31,18 @@ allOf:
>  
>  properties:
>    compatible:
> -    contains:
> -      const: panel-lvds
> -    description:
> -      Shall contain "panel-lvds" in addition to a mandatory panel-specific
> -      compatible string defined in individual panel bindings. The "panel-lvds"
> -      value shall never be used on its own.
> +    items:
> +      - enum:
> +          - advantech,idk-1110wr

At least this one is documented elsewhere. You can add 'minItems: 2' if 
you want to just enforce having 2 compatibles. Or do:

items:
  - {}
  - const: panel-lvds

Which also enforces the order.

> +          - advantech,idk-2121wr
> +          - auo,b101ew05
> +          - innolux,ee101ia-01d
> +          - mitsubishi,aa104xd12
> +          - mitsubishi,aa121td01
> +          - sgd,gktw70sdae4se
> +          - sharp,lq150x1lg11
> +          - tbs,a711-panel
> +      - const: panel-lvds
>  
>    data-mapping:
>      enum:
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-22  2:29     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:29 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, dri-devel, Laurent Pinchart,
	Sam Ravnborg, Thierry Reding

On Wed, Jul 21, 2021 at 04:03:40PM +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> index 49460c9dceea..d1513111eb48 100644
> --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> @@ -31,12 +31,18 @@ allOf:
>  
>  properties:
>    compatible:
> -    contains:
> -      const: panel-lvds
> -    description:
> -      Shall contain "panel-lvds" in addition to a mandatory panel-specific
> -      compatible string defined in individual panel bindings. The "panel-lvds"
> -      value shall never be used on its own.
> +    items:
> +      - enum:
> +          - advantech,idk-1110wr

At least this one is documented elsewhere. You can add 'minItems: 2' if 
you want to just enforce having 2 compatibles. Or do:

items:
  - {}
  - const: panel-lvds

Which also enforces the order.

> +          - advantech,idk-2121wr
> +          - auo,b101ew05
> +          - innolux,ee101ia-01d
> +          - mitsubishi,aa104xd12
> +          - mitsubishi,aa121td01
> +          - sgd,gktw70sdae4se
> +          - sharp,lq150x1lg11
> +          - tbs,a711-panel
> +      - const: panel-lvds
>  
>    data-mapping:
>      enum:
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 10/54] dt-bindings: display: panel-lvds: Document panel compatibles
@ 2021-07-22  2:29     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-22  2:29 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, Sam Ravnborg, linux-sunxi, dri-devel,
	Chen-Yu Tsai, Thierry Reding, Laurent Pinchart, Frank Rowand,
	linux-arm-kernel

On Wed, Jul 21, 2021 at 04:03:40PM +0200, Maxime Ripard wrote:
> The binding mentions that all the drivers using that driver must use a
> vendor-specific compatible but never enforces it, nor documents the
> vendor-specific compatibles.
> 
> Let's make we document all of them, and that the binding will create an
> error if we add one that isn't.
> 
> Cc: dri-devel@lists.freedesktop.org
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/display/panel/lvds.yaml           | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/lvds.yaml b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> index 49460c9dceea..d1513111eb48 100644
> --- a/Documentation/devicetree/bindings/display/panel/lvds.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/lvds.yaml
> @@ -31,12 +31,18 @@ allOf:
>  
>  properties:
>    compatible:
> -    contains:
> -      const: panel-lvds
> -    description:
> -      Shall contain "panel-lvds" in addition to a mandatory panel-specific
> -      compatible string defined in individual panel bindings. The "panel-lvds"
> -      value shall never be used on its own.
> +    items:
> +      - enum:
> +          - advantech,idk-1110wr

At least this one is documented elsewhere. You can add 'minItems: 2' if 
you want to just enforce having 2 compatibles. Or do:

items:
  - {}
  - const: panel-lvds

Which also enforces the order.

> +          - advantech,idk-2121wr
> +          - auo,b101ew05
> +          - innolux,ee101ia-01d
> +          - mitsubishi,aa104xd12
> +          - mitsubishi,aa121td01
> +          - sgd,gktw70sdae4se
> +          - sharp,lq150x1lg11
> +          - tbs,a711-panel
> +      - const: panel-lvds
>  
>    data-mapping:
>      enum:
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
  (?)
@ 2021-07-22  5:35     ` Samuel Holland
  -1 siblings, 0 replies; 276+ messages in thread
From: Samuel Holland @ 2021-07-22  5:35 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood, Mark Brown

On 7/21/21 9:03 AM, Maxime Ripard wrote:
> Bluetooth SCO Link are supported by Linux with a matching device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> The value expected for #sound-dai-cells wasn't documented though, and
> the users were inconsistent. The example didn't list it, and across the
> 4 users we have in tree:
>   - 1 had a cells value of 1, but using only 0 as argument
>   - 1 had a cells value of 0,
>   - 2 didn't have this property at all, behaving as if it was 0,
> 
> It seems like the consensus seems to be that it should be 0, so let's
> enforce it.

The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
#sound-dai-cells is 0, only the first DAI can be referenced from a
device tree. So to declare support for wideband PCM, or explicitly
declare a lack of support for it, #sound-dai-cells must be 1.

Regards,
Samuel

> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Samuel Holland <samuel@sholland.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/sound/bt-sco.txt      | 13 -------
>  .../bindings/sound/linux,bt-sco.yaml          | 34 +++++++++++++++++++
>  2 files changed, 34 insertions(+), 13 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
> deleted file mode 100644
> index 641edf75e184..000000000000
> --- a/Documentation/devicetree/bindings/sound/bt-sco.txt
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -Bluetooth-SCO audio CODEC
> -
> -This device support generic Bluetooth SCO link.
> -
> -Required properties:
> -
> -  - compatible : "delta,dfbmcs320" or "linux,bt-sco"
> -
> -Example:
> -
> -codec: bt_sco {
> -	compatible = "delta,dfbmcs320";
> -};
> diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> new file mode 100644
> index 000000000000..334b508205cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bluetooth SCO Audio Codec Device Tree Bindings
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>
> +
> +properties:
> +  '#sound-dai-cells':
> +    const: 0
> +
> +  compatible:
> +    enum:
> +      - delta,dfbmcs320
> +      - linux,bt-sco
> +
> +required:
> +  - '#sound-dai-cells'
> +  - compatible
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    codec {
> +        #sound-dai-cells = <0>;
> +        compatible = "linux,bt-sco";
> +    };
> +
> +...
> 


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
@ 2021-07-22  5:35     ` Samuel Holland
  0 siblings, 0 replies; 276+ messages in thread
From: Samuel Holland @ 2021-07-22  5:35 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-sunxi, Mark Brown, alsa-devel, linux-arm-kernel, Liam Girdwood

On 7/21/21 9:03 AM, Maxime Ripard wrote:
> Bluetooth SCO Link are supported by Linux with a matching device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> The value expected for #sound-dai-cells wasn't documented though, and
> the users were inconsistent. The example didn't list it, and across the
> 4 users we have in tree:
>   - 1 had a cells value of 1, but using only 0 as argument
>   - 1 had a cells value of 0,
>   - 2 didn't have this property at all, behaving as if it was 0,
> 
> It seems like the consensus seems to be that it should be 0, so let's
> enforce it.

The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
#sound-dai-cells is 0, only the first DAI can be referenced from a
device tree. So to declare support for wideband PCM, or explicitly
declare a lack of support for it, #sound-dai-cells must be 1.

Regards,
Samuel

> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Samuel Holland <samuel@sholland.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/sound/bt-sco.txt      | 13 -------
>  .../bindings/sound/linux,bt-sco.yaml          | 34 +++++++++++++++++++
>  2 files changed, 34 insertions(+), 13 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
> deleted file mode 100644
> index 641edf75e184..000000000000
> --- a/Documentation/devicetree/bindings/sound/bt-sco.txt
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -Bluetooth-SCO audio CODEC
> -
> -This device support generic Bluetooth SCO link.
> -
> -Required properties:
> -
> -  - compatible : "delta,dfbmcs320" or "linux,bt-sco"
> -
> -Example:
> -
> -codec: bt_sco {
> -	compatible = "delta,dfbmcs320";
> -};
> diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> new file mode 100644
> index 000000000000..334b508205cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bluetooth SCO Audio Codec Device Tree Bindings
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>
> +
> +properties:
> +  '#sound-dai-cells':
> +    const: 0
> +
> +  compatible:
> +    enum:
> +      - delta,dfbmcs320
> +      - linux,bt-sco
> +
> +required:
> +  - '#sound-dai-cells'
> +  - compatible
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    codec {
> +        #sound-dai-cells = <0>;
> +        compatible = "linux,bt-sco";
> +    };
> +
> +...
> 


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
@ 2021-07-22  5:35     ` Samuel Holland
  0 siblings, 0 replies; 276+ messages in thread
From: Samuel Holland @ 2021-07-22  5:35 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood, Mark Brown

On 7/21/21 9:03 AM, Maxime Ripard wrote:
> Bluetooth SCO Link are supported by Linux with a matching device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> The value expected for #sound-dai-cells wasn't documented though, and
> the users were inconsistent. The example didn't list it, and across the
> 4 users we have in tree:
>   - 1 had a cells value of 1, but using only 0 as argument
>   - 1 had a cells value of 0,
>   - 2 didn't have this property at all, behaving as if it was 0,
> 
> It seems like the consensus seems to be that it should be 0, so let's
> enforce it.

The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
#sound-dai-cells is 0, only the first DAI can be referenced from a
device tree. So to declare support for wideband PCM, or explicitly
declare a lack of support for it, #sound-dai-cells must be 1.

Regards,
Samuel

> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Samuel Holland <samuel@sholland.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/sound/bt-sco.txt      | 13 -------
>  .../bindings/sound/linux,bt-sco.yaml          | 34 +++++++++++++++++++
>  2 files changed, 34 insertions(+), 13 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/bt-sco.txt b/Documentation/devicetree/bindings/sound/bt-sco.txt
> deleted file mode 100644
> index 641edf75e184..000000000000
> --- a/Documentation/devicetree/bindings/sound/bt-sco.txt
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -Bluetooth-SCO audio CODEC
> -
> -This device support generic Bluetooth SCO link.
> -
> -Required properties:
> -
> -  - compatible : "delta,dfbmcs320" or "linux,bt-sco"
> -
> -Example:
> -
> -codec: bt_sco {
> -	compatible = "delta,dfbmcs320";
> -};
> diff --git a/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> new file mode 100644
> index 000000000000..334b508205cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/linux,bt-sco.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/linux,bt-sco.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bluetooth SCO Audio Codec Device Tree Bindings
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>
> +
> +properties:
> +  '#sound-dai-cells':
> +    const: 0
> +
> +  compatible:
> +    enum:
> +      - delta,dfbmcs320
> +      - linux,bt-sco
> +
> +required:
> +  - '#sound-dai-cells'
> +  - compatible
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    codec {
> +        #sound-dai-cells = <0>;
> +        compatible = "linux,bt-sco";
> +    };
> +
> +...
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 52/54] arm64: dts: allwinner: Remove regulator-ramp-delay
  2021-07-21 14:04   ` Maxime Ripard
@ 2021-07-22  5:55     ` Samuel Holland
  -1 siblings, 0 replies; 276+ messages in thread
From: Samuel Holland @ 2021-07-22  5:55 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

On 7/21/21 9:04 AM, Maxime Ripard wrote:
> The regulator-ramp-delay property isn't documented in the binding for
> the AXP806, and it's ignored by the driver. Remove those properties.

This is a generic regulator property, parsed by
of_get_regulation_constraints, which is called by
regulator_of_get_init_data in the regulator core. And it appears in
bindings/regulator/regulator.yaml. I believe the binding needs to be
fixed, not the device trees.

Regards,
Samuel

> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 --
>  arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts  | 2 --
>  arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts    | 2 --
>  3 files changed, 6 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> index 6249e9e02928..a02644eebbe4 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> @@ -256,7 +256,6 @@ reg_dcdca: dcdca {
>  				regulator-always-on;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1160000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-cpu";
>  			};
>  
> @@ -264,7 +263,6 @@ reg_dcdcc: dcdcc {
>  				regulator-enable-ramp-delay = <32000>;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1080000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-gpu";
>  			};
>  
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
> index c45d7b7fb39a..69c0293aeb16 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
> @@ -262,7 +262,6 @@ reg_dcdca: dcdca {
>  				regulator-always-on;
>  				regulator-min-microvolt = <800000>;
>  				regulator-max-microvolt = <1160000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-cpu";
>  			};
>  
> @@ -270,7 +269,6 @@ reg_dcdcc: dcdcc {
>  				regulator-enable-ramp-delay = <32000>;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1080000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-gpu";
>  			};
>  
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
> index 1ffd68f43f87..6a1ee4232675 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
> @@ -245,7 +245,6 @@ reg_dcdca: dcdca {
>  				regulator-always-on;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1160000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-cpu";
>  			};
>  
> @@ -253,7 +252,6 @@ reg_dcdcc: dcdcc {
>  				regulator-enable-ramp-delay = <32000>;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1080000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-gpu";
>  			};
>  
> 


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 52/54] arm64: dts: allwinner: Remove regulator-ramp-delay
@ 2021-07-22  5:55     ` Samuel Holland
  0 siblings, 0 replies; 276+ messages in thread
From: Samuel Holland @ 2021-07-22  5:55 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Rob Herring, Frank Rowand
  Cc: linux-arm-kernel, linux-sunxi

On 7/21/21 9:04 AM, Maxime Ripard wrote:
> The regulator-ramp-delay property isn't documented in the binding for
> the AXP806, and it's ignored by the driver. Remove those properties.

This is a generic regulator property, parsed by
of_get_regulation_constraints, which is called by
regulator_of_get_init_data in the regulator core. And it appears in
bindings/regulator/regulator.yaml. I believe the binding needs to be
fixed, not the device trees.

Regards,
Samuel

> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 --
>  arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts  | 2 --
>  arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts    | 2 --
>  3 files changed, 6 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> index 6249e9e02928..a02644eebbe4 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-beelink-gs1.dts
> @@ -256,7 +256,6 @@ reg_dcdca: dcdca {
>  				regulator-always-on;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1160000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-cpu";
>  			};
>  
> @@ -264,7 +263,6 @@ reg_dcdcc: dcdcc {
>  				regulator-enable-ramp-delay = <32000>;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1080000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-gpu";
>  			};
>  
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
> index c45d7b7fb39a..69c0293aeb16 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
> @@ -262,7 +262,6 @@ reg_dcdca: dcdca {
>  				regulator-always-on;
>  				regulator-min-microvolt = <800000>;
>  				regulator-max-microvolt = <1160000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-cpu";
>  			};
>  
> @@ -270,7 +269,6 @@ reg_dcdcc: dcdcc {
>  				regulator-enable-ramp-delay = <32000>;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1080000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-gpu";
>  			};
>  
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
> index 1ffd68f43f87..6a1ee4232675 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
> @@ -245,7 +245,6 @@ reg_dcdca: dcdca {
>  				regulator-always-on;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1160000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-cpu";
>  			};
>  
> @@ -253,7 +252,6 @@ reg_dcdcc: dcdcc {
>  				regulator-enable-ramp-delay = <32000>;
>  				regulator-min-microvolt = <810000>;
>  				regulator-max-microvolt = <1080000>;
> -				regulator-ramp-delay = <2500>;
>  				regulator-name = "vdd-gpu";
>  			};
>  
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
  2021-07-22  5:35     ` Samuel Holland
  (?)
@ 2021-07-22  7:58       ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  7:58 UTC (permalink / raw)
  To: Samuel Holland
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi, alsa-devel,
	Liam Girdwood, Mark Brown

Hi Samuel,

On Thu, Jul 22, 2021 at 12:35:33AM -0500, Samuel Holland wrote:
> On 7/21/21 9:03 AM, Maxime Ripard wrote:
> > Bluetooth SCO Link are supported by Linux with a matching device tree
> > binding.
> > 
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> > 
> > The value expected for #sound-dai-cells wasn't documented though, and
> > the users were inconsistent. The example didn't list it, and across the
> > 4 users we have in tree:
> >   - 1 had a cells value of 1, but using only 0 as argument
> >   - 1 had a cells value of 0,
> >   - 2 didn't have this property at all, behaving as if it was 0,
> > 
> > It seems like the consensus seems to be that it should be 0, so let's
> > enforce it.
> 
> The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
> #sound-dai-cells is 0, only the first DAI can be referenced from a
> device tree. So to declare support for wideband PCM, or explicitly
> declare a lack of support for it, #sound-dai-cells must be 1.

Yeah, I knew there was something else to it :)

I'll fix it for the next iteration.

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
@ 2021-07-22  7:58       ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  7:58 UTC (permalink / raw)
  To: Samuel Holland
  Cc: devicetree, Jernej Skrabec, alsa-devel, Mark Brown, linux-sunxi,
	Liam Girdwood, Chen-Yu Tsai, Rob Herring, Frank Rowand,
	linux-arm-kernel

Hi Samuel,

On Thu, Jul 22, 2021 at 12:35:33AM -0500, Samuel Holland wrote:
> On 7/21/21 9:03 AM, Maxime Ripard wrote:
> > Bluetooth SCO Link are supported by Linux with a matching device tree
> > binding.
> > 
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> > 
> > The value expected for #sound-dai-cells wasn't documented though, and
> > the users were inconsistent. The example didn't list it, and across the
> > 4 users we have in tree:
> >   - 1 had a cells value of 1, but using only 0 as argument
> >   - 1 had a cells value of 0,
> >   - 2 didn't have this property at all, behaving as if it was 0,
> > 
> > It seems like the consensus seems to be that it should be 0, so let's
> > enforce it.
> 
> The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
> #sound-dai-cells is 0, only the first DAI can be referenced from a
> device tree. So to declare support for wideband PCM, or explicitly
> declare a lack of support for it, #sound-dai-cells must be 1.

Yeah, I knew there was something else to it :)

I'll fix it for the next iteration.

Thanks!
Maxime

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 02/54] ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema
@ 2021-07-22  7:58       ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  7:58 UTC (permalink / raw)
  To: Samuel Holland
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi, alsa-devel,
	Liam Girdwood, Mark Brown

Hi Samuel,

On Thu, Jul 22, 2021 at 12:35:33AM -0500, Samuel Holland wrote:
> On 7/21/21 9:03 AM, Maxime Ripard wrote:
> > Bluetooth SCO Link are supported by Linux with a matching device tree
> > binding.
> > 
> > Now that we have the DT validation in place, let's convert the device
> > tree bindings for that driver over to a YAML schema.
> > 
> > The value expected for #sound-dai-cells wasn't documented though, and
> > the users were inconsistent. The example didn't list it, and across the
> > 4 users we have in tree:
> >   - 1 had a cells value of 1, but using only 0 as argument
> >   - 1 had a cells value of 0,
> >   - 2 didn't have this property at all, behaving as if it was 0,
> > 
> > It seems like the consensus seems to be that it should be 0, so let's
> > enforce it.
> 
> The driver has two DAIs: "bt-sco-pcm" and "bt-sco-pcm-wb". If
> #sound-dai-cells is 0, only the first DAI can be referenced from a
> device tree. So to declare support for wideband PCM, or explicitly
> declare a lack of support for it, #sound-dai-cells must be 1.

Yeah, I knew there was something else to it :)

I'll fix it for the next iteration.

Thanks!
Maxime

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 52/54] arm64: dts: allwinner: Remove regulator-ramp-delay
  2021-07-22  5:55     ` Samuel Holland
@ 2021-07-22  8:16       ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  8:16 UTC (permalink / raw)
  To: Samuel Holland
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi

On Thu, Jul 22, 2021 at 12:55:53AM -0500, Samuel Holland wrote:
> On 7/21/21 9:04 AM, Maxime Ripard wrote:
> > The regulator-ramp-delay property isn't documented in the binding for
> > the AXP806, and it's ignored by the driver. Remove those properties.
> 
> This is a generic regulator property, parsed by
> of_get_regulation_constraints, which is called by
> regulator_of_get_init_data in the regulator core. And it appears in
> bindings/regulator/regulator.yaml. I believe the binding needs to be
> fixed, not the device trees.

It's indeed parsed by the regulator framework, but then it calls into
the driver if that property is set using set_ramp_delay if it's set.

https://elixir.bootlin.com/linux/latest/source/drivers/regulator/core.c#L1378

We don't set that hook for the AXP806 DCDC-A and DCDC-E regulators (that
use AXP_DESC_RANGES) at all:

https://elixir.bootlin.com/linux/latest/source/drivers/regulator/axp20x-regulator.c#L343

And the only implementation we have (set for AXP_DESC and AXP_DESC_IO)
works only for the AXP209:

https://elixir.bootlin.com/linux/latest/source/drivers/regulator/axp20x-regulator.c#L368

So, it just looks like those properties have never been tested since
they were just ignored.

Maxime

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 52/54] arm64: dts: allwinner: Remove regulator-ramp-delay
@ 2021-07-22  8:16       ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  8:16 UTC (permalink / raw)
  To: Samuel Holland
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi

On Thu, Jul 22, 2021 at 12:55:53AM -0500, Samuel Holland wrote:
> On 7/21/21 9:04 AM, Maxime Ripard wrote:
> > The regulator-ramp-delay property isn't documented in the binding for
> > the AXP806, and it's ignored by the driver. Remove those properties.
> 
> This is a generic regulator property, parsed by
> of_get_regulation_constraints, which is called by
> regulator_of_get_init_data in the regulator core. And it appears in
> bindings/regulator/regulator.yaml. I believe the binding needs to be
> fixed, not the device trees.

It's indeed parsed by the regulator framework, but then it calls into
the driver if that property is set using set_ramp_delay if it's set.

https://elixir.bootlin.com/linux/latest/source/drivers/regulator/core.c#L1378

We don't set that hook for the AXP806 DCDC-A and DCDC-E regulators (that
use AXP_DESC_RANGES) at all:

https://elixir.bootlin.com/linux/latest/source/drivers/regulator/axp20x-regulator.c#L343

And the only implementation we have (set for AXP_DESC and AXP_DESC_IO)
works only for the AXP209:

https://elixir.bootlin.com/linux/latest/source/drivers/regulator/axp20x-regulator.c#L368

So, it just looks like those properties have never been tested since
they were just ignored.

Maxime

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-22  9:20     ` Jonathan Cameron
  -1 siblings, 0 replies; 276+ messages in thread
From: Jonathan Cameron @ 2021-07-22  9:20 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi, Guenter Roeck,
	Jean Delvare, Jonathan Cameron, linux-hwmon

On Wed, 21 Jul 2021 16:03:44 +0200
Maxime Ripard <maxime@cerno.tech> wrote:

> Even though we had the iio-hwmon driver for some time and a number of
> boards using it already, we never had a binding for it. Let's add it
> based on what the driver expects and the boards are providing.
> 
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Jean Delvare <jdelvare@suse.com>
> Cc: Jonathan Cameron <jic23@kernel.org>
> Cc: linux-hwmon@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> 
> diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> new file mode 100644
> index 000000000000..49dd40f663a6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> @@ -0,0 +1,37 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: ADC-attached Hardware Sensor Device Tree Bindings
> +
> +maintainers:
> +  - Jonathan Cameron <jic23@kernel.org>

I'd like to share the blame for this one.  Binding was originally added
by Guenter.

https://lore.kernel.org/linux-iio/1359668588-13678-4-git-send-email-linux@roeck-us.net/
https://lore.kernel.org/linux-iio/1359668588-13678-11-git-send-email-linux@roeck-us.net/
:)

As bindings go this one has always been controversial because
it's mapping between linux subsystems rather than really describing
hardware.  We've had various discussions over the years on how to do
this differently, but perhaps just documenting the current state is the
way to go.  That doesn't stop us moving to something better in the
future.

> +
> +description: >
> +  Bindings for hardware monitoring devices connected to ADC controllers
> +  supporting the Industrial I/O bindings.
> +
> +properties:
> +  compatible:
> +    const: iio-hwmon
> +
> +  io-channels:
> +    minItems: 1
> +    maxItems: 1024

Why 1024?

> +    description: >
> +      List of phandles to ADC channels to read the monitoring values
> +
> +required:
> +  - compatible
> +  - io-channels
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +      iio-hwmon {
> +          compatible = "iio-hwmon";
> +          io-channels = <&adc 1>, <&adc 2>;
> +      };


^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
@ 2021-07-22  9:20     ` Jonathan Cameron
  0 siblings, 0 replies; 276+ messages in thread
From: Jonathan Cameron @ 2021-07-22  9:20 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi, Guenter Roeck,
	Jean Delvare, Jonathan Cameron, linux-hwmon

On Wed, 21 Jul 2021 16:03:44 +0200
Maxime Ripard <maxime@cerno.tech> wrote:

> Even though we had the iio-hwmon driver for some time and a number of
> boards using it already, we never had a binding for it. Let's add it
> based on what the driver expects and the boards are providing.
> 
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Jean Delvare <jdelvare@suse.com>
> Cc: Jonathan Cameron <jic23@kernel.org>
> Cc: linux-hwmon@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> 
> diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> new file mode 100644
> index 000000000000..49dd40f663a6
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> @@ -0,0 +1,37 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: ADC-attached Hardware Sensor Device Tree Bindings
> +
> +maintainers:
> +  - Jonathan Cameron <jic23@kernel.org>

I'd like to share the blame for this one.  Binding was originally added
by Guenter.

https://lore.kernel.org/linux-iio/1359668588-13678-4-git-send-email-linux@roeck-us.net/
https://lore.kernel.org/linux-iio/1359668588-13678-11-git-send-email-linux@roeck-us.net/
:)

As bindings go this one has always been controversial because
it's mapping between linux subsystems rather than really describing
hardware.  We've had various discussions over the years on how to do
this differently, but perhaps just documenting the current state is the
way to go.  That doesn't stop us moving to something better in the
future.

> +
> +description: >
> +  Bindings for hardware monitoring devices connected to ADC controllers
> +  supporting the Industrial I/O bindings.
> +
> +properties:
> +  compatible:
> +    const: iio-hwmon
> +
> +  io-channels:
> +    minItems: 1
> +    maxItems: 1024

Why 1024?

> +    description: >
> +      List of phandles to ADC channels to read the monitoring values
> +
> +required:
> +  - compatible
> +  - io-channels
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +      iio-hwmon {
> +          compatible = "iio-hwmon";
> +          io-channels = <&adc 1>, <&adc 2>;
> +      };


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
  2021-07-22  9:20     ` Jonathan Cameron
@ 2021-07-22  9:34       ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  9:34 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi, Guenter Roeck,
	Jean Delvare, Jonathan Cameron, linux-hwmon

Hi Jonathan,

On Thu, Jul 22, 2021 at 10:20:27AM +0100, Jonathan Cameron wrote:
> On Wed, 21 Jul 2021 16:03:44 +0200
> Maxime Ripard <maxime@cerno.tech> wrote:
> 
> > Even though we had the iio-hwmon driver for some time and a number of
> > boards using it already, we never had a binding for it. Let's add it
> > based on what the driver expects and the boards are providing.
> > 
> > Cc: Guenter Roeck <linux@roeck-us.net>
> > Cc: Jean Delvare <jdelvare@suse.com>
> > Cc: Jonathan Cameron <jic23@kernel.org>
> > Cc: linux-hwmon@vger.kernel.org
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > ---
> >  .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > new file mode 100644
> > index 000000000000..49dd40f663a6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > @@ -0,0 +1,37 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
> > +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> > +
> > +title: ADC-attached Hardware Sensor Device Tree Bindings
> > +
> > +maintainers:
> > +  - Jonathan Cameron <jic23@kernel.org>
> 
> I'd like to share the blame for this one.  Binding was originally added
> by Guenter.
> 
> https://lore.kernel.org/linux-iio/1359668588-13678-4-git-send-email-linux@roeck-us.net/
> https://lore.kernel.org/linux-iio/1359668588-13678-11-git-send-email-linux@roeck-us.net/
> :)
> 
> As bindings go this one has always been controversial because
> it's mapping between linux subsystems rather than really describing
> hardware.  We've had various discussions over the years on how to do
> this differently, but perhaps just documenting the current state is the
> way to go.  That doesn't stop us moving to something better in the
> future.

There's DT using it already, so I guess it's a bit too late to have that
discussion indeed :)

> > +
> > +description: >
> > +  Bindings for hardware monitoring devices connected to ADC controllers
> > +  supporting the Industrial I/O bindings.
> > +
> > +properties:
> > +  compatible:
> > +    const: iio-hwmon
> > +
> > +  io-channels:
> > +    minItems: 1
> > +    maxItems: 1024
> 
> Why 1024?

Ought to be enough for anyone :)

We have to set a maximum and I couldn't find any actual maximum
documented, if you prefer another value let me know

Maxime

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
@ 2021-07-22  9:34       ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  9:34 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-arm-kernel, linux-sunxi, Guenter Roeck,
	Jean Delvare, Jonathan Cameron, linux-hwmon

Hi Jonathan,

On Thu, Jul 22, 2021 at 10:20:27AM +0100, Jonathan Cameron wrote:
> On Wed, 21 Jul 2021 16:03:44 +0200
> Maxime Ripard <maxime@cerno.tech> wrote:
> 
> > Even though we had the iio-hwmon driver for some time and a number of
> > boards using it already, we never had a binding for it. Let's add it
> > based on what the driver expects and the boards are providing.
> > 
> > Cc: Guenter Roeck <linux@roeck-us.net>
> > Cc: Jean Delvare <jdelvare@suse.com>
> > Cc: Jonathan Cameron <jic23@kernel.org>
> > Cc: linux-hwmon@vger.kernel.org
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > ---
> >  .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > new file mode 100644
> > index 000000000000..49dd40f663a6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > @@ -0,0 +1,37 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
> > +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> > +
> > +title: ADC-attached Hardware Sensor Device Tree Bindings
> > +
> > +maintainers:
> > +  - Jonathan Cameron <jic23@kernel.org>
> 
> I'd like to share the blame for this one.  Binding was originally added
> by Guenter.
> 
> https://lore.kernel.org/linux-iio/1359668588-13678-4-git-send-email-linux@roeck-us.net/
> https://lore.kernel.org/linux-iio/1359668588-13678-11-git-send-email-linux@roeck-us.net/
> :)
> 
> As bindings go this one has always been controversial because
> it's mapping between linux subsystems rather than really describing
> hardware.  We've had various discussions over the years on how to do
> this differently, but perhaps just documenting the current state is the
> way to go.  That doesn't stop us moving to something better in the
> future.

There's DT using it already, so I guess it's a bit too late to have that
discussion indeed :)

> > +
> > +description: >
> > +  Bindings for hardware monitoring devices connected to ADC controllers
> > +  supporting the Industrial I/O bindings.
> > +
> > +properties:
> > +  compatible:
> > +    const: iio-hwmon
> > +
> > +  io-channels:
> > +    minItems: 1
> > +    maxItems: 1024
> 
> Why 1024?

Ought to be enough for anyone :)

We have to set a maximum and I couldn't find any actual maximum
documented, if you prefer another value let me know

Maxime

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
  2021-07-21 14:16     ` Sam Ravnborg
  (?)
@ 2021-07-22  9:44       ` Maxime Ripard
  -1 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  9:44 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-sunxi, dri-devel, linux-arm-kernel,
	Laurent Pinchart

[-- Attachment #1: Type: text/plain, Size: 487 bytes --]

On Wed, Jul 21, 2021 at 04:16:13PM +0200, Sam Ravnborg wrote:
> On Wed, Jul 21, 2021 at 04:03:41PM +0200, Maxime Ripard wrote:
> > The corpro,gm7123 was in use in a DT but was never properly documented,
> > let's add it.
> > 
> > Cc: dri-devel@lists.freedesktop.org
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Applied to drm-misc-next, thanks!
Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
@ 2021-07-22  9:44       ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  9:44 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Rob Herring,
	Frank Rowand, linux-sunxi, dri-devel, linux-arm-kernel,
	Laurent Pinchart


[-- Attachment #1.1: Type: text/plain, Size: 487 bytes --]

On Wed, Jul 21, 2021 at 04:16:13PM +0200, Sam Ravnborg wrote:
> On Wed, Jul 21, 2021 at 04:03:41PM +0200, Maxime Ripard wrote:
> > The corpro,gm7123 was in use in a DT but was never properly documented,
> > let's add it.
> > 
> > Cc: dri-devel@lists.freedesktop.org
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Applied to drm-misc-next, thanks!
Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 11/54] dt-bindings: display: simple-bridge: Add corpro, gm7123 compatible
@ 2021-07-22  9:44       ` Maxime Ripard
  0 siblings, 0 replies; 276+ messages in thread
From: Maxime Ripard @ 2021-07-22  9:44 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: devicetree, Jernej Skrabec, linux-sunxi, dri-devel, Chen-Yu Tsai,
	Rob Herring, Laurent Pinchart, Frank Rowand, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 487 bytes --]

On Wed, Jul 21, 2021 at 04:16:13PM +0200, Sam Ravnborg wrote:
> On Wed, Jul 21, 2021 at 04:03:41PM +0200, Maxime Ripard wrote:
> > The corpro,gm7123 was in use in a DT but was never properly documented,
> > let's add it.
> > 
> > Cc: dri-devel@lists.freedesktop.org
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Applied to drm-misc-next, thanks!
Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 01/54] ASoC: dt-bindings: Add WM8978 Binding
  2021-07-21 14:03   ` Maxime Ripard
  (?)
@ 2021-07-23 21:32     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:32 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood,
	Mark Brown

On Wed, Jul 21, 2021 at 04:03:31PM +0200, Maxime Ripard wrote:
> Even though we had the wm8978 driver for some time and a number of
> boards using it already, we never had a binding for it. Let's add it
> based on what the driver expects and the boards are providing.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> new file mode 100644
> index 000000000000..6761380261e3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Wolfson WM8978 Codec Device Tree Bindings
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>

No one from Wolfson cares about this device?

Otherwise,

Reviewed-by: Rob Herring <robh@kernel.org>

> +
> +properties:
> +  '#sound-dai-cells':
> +    const: 0
> +
> +  compatible:
> +    const: wlf,wm8978
> +
> +  reg:
> +    maxItems: 1
> +
> +  spi-max-frequency:
> +    maximum: 526000
> +
> +required:
> +  - '#sound-dai-cells'
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@0 {
> +            #sound-dai-cells = <0>;
> +            compatible = "wlf,wm8978";
> +            reg = <0>;
> +            spi-max-frequency = <500000>;
> +        };
> +    };
> +
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@0 {
> +            #sound-dai-cells = <0>;
> +            compatible = "wlf,wm8978";
> +            reg = <0>;
> +        };
> +    };
> +
> +...
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 01/54] ASoC: dt-bindings: Add WM8978 Binding
@ 2021-07-23 21:32     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:32 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, alsa-devel, linux-sunxi,
	Liam Girdwood, Chen-Yu Tsai, Mark Brown, Frank Rowand,
	linux-arm-kernel

On Wed, Jul 21, 2021 at 04:03:31PM +0200, Maxime Ripard wrote:
> Even though we had the wm8978 driver for some time and a number of
> boards using it already, we never had a binding for it. Let's add it
> based on what the driver expects and the boards are providing.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> new file mode 100644
> index 000000000000..6761380261e3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Wolfson WM8978 Codec Device Tree Bindings
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>

No one from Wolfson cares about this device?

Otherwise,

Reviewed-by: Rob Herring <robh@kernel.org>

> +
> +properties:
> +  '#sound-dai-cells':
> +    const: 0
> +
> +  compatible:
> +    const: wlf,wm8978
> +
> +  reg:
> +    maxItems: 1
> +
> +  spi-max-frequency:
> +    maximum: 526000
> +
> +required:
> +  - '#sound-dai-cells'
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@0 {
> +            #sound-dai-cells = <0>;
> +            compatible = "wlf,wm8978";
> +            reg = <0>;
> +            spi-max-frequency = <500000>;
> +        };
> +    };
> +
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@0 {
> +            #sound-dai-cells = <0>;
> +            compatible = "wlf,wm8978";
> +            reg = <0>;
> +        };
> +    };
> +
> +...
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 01/54] ASoC: dt-bindings: Add WM8978 Binding
@ 2021-07-23 21:32     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:32 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, alsa-devel, Liam Girdwood,
	Mark Brown

On Wed, Jul 21, 2021 at 04:03:31PM +0200, Maxime Ripard wrote:
> Even though we had the wm8978 driver for some time and a number of
> boards using it already, we never had a binding for it. Let's add it
> based on what the driver expects and the boards are providing.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: devicetree@vger.kernel.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 +++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> 
> diff --git a/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> new file mode 100644
> index 000000000000..6761380261e3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/sound/wlf,wm8978.yaml
> @@ -0,0 +1,58 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/sound/wlf,wm8978.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Wolfson WM8978 Codec Device Tree Bindings
> +
> +maintainers:
> +  - Mark Brown <broonie@kernel.org>

No one from Wolfson cares about this device?

Otherwise,

Reviewed-by: Rob Herring <robh@kernel.org>

> +
> +properties:
> +  '#sound-dai-cells':
> +    const: 0
> +
> +  compatible:
> +    const: wlf,wm8978
> +
> +  reg:
> +    maxItems: 1
> +
> +  spi-max-frequency:
> +    maximum: 526000
> +
> +required:
> +  - '#sound-dai-cells'
> +  - compatible
> +  - reg
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    spi {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@0 {
> +            #sound-dai-cells = <0>;
> +            compatible = "wlf,wm8978";
> +            reg = <0>;
> +            spi-max-frequency = <500000>;
> +        };
> +    };
> +
> +  - |
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@0 {
> +            #sound-dai-cells = <0>;
> +            compatible = "wlf,wm8978";
> +            reg = <0>;
> +        };
> +    };
> +
> +...
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 03/54] ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
  (?)
@ 2021-07-23 21:35     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:35 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-sunxi, Liam Girdwood, alsa-devel, Frank Rowand,
	linux-arm-kernel, Mark Brown, Chen-Yu Tsai, Jernej Skrabec,
	Rob Herring, devicetree

On Wed, 21 Jul 2021 16:03:33 +0200, Maxime Ripard wrote:
> The SPDIF Transmitter binding is used by Linux with a matching Device
> Tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/sound/linux,spdif-dit.yaml       | 32 +++++++++++++++++++
>  .../bindings/sound/spdif-transmitter.txt      | 10 ------
>  2 files changed, 32 insertions(+), 10 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
>  delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 03/54] ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
@ 2021-07-23 21:35     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:35 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Jernej Skrabec, alsa-devel, devicetree, Liam Girdwood,
	Rob Herring, linux-sunxi, Mark Brown, Chen-Yu Tsai, Frank Rowand,
	linux-arm-kernel

On Wed, 21 Jul 2021 16:03:33 +0200, Maxime Ripard wrote:
> The SPDIF Transmitter binding is used by Linux with a matching Device
> Tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/sound/linux,spdif-dit.yaml       | 32 +++++++++++++++++++
>  .../bindings/sound/spdif-transmitter.txt      | 10 ------
>  2 files changed, 32 insertions(+), 10 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
>  delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 03/54] ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema
@ 2021-07-23 21:35     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:35 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-sunxi, Liam Girdwood, alsa-devel, Frank Rowand,
	linux-arm-kernel, Mark Brown, Chen-Yu Tsai, Jernej Skrabec,
	Rob Herring, devicetree

On Wed, 21 Jul 2021 16:03:33 +0200, Maxime Ripard wrote:
> The SPDIF Transmitter binding is used by Linux with a matching Device
> Tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/sound/linux,spdif-dit.yaml       | 32 +++++++++++++++++++
>  .../bindings/sound/spdif-transmitter.txt      | 10 ------
>  2 files changed, 32 insertions(+), 10 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml
>  delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 04/54] ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
  (?)
@ 2021-07-23 21:36     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:36 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Rob Herring, devicetree, Liam Girdwood, Mark Brown, Chen-Yu Tsai,
	linux-arm-kernel, Jerome Brunet, linux-sunxi, Frank Rowand,
	alsa-devel, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:34 +0200, Maxime Ripard wrote:
> Simple audio amplifiers are supported by Linux with a matching device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: Jerome Brunet <jbrunet@baylibre.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/sound/simple-amplifier.txt       | 17 -------
>  .../sound/simple-audio-amplifier.yaml         | 45 +++++++++++++++++++
>  2 files changed, 45 insertions(+), 17 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 04/54] ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
@ 2021-07-23 21:36     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:36 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, alsa-devel, linux-sunxi, Jernej Skrabec,
	Liam Girdwood, Rob Herring, Chen-Yu Tsai, Mark Brown,
	Frank Rowand, linux-arm-kernel, Jerome Brunet

On Wed, 21 Jul 2021 16:03:34 +0200, Maxime Ripard wrote:
> Simple audio amplifiers are supported by Linux with a matching device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: Jerome Brunet <jbrunet@baylibre.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/sound/simple-amplifier.txt       | 17 -------
>  .../sound/simple-audio-amplifier.yaml         | 45 +++++++++++++++++++
>  2 files changed, 45 insertions(+), 17 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 04/54] ASoC: dt-bindings: Convert Simple Amplifier binding to a schema
@ 2021-07-23 21:36     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:36 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Rob Herring, devicetree, Liam Girdwood, Mark Brown, Chen-Yu Tsai,
	linux-arm-kernel, Jerome Brunet, linux-sunxi, Frank Rowand,
	alsa-devel, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:34 +0200, Maxime Ripard wrote:
> Simple audio amplifiers are supported by Linux with a matching device
> tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: alsa-devel@alsa-project.org
> Cc: Jerome Brunet <jbrunet@baylibre.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/sound/simple-amplifier.txt       | 17 -------
>  .../sound/simple-audio-amplifier.yaml         | 45 +++++++++++++++++++
>  2 files changed, 45 insertions(+), 17 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt
>  create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 07/54] dt-bindings: bluetooth: broadcom: Fix clocks check
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:38     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:38 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Frank Rowand, Linus Walleij, devicetree, Rob Herring,
	David S. Miller, Chen-Yu Tsai, Jernej Skrabec, linux-arm-kernel,
	netdev, Jakub Kicinski, linux-sunxi

On Wed, 21 Jul 2021 16:03:37 +0200, Maxime Ripard wrote:
> The original binding was mentioning that valid values for the clocks and
> clock-names property were one or two clocks from extclk, txco and lpo,
> with extclk being deprecated in favor of txco.
> 
> However, the current binding lists a valid array as extclk, txco and
> lpo, with either one or two items.
> 
> While this looks similar, it actually enforces that all the device trees
> use either ["extclk"], or ["extclk", "txco"]. That doesn't make much
> sense, since the two clocks are said to be equivalent, with one
> superseeding the other.
> 
> lpo is also not a valid clock anymore, and would be as the third clock
> of the list, while we could have only this clock in the previous binding
> (and in DTs).
> 
> Let's rework the clock clause to allow to have either:
> 
>  - extclk, and mark it a deprecated
>  - txco alone
>  - lpo alone
>  - txco, lpo
> 
> While ["extclk", "lpo"] wouldn't be valid, it wasn't found in any device
> tree so it's not an issue in practice.
> 
> Similarly, ["lpo", "txco"] is still considered invalid, but it's
> generally considered as a best practice to fix the order of clocks.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/net/broadcom-bluetooth.yaml        | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 07/54] dt-bindings: bluetooth: broadcom: Fix clocks check
@ 2021-07-23 21:38     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:38 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Frank Rowand, Linus Walleij, devicetree, Rob Herring,
	David S. Miller, Chen-Yu Tsai, Jernej Skrabec, linux-arm-kernel,
	netdev, Jakub Kicinski, linux-sunxi

On Wed, 21 Jul 2021 16:03:37 +0200, Maxime Ripard wrote:
> The original binding was mentioning that valid values for the clocks and
> clock-names property were one or two clocks from extclk, txco and lpo,
> with extclk being deprecated in favor of txco.
> 
> However, the current binding lists a valid array as extclk, txco and
> lpo, with either one or two items.
> 
> While this looks similar, it actually enforces that all the device trees
> use either ["extclk"], or ["extclk", "txco"]. That doesn't make much
> sense, since the two clocks are said to be equivalent, with one
> superseeding the other.
> 
> lpo is also not a valid clock anymore, and would be as the third clock
> of the list, while we could have only this clock in the previous binding
> (and in DTs).
> 
> Let's rework the clock clause to allow to have either:
> 
>  - extclk, and mark it a deprecated
>  - txco alone
>  - lpo alone
>  - txco, lpo
> 
> While ["extclk", "lpo"] wouldn't be valid, it wasn't found in any device
> tree so it's not an issue in practice.
> 
> Similarly, ["lpo", "txco"] is still considered invalid, but it's
> generally considered as a best practice to fix the order of clocks.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/net/broadcom-bluetooth.yaml        | 17 +++++++++++++++--
>  1 file changed, 15 insertions(+), 2 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 08/54] dt-bindings: bluetooth: realtek: Add missing max-speed
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:39     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:39 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: David S. Miller, netdev, Chen-Yu Tsai, Frank Rowand, linux-sunxi,
	Alistair Francis, devicetree, Vasily Khoruzhick,
	linux-arm-kernel, Jernej Skrabec, Rob Herring, Jakub Kicinski

On Wed, 21 Jul 2021 16:03:38 +0200, Maxime Ripard wrote:
> additionalProperties prevent any property not explicitly defined in the
> binding to be used. Yet, some serial properties like max-speed are valid
> and validated through the serial/serial.yaml binding.
> 
> Even though the ideal solution would be to use unevaluatedProperties
> instead, it's not pratical due to the way the bus bindings have been
> described. Let's add max-speed to remove the warning.
> 
> Cc: Alistair Francis <alistair@alistair23.me>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: netdev@vger.kernel.org
> Cc: Vasily Khoruzhick <anarsoul@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 08/54] dt-bindings: bluetooth: realtek: Add missing max-speed
@ 2021-07-23 21:39     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:39 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: David S. Miller, netdev, Chen-Yu Tsai, Frank Rowand, linux-sunxi,
	Alistair Francis, devicetree, Vasily Khoruzhick,
	linux-arm-kernel, Jernej Skrabec, Rob Herring, Jakub Kicinski

On Wed, 21 Jul 2021 16:03:38 +0200, Maxime Ripard wrote:
> additionalProperties prevent any property not explicitly defined in the
> binding to be used. Yet, some serial properties like max-speed are valid
> and validated through the serial/serial.yaml binding.
> 
> Even though the ideal solution would be to use unevaluatedProperties
> instead, it's not pratical due to the way the bus bindings have been
> described. Let's add max-speed to remove the warning.
> 
> Cc: Alistair Francis <alistair@alistair23.me>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: netdev@vger.kernel.org
> Cc: Vasily Khoruzhick <anarsoul@gmail.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  Documentation/devicetree/bindings/net/realtek-bluetooth.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 09/54] dt-bindings: clocks: Fix typo in the H6 compatible
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:39     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:39 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, linux-sunxi, devicetree, Frank Rowand, Rob Herring,
	linux-arm-kernel, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:39 +0200, Maxime Ripard wrote:
> Even though both the driver and the device trees all use the
> allwinner,sun50i-h6-de3-clk, we documented the compatible as
> allwinner,sun50i-h6-de2-clk in the binding. Let's fix this.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 09/54] dt-bindings: clocks: Fix typo in the H6 compatible
@ 2021-07-23 21:39     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:39 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, linux-sunxi, devicetree, Frank Rowand, Rob Herring,
	linux-arm-kernel, Jernej Skrabec

On Wed, 21 Jul 2021 16:03:39 +0200, Maxime Ripard wrote:
> Even though both the driver and the device trees all use the
> allwinner,sun50i-h6-de3-clk, we documented the compatible as
> allwinner,sun50i-h6-de2-clk in the binding. Let's fix this.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 12/54] dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:42     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:42 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Johan Hovold

On Wed, Jul 21, 2021 at 04:03:42PM +0200, Maxime Ripard wrote:
> The UBlox Neo 6M is supported by Linux thanks to its device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Johan Hovold <johan@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/gnss/u-blox,neo-6m.yaml          | 62 +++++++++++++++++++
>  .../devicetree/bindings/gnss/u-blox.txt       | 45 --------------
>  2 files changed, 62 insertions(+), 45 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
>  delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt
> 
> diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> new file mode 100644
> index 000000000000..45b886ae0f45
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gnss/u-blox,neo-6m.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: U-blox GNSS Receiver Device Tree Bindings
> +
> +maintainers:
> +  - Johan Hovold <johan@kernel.org>
> +
> +description: >
> +  The U-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - u-blox,neo-6m
> +      - u-blox,neo-8
> +      - u-blox,neo-m8
> +
> +  reg:
> +    description: >
> +      The DDC Slave Address, SPI chip select address, the number of the USB hub
> +      port or the USB host-controller port to wich this device is attached,

s/wich/which/

> +      depending on the bus used. Required for the DDC, SPI or USB busses.
> +
> +  vcc-supply:
> +    description: >
> +      Main voltage regulator
> +
> +  timepulse-gpios:
> +    maxItems: 1
> +    description: >
> +      Time pulse GPIO
> +
> +  u-blox,extint-gpios:
> +    maxItems: 1
> +    description: >
> +      GPIO connected to the "external interrupt" input pin
> +  
> +  v-bckp-supply:
> +    description: >
> +      Backup voltage regulator
> +
> +  current-speed: true
> +
> +required:
> +  - compatible
> +  - vcc-supply
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    uart {

serial {

> +        gnss {
> +            compatible = "u-blox,neo-8";
> +            v-bckp-supply = <&gnss_v_bckp_reg>;
> +            vcc-supply = <&gnss_vcc_reg>;
> +        };
> +    };
> diff --git a/Documentation/devicetree/bindings/gnss/u-blox.txt b/Documentation/devicetree/bindings/gnss/u-blox.txt
> deleted file mode 100644
> index 7cdefd058fe0..000000000000
> --- a/Documentation/devicetree/bindings/gnss/u-blox.txt
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -u-blox GNSS Receiver DT binding
> -
> -The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
> -
> -Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
> -properties.
> -
> -Required properties:
> -
> -- compatible	: Must be one of
> -
> -			"u-blox,neo-6m"
> -			"u-blox,neo-8"
> -			"u-blox,neo-m8"
> -
> -- vcc-supply	: Main voltage regulator
> -
> -Required properties (DDC):
> -- reg		: DDC (I2C) slave address
> -
> -Required properties (SPI):
> -- reg		: SPI chip select address
> -
> -Required properties (USB):
> -- reg		: Number of the USB hub port or the USB host-controller port
> -                  to which this device is attached
> -
> -Optional properties:
> -
> -- timepulse-gpios	: Time pulse GPIO
> -- u-blox,extint-gpios	: GPIO connected to the "external interrupt" input pin
> -- v-bckp-supply	: Backup voltage regulator
> -
> -Example:
> -
> -serial@1234 {
> -	compatible = "ns16550a";
> -
> -	gnss {
> -		compatible = "u-blox,neo-8";
> -
> -		v-bckp-supply = <&gnss_v_bckp_reg>;
> -		vcc-supply = <&gnss_vcc_reg>;
> -	};
> -};
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 12/54] dt-bindings: gnss: Convert UBlox Neo-6M binding to a schema
@ 2021-07-23 21:42     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:42 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Johan Hovold

On Wed, Jul 21, 2021 at 04:03:42PM +0200, Maxime Ripard wrote:
> The UBlox Neo 6M is supported by Linux thanks to its device tree
> binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Johan Hovold <johan@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/gnss/u-blox,neo-6m.yaml          | 62 +++++++++++++++++++
>  .../devicetree/bindings/gnss/u-blox.txt       | 45 --------------
>  2 files changed, 62 insertions(+), 45 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
>  delete mode 100644 Documentation/devicetree/bindings/gnss/u-blox.txt
> 
> diff --git a/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> new file mode 100644
> index 000000000000..45b886ae0f45
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
> @@ -0,0 +1,62 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gnss/u-blox,neo-6m.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: U-blox GNSS Receiver Device Tree Bindings
> +
> +maintainers:
> +  - Johan Hovold <johan@kernel.org>
> +
> +description: >
> +  The U-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - u-blox,neo-6m
> +      - u-blox,neo-8
> +      - u-blox,neo-m8
> +
> +  reg:
> +    description: >
> +      The DDC Slave Address, SPI chip select address, the number of the USB hub
> +      port or the USB host-controller port to wich this device is attached,

s/wich/which/

> +      depending on the bus used. Required for the DDC, SPI or USB busses.
> +
> +  vcc-supply:
> +    description: >
> +      Main voltage regulator
> +
> +  timepulse-gpios:
> +    maxItems: 1
> +    description: >
> +      Time pulse GPIO
> +
> +  u-blox,extint-gpios:
> +    maxItems: 1
> +    description: >
> +      GPIO connected to the "external interrupt" input pin
> +  
> +  v-bckp-supply:
> +    description: >
> +      Backup voltage regulator
> +
> +  current-speed: true
> +
> +required:
> +  - compatible
> +  - vcc-supply
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    uart {

serial {

> +        gnss {
> +            compatible = "u-blox,neo-8";
> +            v-bckp-supply = <&gnss_v_bckp_reg>;
> +            vcc-supply = <&gnss_vcc_reg>;
> +        };
> +    };
> diff --git a/Documentation/devicetree/bindings/gnss/u-blox.txt b/Documentation/devicetree/bindings/gnss/u-blox.txt
> deleted file mode 100644
> index 7cdefd058fe0..000000000000
> --- a/Documentation/devicetree/bindings/gnss/u-blox.txt
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -u-blox GNSS Receiver DT binding
> -
> -The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
> -
> -Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
> -properties.
> -
> -Required properties:
> -
> -- compatible	: Must be one of
> -
> -			"u-blox,neo-6m"
> -			"u-blox,neo-8"
> -			"u-blox,neo-m8"
> -
> -- vcc-supply	: Main voltage regulator
> -
> -Required properties (DDC):
> -- reg		: DDC (I2C) slave address
> -
> -Required properties (SPI):
> -- reg		: SPI chip select address
> -
> -Required properties (USB):
> -- reg		: Number of the USB hub port or the USB host-controller port
> -                  to which this device is attached
> -
> -Optional properties:
> -
> -- timepulse-gpios	: Time pulse GPIO
> -- u-blox,extint-gpios	: GPIO connected to the "external interrupt" input pin
> -- v-bckp-supply	: Backup voltage regulator
> -
> -Example:
> -
> -serial@1234 {
> -	compatible = "ns16550a";
> -
> -	gnss {
> -		compatible = "u-blox,neo-8";
> -
> -		v-bckp-supply = <&gnss_v_bckp_reg>;
> -		vcc-supply = <&gnss_vcc_reg>;
> -	};
> -};
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
  2021-07-22  9:34       ` Maxime Ripard
@ 2021-07-23 21:44         ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:44 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Jonathan Cameron, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Frank Rowand, linux-arm-kernel, linux-sunxi, Guenter Roeck,
	Jean Delvare, Jonathan Cameron, linux-hwmon

On Thu, Jul 22, 2021 at 11:34:53AM +0200, Maxime Ripard wrote:
> Hi Jonathan,
> 
> On Thu, Jul 22, 2021 at 10:20:27AM +0100, Jonathan Cameron wrote:
> > On Wed, 21 Jul 2021 16:03:44 +0200
> > Maxime Ripard <maxime@cerno.tech> wrote:
> > 
> > > Even though we had the iio-hwmon driver for some time and a number of
> > > boards using it already, we never had a binding for it. Let's add it
> > > based on what the driver expects and the boards are providing.
> > > 
> > > Cc: Guenter Roeck <linux@roeck-us.net>
> > > Cc: Jean Delvare <jdelvare@suse.com>
> > > Cc: Jonathan Cameron <jic23@kernel.org>
> > > Cc: linux-hwmon@vger.kernel.org
> > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > ---
> > >  .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
> > >  1 file changed, 37 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > > new file mode 100644
> > > index 000000000000..49dd40f663a6
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > > @@ -0,0 +1,37 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
> > > +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> > > +
> > > +title: ADC-attached Hardware Sensor Device Tree Bindings
> > > +
> > > +maintainers:
> > > +  - Jonathan Cameron <jic23@kernel.org>
> > 
> > I'd like to share the blame for this one.  Binding was originally added
> > by Guenter.
> > 
> > https://lore.kernel.org/linux-iio/1359668588-13678-4-git-send-email-linux@roeck-us.net/
> > https://lore.kernel.org/linux-iio/1359668588-13678-11-git-send-email-linux@roeck-us.net/
> > :)
> > 
> > As bindings go this one has always been controversial because
> > it's mapping between linux subsystems rather than really describing
> > hardware.  We've had various discussions over the years on how to do
> > this differently, but perhaps just documenting the current state is the
> > way to go.  That doesn't stop us moving to something better in the
> > future.
> 
> There's DT using it already, so I guess it's a bit too late to have that
> discussion indeed :)
> 
> > > +
> > > +description: >
> > > +  Bindings for hardware monitoring devices connected to ADC controllers
> > > +  supporting the Industrial I/O bindings.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: iio-hwmon
> > > +
> > > +  io-channels:
> > > +    minItems: 1
> > > +    maxItems: 1024
> > 
> > Why 1024?
> 
> Ought to be enough for anyone :)
> 
> We have to set a maximum and I couldn't find any actual maximum
> documented, if you prefer another value let me know

Just add a comment: '# Should be enough'

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 14/54] dt-bindings: hwmon: Add IIO HWMON binding
@ 2021-07-23 21:44         ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:44 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Jonathan Cameron, Chen-Yu Tsai, Jernej Skrabec, devicetree,
	Frank Rowand, linux-arm-kernel, linux-sunxi, Guenter Roeck,
	Jean Delvare, Jonathan Cameron, linux-hwmon

On Thu, Jul 22, 2021 at 11:34:53AM +0200, Maxime Ripard wrote:
> Hi Jonathan,
> 
> On Thu, Jul 22, 2021 at 10:20:27AM +0100, Jonathan Cameron wrote:
> > On Wed, 21 Jul 2021 16:03:44 +0200
> > Maxime Ripard <maxime@cerno.tech> wrote:
> > 
> > > Even though we had the iio-hwmon driver for some time and a number of
> > > boards using it already, we never had a binding for it. Let's add it
> > > based on what the driver expects and the boards are providing.
> > > 
> > > Cc: Guenter Roeck <linux@roeck-us.net>
> > > Cc: Jean Delvare <jdelvare@suse.com>
> > > Cc: Jonathan Cameron <jic23@kernel.org>
> > > Cc: linux-hwmon@vger.kernel.org
> > > Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> > > ---
> > >  .../devicetree/bindings/hwmon/iio-hwmon.yaml  | 37 +++++++++++++++++++
> > >  1 file changed, 37 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > > new file mode 100644
> > > index 000000000000..49dd40f663a6
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/hwmon/iio-hwmon.yaml
> > > @@ -0,0 +1,37 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: "http://devicetree.org/schemas/hwmon/iio-hwmon.yaml#"
> > > +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> > > +
> > > +title: ADC-attached Hardware Sensor Device Tree Bindings
> > > +
> > > +maintainers:
> > > +  - Jonathan Cameron <jic23@kernel.org>
> > 
> > I'd like to share the blame for this one.  Binding was originally added
> > by Guenter.
> > 
> > https://lore.kernel.org/linux-iio/1359668588-13678-4-git-send-email-linux@roeck-us.net/
> > https://lore.kernel.org/linux-iio/1359668588-13678-11-git-send-email-linux@roeck-us.net/
> > :)
> > 
> > As bindings go this one has always been controversial because
> > it's mapping between linux subsystems rather than really describing
> > hardware.  We've had various discussions over the years on how to do
> > this differently, but perhaps just documenting the current state is the
> > way to go.  That doesn't stop us moving to something better in the
> > future.
> 
> There's DT using it already, so I guess it's a bit too late to have that
> discussion indeed :)
> 
> > > +
> > > +description: >
> > > +  Bindings for hardware monitoring devices connected to ADC controllers
> > > +  supporting the Industrial I/O bindings.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: iio-hwmon
> > > +
> > > +  io-channels:
> > > +    minItems: 1
> > > +    maxItems: 1024
> > 
> > Why 1024?
> 
> Ought to be enough for anyone :)
> 
> We have to set a maximum and I couldn't find any actual maximum
> documented, if you prefer another value let me know

Just add a comment: '# Should be enough'

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 15/54] dt-bindings: iio: st: Remove wrong items length check
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:47     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:47 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Jonathan Cameron, devicetree, Rob Herring, Denis Ciocca,
	linux-arm-kernel, Jernej Skrabec, linux-sunxi, Linus Walleij,
	linux-iio, Lars-Peter Clausen, Frank Rowand, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:45 +0200, Maxime Ripard wrote:
> The original bindings was listing the length of the interrupts as either
> 1 or 2, depending on the setup. This is also what is enforced by the top
> level schema.
> 
> However, that is further constrained with an if clause that require
> exactly two interrupts, even though it might not make sense on those
> devices or in some setups.
> 
> Let's remove the clause entirely.
> 
> Cc: Denis Ciocca <denis.ciocca@st.com>
> Cc: Jonathan Cameron <jic23@kernel.org>
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-iio@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/iio/st,st-sensors.yaml           | 41 -------------------
>  1 file changed, 41 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 15/54] dt-bindings: iio: st: Remove wrong items length check
@ 2021-07-23 21:47     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:47 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Jonathan Cameron, devicetree, Rob Herring, Denis Ciocca,
	linux-arm-kernel, Jernej Skrabec, linux-sunxi, Linus Walleij,
	linux-iio, Lars-Peter Clausen, Frank Rowand, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:45 +0200, Maxime Ripard wrote:
> The original bindings was listing the length of the interrupts as either
> 1 or 2, depending on the setup. This is also what is enforced by the top
> level schema.
> 
> However, that is further constrained with an if clause that require
> exactly two interrupts, even though it might not make sense on those
> devices or in some setups.
> 
> Let's remove the clause entirely.
> 
> Cc: Denis Ciocca <denis.ciocca@st.com>
> Cc: Jonathan Cameron <jic23@kernel.org>
> Cc: Lars-Peter Clausen <lars@metafoo.de>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: linux-iio@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/iio/st,st-sensors.yaml           | 41 -------------------
>  1 file changed, 41 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 16/54] dt-bindings: input: Convert ChipOne ICN8318 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:48     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:48 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, linux-sunxi, Frank Rowand,
	linux-arm-kernel, Chen-Yu Tsai, Dmitry Torokhov, Rob Herring,
	linux-input, Hans de Goede

On Wed, 21 Jul 2021 16:03:46 +0200, Maxime Ripard wrote:
> The ChipOne ICN8318 Touchscreen Controller is supported by Linux thanks
> to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/chipone,icn8318.yaml    | 62 +++++++++++++++++++
>  .../input/touchscreen/chipone_icn8318.txt     | 44 -------------
>  2 files changed, 62 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 16/54] dt-bindings: input: Convert ChipOne ICN8318 binding to a schema
@ 2021-07-23 21:48     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:48 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: devicetree, Jernej Skrabec, linux-sunxi, Frank Rowand,
	linux-arm-kernel, Chen-Yu Tsai, Dmitry Torokhov, Rob Herring,
	linux-input, Hans de Goede

On Wed, 21 Jul 2021 16:03:46 +0200, Maxime Ripard wrote:
> The ChipOne ICN8318 Touchscreen Controller is supported by Linux thanks
> to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/chipone,icn8318.yaml    | 62 +++++++++++++++++++
>  .../input/touchscreen/chipone_icn8318.txt     | 44 -------------
>  2 files changed, 62 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone,icn8318.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 17/54] dt-bindings: input: Convert Pixcir Touchscreen binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:49     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:49 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, linux-input,
	linux-sunxi, linux-arm-kernel, Rob Herring, Dmitry Torokhov,
	Frank Rowand

On Wed, 21 Jul 2021 16:03:47 +0200, Maxime Ripard wrote:
> The Pixcir Touchscreen Controller is supported by Linux thanks to
> its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/pixcir,pixcir_ts.yaml   | 68 +++++++++++++++++++
>  .../input/touchscreen/pixcir_i2c_ts.txt       | 31 ---------
>  2 files changed, 68 insertions(+), 31 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 17/54] dt-bindings: input: Convert Pixcir Touchscreen binding to a schema
@ 2021-07-23 21:49     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:49 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, linux-input,
	linux-sunxi, linux-arm-kernel, Rob Herring, Dmitry Torokhov,
	Frank Rowand

On Wed, 21 Jul 2021 16:03:47 +0200, Maxime Ripard wrote:
> The Pixcir Touchscreen Controller is supported by Linux thanks to
> its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/pixcir,pixcir_ts.yaml   | 68 +++++++++++++++++++
>  .../input/touchscreen/pixcir_i2c_ts.txt       | 31 ---------
>  2 files changed, 68 insertions(+), 31 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir,pixcir_ts.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/pixcir_i2c_ts.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 18/54] dt-bindings: input: Convert Regulator Haptic binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:50     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:50 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Dmitry Torokhov, linux-sunxi, devicetree, linux-arm-kernel,
	linux-input, Chen-Yu Tsai, Rob Herring, Frank Rowand, Jaewon Kim,
	Jernej Skrabec

On Wed, 21 Jul 2021 16:03:48 +0200, Maxime Ripard wrote:
> The Haptic feedback based on a regulator is supported by Linux thanks to
> its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Jaewon Kim <jaewon02.kim@samsung.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/input/regulator-haptic.txt       | 21 ---------
>  .../bindings/input/regulator-haptic.yaml      | 43 +++++++++++++++++++
>  2 files changed, 43 insertions(+), 21 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.txt
>  create mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 18/54] dt-bindings: input: Convert Regulator Haptic binding to a schema
@ 2021-07-23 21:50     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:50 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Dmitry Torokhov, linux-sunxi, devicetree, linux-arm-kernel,
	linux-input, Chen-Yu Tsai, Rob Herring, Frank Rowand, Jaewon Kim,
	Jernej Skrabec

On Wed, 21 Jul 2021 16:03:48 +0200, Maxime Ripard wrote:
> The Haptic feedback based on a regulator is supported by Linux thanks to
> its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Jaewon Kim <jaewon02.kim@samsung.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/input/regulator-haptic.txt       | 21 ---------
>  .../bindings/input/regulator-haptic.yaml      | 43 +++++++++++++++++++
>  2 files changed, 43 insertions(+), 21 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.txt
>  create mode 100644 Documentation/devicetree/bindings/input/regulator-haptic.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 19/54] dt-bindings: input: Convert Silead GSL1680 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:51     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:51 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Dmitry Torokhov, linux-input

On Wed, Jul 21, 2021 at 04:03:49PM +0200, Maxime Ripard wrote:
> The Silead GSL1680 Touchscreen Controller is supported by Linux thanks
> to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/silead,gsl1680.yaml     | 90 +++++++++++++++++++
>  .../input/touchscreen/silead_gsl1680.txt      | 44 ---------
>  2 files changed, 90 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
> new file mode 100644
> index 000000000000..84a462ffd14b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Silead GSL1680 Touchscreen Controller Device Tree Bindings
> +
> +maintainers:
> +  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
> +
> +allOf:
> +  - $ref: touchscreen.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - silead,gsl1680
> +      - silead,gsl1688
> +      - silead,gsl3670
> +      - silead,gsl3675
> +      - silead,gsl3692
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  power-gpios:
> +    maxItems: 1
> +
> +  firmware:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: >
> +      File basename for board specific firmware
> +
> +  silead,max-fingers:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: >
> +      Maximum number of fingers the touchscreen can detect

Can it detect 2^32 fingers? Constraints needed.

> +
> +  silead,home-button:
> +    type: boolean
> +    description: >
> +      Does the device have a capacitive home-button build into the
> +      touchscreen?
> +
> +  avdd-supply:
> +    description: >
> +      Regulator phandle for controller AVDD
> +
> +  vddio-supply:
> +    description: >
> +      Regulator phandle for controller VDDIO
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - power-gpios
> +  - touchscreen-size-x
> +  - touchscreen-size-y
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        touchscreen@40 {
> +            compatible = "silead,gsl1680";
> +            reg = <0x40>;
> +            interrupt-parent = <&pio>;
> +            interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> +            power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> +            touchscreen-size-x = <480>;
> +            touchscreen-size-y = <800>;
> +            touchscreen-inverted-x;
> +            touchscreen-swapped-x-y;
> +            silead,max-fingers = <5>;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> deleted file mode 100644
> index d67e558e5ab5..000000000000
> --- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -* GSL 1680 touchscreen controller
> -
> -Required properties:
> -- compatible		  : Must be one of the following, depending on the model:
> -			    "silead,gsl1680"
> -			    "silead,gsl1688"
> -			    "silead,gsl3670"
> -			    "silead,gsl3675"
> -			    "silead,gsl3692"
> -- reg			  : I2C slave address of the chip (0x40)
> -- interrupts		  : interrupt specification for the gsl1680 interrupt
> -- power-gpios		  : Specification for the pin connected to the gsl1680's
> -			    shutdown input. This needs to be driven high to take the
> -			    gsl1680 out of its low power state
> -- touchscreen-size-x	  : See touchscreen.txt
> -- touchscreen-size-y	  : See touchscreen.txt
> -
> -Optional properties:
> -- firmware-name		  : File basename (string) for board specific firmware
> -- touchscreen-inverted-x  : See touchscreen.txt
> -- touchscreen-inverted-y  : See touchscreen.txt
> -- touchscreen-swapped-x-y : See touchscreen.txt
> -- silead,max-fingers	  : maximum number of fingers the touchscreen can detect
> -- silead,home-button	  : Boolean, set to true on devices which have a
> -			    capacitive home-button build into the touchscreen
> -- vddio-supply		  : regulator phandle for controller VDDIO
> -- avdd-supply		  : regulator phandle for controller AVDD
> -
> -Example:
> -
> -i2c@00000000 {
> -	gsl1680: touchscreen@40 {
> -		compatible = "silead,gsl1680";
> -		reg = <0x40>;
> -		interrupt-parent = <&pio>;
> -		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> -		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> -		touchscreen-size-x = <480>;
> -		touchscreen-size-y = <800>;
> -		touchscreen-inverted-x;
> -		touchscreen-swapped-x-y;
> -		silead,max-fingers = <5>;
> -	};
> -};
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 19/54] dt-bindings: input: Convert Silead GSL1680 binding to a schema
@ 2021-07-23 21:51     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:51 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Dmitry Torokhov, linux-input

On Wed, Jul 21, 2021 at 04:03:49PM +0200, Maxime Ripard wrote:
> The Silead GSL1680 Touchscreen Controller is supported by Linux thanks
> to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../input/touchscreen/silead,gsl1680.yaml     | 90 +++++++++++++++++++
>  .../input/touchscreen/silead_gsl1680.txt      | 44 ---------
>  2 files changed, 90 insertions(+), 44 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
>  delete mode 100644 Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
> new file mode 100644
> index 000000000000..84a462ffd14b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/touchscreen/silead,gsl1680.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/touchscreen/silead,gsl1680.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Silead GSL1680 Touchscreen Controller Device Tree Bindings
> +
> +maintainers:
> +  - Dmitry Torokhov <dmitry.torokhov@gmail.com>
> +
> +allOf:
> +  - $ref: touchscreen.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - silead,gsl1680
> +      - silead,gsl1688
> +      - silead,gsl3670
> +      - silead,gsl3675
> +      - silead,gsl3692
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  power-gpios:
> +    maxItems: 1
> +
> +  firmware:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: >
> +      File basename for board specific firmware
> +
> +  silead,max-fingers:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description: >
> +      Maximum number of fingers the touchscreen can detect

Can it detect 2^32 fingers? Constraints needed.

> +
> +  silead,home-button:
> +    type: boolean
> +    description: >
> +      Does the device have a capacitive home-button build into the
> +      touchscreen?
> +
> +  avdd-supply:
> +    description: >
> +      Regulator phandle for controller AVDD
> +
> +  vddio-supply:
> +    description: >
> +      Regulator phandle for controller VDDIO
> +
> +unevaluatedProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - power-gpios
> +  - touchscreen-size-x
> +  - touchscreen-size-y
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        touchscreen@40 {
> +            compatible = "silead,gsl1680";
> +            reg = <0x40>;
> +            interrupt-parent = <&pio>;
> +            interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> +            power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> +            touchscreen-size-x = <480>;
> +            touchscreen-size-y = <800>;
> +            touchscreen-inverted-x;
> +            touchscreen-swapped-x-y;
> +            silead,max-fingers = <5>;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt b/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> deleted file mode 100644
> index d67e558e5ab5..000000000000
> --- a/Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -* GSL 1680 touchscreen controller
> -
> -Required properties:
> -- compatible		  : Must be one of the following, depending on the model:
> -			    "silead,gsl1680"
> -			    "silead,gsl1688"
> -			    "silead,gsl3670"
> -			    "silead,gsl3675"
> -			    "silead,gsl3692"
> -- reg			  : I2C slave address of the chip (0x40)
> -- interrupts		  : interrupt specification for the gsl1680 interrupt
> -- power-gpios		  : Specification for the pin connected to the gsl1680's
> -			    shutdown input. This needs to be driven high to take the
> -			    gsl1680 out of its low power state
> -- touchscreen-size-x	  : See touchscreen.txt
> -- touchscreen-size-y	  : See touchscreen.txt
> -
> -Optional properties:
> -- firmware-name		  : File basename (string) for board specific firmware
> -- touchscreen-inverted-x  : See touchscreen.txt
> -- touchscreen-inverted-y  : See touchscreen.txt
> -- touchscreen-swapped-x-y : See touchscreen.txt
> -- silead,max-fingers	  : maximum number of fingers the touchscreen can detect
> -- silead,home-button	  : Boolean, set to true on devices which have a
> -			    capacitive home-button build into the touchscreen
> -- vddio-supply		  : regulator phandle for controller VDDIO
> -- avdd-supply		  : regulator phandle for controller AVDD
> -
> -Example:
> -
> -i2c@00000000 {
> -	gsl1680: touchscreen@40 {
> -		compatible = "silead,gsl1680";
> -		reg = <0x40>;
> -		interrupt-parent = <&pio>;
> -		interrupts = <6 11 IRQ_TYPE_EDGE_FALLING>;
> -		power-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>;
> -		touchscreen-size-x = <480>;
> -		touchscreen-size-y = <800>;
> -		touchscreen-inverted-x;
> -		touchscreen-swapped-x-y;
> -		silead,max-fingers = <5>;
> -	};
> -};
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 20/54] dt-bindings: input: sun4i-lradc: Add wakeup-source
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:52     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:52 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Hans de Goede, linux-input, linux-arm-kernel, Chen-Yu Tsai,
	Jernej Skrabec, devicetree, Dmitry Torokhov, Frank Rowand,
	linux-sunxi, Rob Herring

On Wed, 21 Jul 2021 16:03:50 +0200, Maxime Ripard wrote:
> The LRADC can be a wakeup source and is listed as such in some DT
> already. Let's make sure we allow that property in the binding.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/input/allwinner,sun4i-a10-lradc-keys.yaml          | 2 ++
>  1 file changed, 2 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 20/54] dt-bindings: input: sun4i-lradc: Add wakeup-source
@ 2021-07-23 21:52     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:52 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Hans de Goede, linux-input, linux-arm-kernel, Chen-Yu Tsai,
	Jernej Skrabec, devicetree, Dmitry Torokhov, Frank Rowand,
	linux-sunxi, Rob Herring

On Wed, 21 Jul 2021 16:03:50 +0200, Maxime Ripard wrote:
> The LRADC can be a wakeup source and is listed as such in some DT
> already. Let's make sure we allow that property in the binding.
> 
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: linux-input@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/input/allwinner,sun4i-a10-lradc-keys.yaml          | 2 ++
>  1 file changed, 2 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 21/54] dt-bindings: interconnect: sunxi: Add R40 MBUS compatible
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:52     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:52 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Rob Herring, Frank Rowand, devicetree,
	linux-arm-kernel, Jernej Skrabec, linux-sunxi

On Wed, 21 Jul 2021 16:03:51 +0200, Maxime Ripard wrote:
> The R40 MBUS compatible was introduced recently but it was never
> documented.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml  | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 21/54] dt-bindings: interconnect: sunxi: Add R40 MBUS compatible
@ 2021-07-23 21:52     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:52 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Rob Herring, Frank Rowand, devicetree,
	linux-arm-kernel, Jernej Skrabec, linux-sunxi

On Wed, 21 Jul 2021 16:03:51 +0200, Maxime Ripard wrote:
> The R40 MBUS compatible was introduced recently but it was never
> documented.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml  | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 23/54] dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:54     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:54 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Lee Jones

On Wed, Jul 21, 2021 at 04:03:53PM +0200, Maxime Ripard wrote:
> The X-Powers AC100 hybrid devices are supported by Linux thanks to its
> device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/mfd/ac100.txt         |  50 --------
>  .../bindings/mfd/x-powers,ac100.yaml          | 113 ++++++++++++++++++
>  2 files changed, 113 insertions(+), 50 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/ac100.txt b/Documentation/devicetree/bindings/mfd/ac100.txt
> deleted file mode 100644
> index dff219f07493..000000000000
> --- a/Documentation/devicetree/bindings/mfd/ac100.txt
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -X-Powers AC100 Codec/RTC IC Device Tree bindings
> -
> -AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
> -separated, including power supplies and interrupt lines, but share
> -a common register address space and host interface.
> -
> -Required properties:
> -- compatible: "x-powers,ac100"
> -- reg: The I2C slave address or RSB hardware address for the chip
> -- sub-nodes:
> -  - codec
> -    - compatible:		"x-powers,ac100-codec"
> -    - interrupts:		SoC NMI / GPIO interrupt connected to the
> -    				IRQ_AUDIO pin
> -    - #clock-cells:		Shall be 0
> -    - clock-output-names:	"4M_adda"
> -
> -    - see clock/clock-bindings.txt for common clock bindings
> -
> -  - rtc
> -    - compatible:		"x-powers,ac100-rtc"
> -    - clocks:			A phandle to the codec's "4M_adda" clock
> -    - #clock-cells:		Shall be 1
> -    - clock-output-names:	"cko1_rtc", "cko2_rtc", "cko3_rtc"
> -
> -    - see clock/clock-bindings.txt for common clock bindings
> -
> -Example:
> -
> -ac100: codec@e89 {
> -	compatible = "x-powers,ac100";
> -	reg = <0xe89>;
> -
> -	ac100_codec: codec {
> -		compatible = "x-powers,ac100-codec";
> -		interrupt-parent = <&r_pio>;
> -		interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
> -		#clock-cells = <0>;
> -		clock-output-names = "4M_adda";
> -	};
> -
> -	ac100_rtc: rtc {
> -		compatible = "x-powers,ac100-rtc";
> -		interrupt-parent = <&nmi_intc>;
> -		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> -		clocks = <&ac100_codec>;
> -		#clock-cells = <1>;
> -		clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
> new file mode 100644
> index 000000000000..6990765076b8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
> @@ -0,0 +1,113 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: X-Powers AC100 Device Tree Bindings
> +
> +maintainers:
> +  - Chen-Yu Tsai <wens@csie.org>
> +
> +properties:
> +  compatible:
> +    const: x-powers,ac100
> +
> +  reg:
> +    maxItems: 1
> +
> +  codec:
> +    type: object
> +
> +    properties:
> +      "#clock-cells":
> +        const: 0
> +
> +      compatible:
> +        const: x-powers,ac100-codec
> +
> +      interrupts:
> +        maxItems: 1
> +
> +      clock-output-names:
> +        description: >
> +          Name of the 4M_adda clock exposed by the codec

maxItems: 1

> +
> +    required:
> +      - "#clock-cells"
> +      - compatible
> +      - interrupts
> +      - clock-output-names
> +
> +    additionalProperties: false
> +
> +  rtc:
> +    type: object
> +
> +    properties:
> +      "#clock-cells":
> +        const: 1
> +
> +      compatible:
> +        const: x-powers,ac100-rtc
> +
> +      interrupts:
> +        maxItems: 1
> +
> +      clocks:
> +        description: >
> +           A phandle to the codec's "4M_adda" clock

maxItems: 1

> +
> +      clock-output-names:
> +        description: >
> +          Name of the cko1, cko2 and cko3 clocks exposed by the codec

maxItems: 3

> +
> +    required:
> +      - "#clock-cells"
> +      - compatible
> +      - interrupts
> +      - clocks
> +      - clock-output-names
> +
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - codec
> +  - rtc
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    rsb {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@e89 {
> +            compatible = "x-powers,ac100";
> +            reg = <0xe89>;
> +
> +            ac100_codec: codec {
> +                compatible = "x-powers,ac100-codec";
> +                interrupt-parent = <&r_pio>;
> +                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
> +                #clock-cells = <0>;
> +                clock-output-names = "4M_adda";
> +            };
> +
> +            ac100_rtc: rtc {
> +                compatible = "x-powers,ac100-rtc";
> +                interrupt-parent = <&nmi_intc>;
> +                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> +                clocks = <&ac100_codec>;
> +                #clock-cells = <1>;
> +                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 23/54] dt-bindings: mfd: Convert X-Powers AC100 binding to a schema
@ 2021-07-23 21:54     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:54 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, Lee Jones

On Wed, Jul 21, 2021 at 04:03:53PM +0200, Maxime Ripard wrote:
> The X-Powers AC100 hybrid devices are supported by Linux thanks to its
> device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/mfd/ac100.txt         |  50 --------
>  .../bindings/mfd/x-powers,ac100.yaml          | 113 ++++++++++++++++++
>  2 files changed, 113 insertions(+), 50 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mfd/ac100.txt
>  create mode 100644 Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/ac100.txt b/Documentation/devicetree/bindings/mfd/ac100.txt
> deleted file mode 100644
> index dff219f07493..000000000000
> --- a/Documentation/devicetree/bindings/mfd/ac100.txt
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -X-Powers AC100 Codec/RTC IC Device Tree bindings
> -
> -AC100 is a audio codec and RTC subsystem combo IC. The 2 parts are
> -separated, including power supplies and interrupt lines, but share
> -a common register address space and host interface.
> -
> -Required properties:
> -- compatible: "x-powers,ac100"
> -- reg: The I2C slave address or RSB hardware address for the chip
> -- sub-nodes:
> -  - codec
> -    - compatible:		"x-powers,ac100-codec"
> -    - interrupts:		SoC NMI / GPIO interrupt connected to the
> -    				IRQ_AUDIO pin
> -    - #clock-cells:		Shall be 0
> -    - clock-output-names:	"4M_adda"
> -
> -    - see clock/clock-bindings.txt for common clock bindings
> -
> -  - rtc
> -    - compatible:		"x-powers,ac100-rtc"
> -    - clocks:			A phandle to the codec's "4M_adda" clock
> -    - #clock-cells:		Shall be 1
> -    - clock-output-names:	"cko1_rtc", "cko2_rtc", "cko3_rtc"
> -
> -    - see clock/clock-bindings.txt for common clock bindings
> -
> -Example:
> -
> -ac100: codec@e89 {
> -	compatible = "x-powers,ac100";
> -	reg = <0xe89>;
> -
> -	ac100_codec: codec {
> -		compatible = "x-powers,ac100-codec";
> -		interrupt-parent = <&r_pio>;
> -		interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
> -		#clock-cells = <0>;
> -		clock-output-names = "4M_adda";
> -	};
> -
> -	ac100_rtc: rtc {
> -		compatible = "x-powers,ac100-rtc";
> -		interrupt-parent = <&nmi_intc>;
> -		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> -		clocks = <&ac100_codec>;
> -		#clock-cells = <1>;
> -		clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
> new file mode 100644
> index 000000000000..6990765076b8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/x-powers,ac100.yaml
> @@ -0,0 +1,113 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: "http://devicetree.org/schemas/mfd/x-powers,ac100.yaml#"
> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> +
> +title: X-Powers AC100 Device Tree Bindings
> +
> +maintainers:
> +  - Chen-Yu Tsai <wens@csie.org>
> +
> +properties:
> +  compatible:
> +    const: x-powers,ac100
> +
> +  reg:
> +    maxItems: 1
> +
> +  codec:
> +    type: object
> +
> +    properties:
> +      "#clock-cells":
> +        const: 0
> +
> +      compatible:
> +        const: x-powers,ac100-codec
> +
> +      interrupts:
> +        maxItems: 1
> +
> +      clock-output-names:
> +        description: >
> +          Name of the 4M_adda clock exposed by the codec

maxItems: 1

> +
> +    required:
> +      - "#clock-cells"
> +      - compatible
> +      - interrupts
> +      - clock-output-names
> +
> +    additionalProperties: false
> +
> +  rtc:
> +    type: object
> +
> +    properties:
> +      "#clock-cells":
> +        const: 1
> +
> +      compatible:
> +        const: x-powers,ac100-rtc
> +
> +      interrupts:
> +        maxItems: 1
> +
> +      clocks:
> +        description: >
> +           A phandle to the codec's "4M_adda" clock

maxItems: 1

> +
> +      clock-output-names:
> +        description: >
> +          Name of the cko1, cko2 and cko3 clocks exposed by the codec

maxItems: 3

> +
> +    required:
> +      - "#clock-cells"
> +      - compatible
> +      - interrupts
> +      - clocks
> +      - clock-output-names
> +
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - codec
> +  - rtc
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    rsb {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        codec@e89 {
> +            compatible = "x-powers,ac100";
> +            reg = <0xe89>;
> +
> +            ac100_codec: codec {
> +                compatible = "x-powers,ac100-codec";
> +                interrupt-parent = <&r_pio>;
> +                interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PL9 */
> +                #clock-cells = <0>;
> +                clock-output-names = "4M_adda";
> +            };
> +
> +            ac100_rtc: rtc {
> +                compatible = "x-powers,ac100-rtc";
> +                interrupt-parent = <&nmi_intc>;
> +                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
> +                clocks = <&ac100_codec>;
> +                #clock-cells = <1>;
> +                clock-output-names = "cko1_rtc", "cko2_rtc", "cko3_rtc";
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 25/54] dt-bindings: mmc: Convert MMC Card binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:57     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:57 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, linux-mmc, Ulf Hansson

On Wed, Jul 21, 2021 at 04:03:55PM +0200, Maxime Ripard wrote:
> MMC Cards can have an optional Device Tree binding to add
> non-discoverable properties.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Some of these properties were already described in the MMC controller
> binding, even though they are not generic and do not apply to any
> device, so we took the occasion to fix this.
> 
> Cc: linux-mmc@vger.kernel.org
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------
>  .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++
>  .../bindings/mmc/mmc-controller.yaml          |  6 ---
>  3 files changed, 48 insertions(+), 36 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
>  create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt
> deleted file mode 100644
> index 8d2d71758907..000000000000
> --- a/Documentation/devicetree/bindings/mmc/mmc-card.txt
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -mmc-card / eMMC bindings
> -------------------------
> -
> -This documents describes the devicetree bindings for a mmc-host controller
> -child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
> -in mmc.txt
> -
> -Required properties:
> --compatible : Must be "mmc-card"
> --reg        : Must be <0>
> -
> -Optional properties:
> --broken-hpi : Use this to indicate that the mmc-card has a broken hpi
> -              implementation, and that hpi should not be used
> -
> -Example:
> -
> -&mmc2 {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&mmc2_pins_a>;
> -	vmmc-supply = <&reg_vcc3v3>;
> -	bus-width = <8>;
> -	non-removable;
> -
> -	mmccard: mmccard@0 {
> -		reg = <0>;
> -		compatible = "mmc-card";
> -		broken-hpi;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> new file mode 100644
> index 000000000000..aefdd8748b72
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MMC Card / eMMC Generic Device Tree Bindings
> +
> +maintainers:
> +  - Ulf Hansson <ulf.hansson@linaro.org>
> +
> +description: |
> +  This documents describes the devicetree bindings for a mmc-host controller
> +  child node describing a mmc-card / an eMMC.
> +
> +properties:
> +  compatible:
> +    const: mmc-card
> +
> +  reg:
> +    const: 0
> +
> +  broken-hpi:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Use this to indicate that the mmc-card has a broken hpi
> +      implementation, and that hpi should not be used.
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: true

Like what? If there's other properties, then there should really be a 
specific compatible.

> +
> +examples:
> +  - |
> +    mmc {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        card@0 {
> +            compatible = "mmc-card";
> +            reg = <0>;
> +            broken-hpi;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
> index 25ac8e200970..513f3c8758aa 100644
> --- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
> +++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
> @@ -333,12 +333,6 @@ patternProperties:
>                subnode describes. A value of 0 denotes the memory SD
>                function, values from 1 to 7 denote the SDIO functions.
>  
> -      broken-hpi:
> -        $ref: /schemas/types.yaml#/definitions/flag
> -        description:
> -          Use this to indicate that the mmc-card has a broken hpi
> -          implementation, and that hpi should not be used.
> -
>      required:
>        - reg
>  
> -- 
> 2.31.1
> 
> 

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 25/54] dt-bindings: mmc: Convert MMC Card binding to a schema
@ 2021-07-23 21:57     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:57 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, Jernej Skrabec, devicetree, Frank Rowand,
	linux-arm-kernel, linux-sunxi, linux-mmc, Ulf Hansson

On Wed, Jul 21, 2021 at 04:03:55PM +0200, Maxime Ripard wrote:
> MMC Cards can have an optional Device Tree binding to add
> non-discoverable properties.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Some of these properties were already described in the MMC controller
> binding, even though they are not generic and do not apply to any
> device, so we took the occasion to fix this.
> 
> Cc: linux-mmc@vger.kernel.org
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/mmc/mmc-card.txt      | 30 ------------
>  .../devicetree/bindings/mmc/mmc-card.yaml     | 48 +++++++++++++++++++
>  .../bindings/mmc/mmc-controller.yaml          |  6 ---
>  3 files changed, 48 insertions(+), 36 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.txt
>  create mode 100644 Documentation/devicetree/bindings/mmc/mmc-card.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.txt b/Documentation/devicetree/bindings/mmc/mmc-card.txt
> deleted file mode 100644
> index 8d2d71758907..000000000000
> --- a/Documentation/devicetree/bindings/mmc/mmc-card.txt
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -mmc-card / eMMC bindings
> -------------------------
> -
> -This documents describes the devicetree bindings for a mmc-host controller
> -child node describing a mmc-card / an eMMC, see "Use of Function subnodes"
> -in mmc.txt
> -
> -Required properties:
> --compatible : Must be "mmc-card"
> --reg        : Must be <0>
> -
> -Optional properties:
> --broken-hpi : Use this to indicate that the mmc-card has a broken hpi
> -              implementation, and that hpi should not be used
> -
> -Example:
> -
> -&mmc2 {
> -	pinctrl-names = "default";
> -	pinctrl-0 = <&mmc2_pins_a>;
> -	vmmc-supply = <&reg_vcc3v3>;
> -	bus-width = <8>;
> -	non-removable;
> -
> -	mmccard: mmccard@0 {
> -		reg = <0>;
> -		compatible = "mmc-card";
> -		broken-hpi;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> new file mode 100644
> index 000000000000..aefdd8748b72
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mmc/mmc-card.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MMC Card / eMMC Generic Device Tree Bindings
> +
> +maintainers:
> +  - Ulf Hansson <ulf.hansson@linaro.org>
> +
> +description: |
> +  This documents describes the devicetree bindings for a mmc-host controller
> +  child node describing a mmc-card / an eMMC.
> +
> +properties:
> +  compatible:
> +    const: mmc-card
> +
> +  reg:
> +    const: 0
> +
> +  broken-hpi:
> +    $ref: /schemas/types.yaml#/definitions/flag
> +    description:
> +      Use this to indicate that the mmc-card has a broken hpi
> +      implementation, and that hpi should not be used.
> +
> +required:
> +  - compatible
> +  - reg
> +
> +additionalProperties: true

Like what? If there's other properties, then there should really be a 
specific compatible.

> +
> +examples:
> +  - |
> +    mmc {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        card@0 {
> +            compatible = "mmc-card";
> +            reg = <0>;
> +            broken-hpi;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
> index 25ac8e200970..513f3c8758aa 100644
> --- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
> +++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
> @@ -333,12 +333,6 @@ patternProperties:
>                subnode describes. A value of 0 denotes the memory SD
>                function, values from 1 to 7 denote the SDIO functions.
>  
> -      broken-hpi:
> -        $ref: /schemas/types.yaml#/definitions/flag
> -        description:
> -          Use this to indicate that the mmc-card has a broken hpi
> -          implementation, and that hpi should not be used.
> -
>      required:
>        - reg
>  
> -- 
> 2.31.1
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 26/54] dt-bindings: net: dwmac: Fix typo in the R40 compatible
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:57     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:57 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Frank Rowand, Jernej Skrabec, Giuseppe Cavallaro, Chen-Yu Tsai,
	Jakub Kicinski, netdev, David S. Miller, Jose Abreu,
	linux-arm-kernel, linux-sunxi, devicetree, Alexandre Torgue,
	Rob Herring

On Wed, 21 Jul 2021 16:03:56 +0200, Maxime Ripard wrote:
> Even though both the driver and the device trees all use the
> allwinner,sun8i-r40-gmac compatible, we documented the compatible as
> allwinner,sun8i-r40-emac in the binding. Let's fix this.
> 
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Jose Abreu <joabreu@synopsys.com>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml  | 4 ++--
>  Documentation/devicetree/bindings/net/snps,dwmac.yaml       | 6 +++---
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 26/54] dt-bindings: net: dwmac: Fix typo in the R40 compatible
@ 2021-07-23 21:57     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:57 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Frank Rowand, Jernej Skrabec, Giuseppe Cavallaro, Chen-Yu Tsai,
	Jakub Kicinski, netdev, David S. Miller, Jose Abreu,
	linux-arm-kernel, linux-sunxi, devicetree, Alexandre Torgue,
	Rob Herring

On Wed, 21 Jul 2021 16:03:56 +0200, Maxime Ripard wrote:
> Even though both the driver and the device trees all use the
> allwinner,sun8i-r40-gmac compatible, we documented the compatible as
> allwinner,sun8i-r40-emac in the binding. Let's fix this.
> 
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Jose Abreu <joabreu@synopsys.com>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml  | 4 ++--
>  Documentation/devicetree/bindings/net/snps,dwmac.yaml       | 6 +++---
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 27/54] dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:58     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:58 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Rob Herring, linux-wireless, netdev, devicetree, Kalle Valo,
	de Goede, Jakub Kicinski, Frank Rowand, linux-arm-kernel,
	David S. Miller, linux-sunxi, Jernej Skrabec, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:57 +0200, Maxime Ripard wrote:
> The ESP8089 Wireless Chip is supported by Linux (through an out-of-tree
> driver) thanks to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: de Goede <hdegoede@redhat.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Kalle Valo <kvalo@codeaurora.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/net/wireless/esp,esp8089.txt     | 30 -------------
>  .../bindings/net/wireless/esp,esp8089.yaml    | 43 +++++++++++++++++++
>  2 files changed, 43 insertions(+), 30 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
>  create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 27/54] dt-bindings: net: wireless: Convert ESP ESP8089 binding to a schema
@ 2021-07-23 21:58     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:58 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Rob Herring, linux-wireless, netdev, devicetree, Kalle Valo,
	de Goede, Jakub Kicinski, Frank Rowand, linux-arm-kernel,
	David S. Miller, linux-sunxi, Jernej Skrabec, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:57 +0200, Maxime Ripard wrote:
> The ESP8089 Wireless Chip is supported by Linux (through an out-of-tree
> driver) thanks to its device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: de Goede <hdegoede@redhat.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Kalle Valo <kvalo@codeaurora.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/net/wireless/esp,esp8089.txt     | 30 -------------
>  .../bindings/net/wireless/esp,esp8089.yaml    | 43 +++++++++++++++++++
>  2 files changed, 43 insertions(+), 30 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt
>  create mode 100644 Documentation/devicetree/bindings/net/wireless/esp,esp8089.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 28/54] dt-bindings: power: supply: axp20x: Add AXP803 compatible
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 21:59     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:59 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Sebastian Reichel, Rob Herring, devicetree, linux-sunxi,
	linux-arm-kernel, Jernej Skrabec, linux-pm, Frank Rowand,
	Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:58 +0200, Maxime Ripard wrote:
> The AXP803 compatible was introduced recently with a fallback to the
> AXP813, but it was never documented.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: linux-pm@vger.kernel.org
> Cc: Sebastian Reichel <sre@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../supply/x-powers,axp20x-ac-power-supply.yaml    | 11 +++++++----
>  .../x-powers,axp20x-battery-power-supply.yaml      | 11 +++++++----
>  .../supply/x-powers,axp20x-usb-power-supply.yaml   | 14 +++++++++-----
>  3 files changed, 23 insertions(+), 13 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 28/54] dt-bindings: power: supply: axp20x: Add AXP803 compatible
@ 2021-07-23 21:59     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 21:59 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Sebastian Reichel, Rob Herring, devicetree, linux-sunxi,
	linux-arm-kernel, Jernej Skrabec, linux-pm, Frank Rowand,
	Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:58 +0200, Maxime Ripard wrote:
> The AXP803 compatible was introduced recently with a fallback to the
> AXP813, but it was never documented.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: linux-pm@vger.kernel.org
> Cc: Sebastian Reichel <sre@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../supply/x-powers,axp20x-ac-power-supply.yaml    | 11 +++++++----
>  .../x-powers,axp20x-battery-power-supply.yaml      | 11 +++++++----
>  .../supply/x-powers,axp20x-usb-power-supply.yaml   | 14 +++++++++-----
>  3 files changed, 23 insertions(+), 13 deletions(-)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 29/54] dt-bindings: power: supply: axp20x-battery: Add AXP209 compatible
  2021-07-21 14:03   ` Maxime Ripard
@ 2021-07-23 22:00     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:00 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Frank Rowand, linux-pm, linux-sunxi, Sebastian Reichel,
	Rob Herring, Jernej Skrabec, devicetree, linux-arm-kernel,
	Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:59 +0200, Maxime Ripard wrote:
> The AXP209 compatible was used in Device Trees and the driver, but it
> was never documented.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: linux-pm@vger.kernel.org
> Cc: Sebastian Reichel <sre@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../power/supply/x-powers,axp20x-battery-power-supply.yaml       | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 29/54] dt-bindings: power: supply: axp20x-battery: Add AXP209 compatible
@ 2021-07-23 22:00     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:00 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Frank Rowand, linux-pm, linux-sunxi, Sebastian Reichel,
	Rob Herring, Jernej Skrabec, devicetree, linux-arm-kernel,
	Chen-Yu Tsai

On Wed, 21 Jul 2021 16:03:59 +0200, Maxime Ripard wrote:
> The AXP209 compatible was used in Device Trees and the driver, but it
> was never documented.
> 
> Cc: Chen-Yu Tsai <wens@csie.org>
> Cc: linux-pm@vger.kernel.org
> Cc: Sebastian Reichel <sre@kernel.org>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../power/supply/x-powers,axp20x-battery-power-supply.yaml       | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 30/54] dt-bindings: regulator: Convert SY8106A binding to a schema
  2021-07-21 14:04   ` Maxime Ripard
@ 2021-07-23 22:01     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:01 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, Rob Herring, Jernej Skrabec, Liam Girdwood,
	Ondrej Jirman, devicetree, Chen-Yu Tsai, linux-sunxi,
	Icenowy Zheng, Mark Brown, Frank Rowand

On Wed, 21 Jul 2021 16:04:00 +0200, Maxime Ripard wrote:
> The Silergy SY8106A is a regulator controlled through i2c supported by
> Linux with a matching device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Icenowy Zheng <icenowy@aosc.io>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Ondrej Jirman <megous@megous.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/regulator/silergy,sy8106a.yaml   | 52 +++++++++++++++++++
>  .../bindings/regulator/sy8106a-regulator.txt  | 23 --------
>  2 files changed, 52 insertions(+), 23 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
>  delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 30/54] dt-bindings: regulator: Convert SY8106A binding to a schema
@ 2021-07-23 22:01     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:01 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, Rob Herring, Jernej Skrabec, Liam Girdwood,
	Ondrej Jirman, devicetree, Chen-Yu Tsai, linux-sunxi,
	Icenowy Zheng, Mark Brown, Frank Rowand

On Wed, 21 Jul 2021 16:04:00 +0200, Maxime Ripard wrote:
> The Silergy SY8106A is a regulator controlled through i2c supported by
> Linux with a matching device tree binding.
> 
> Now that we have the DT validation in place, let's convert the device
> tree bindings for that driver over to a YAML schema.
> 
> Cc: Icenowy Zheng <icenowy@aosc.io>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Ondrej Jirman <megous@megous.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../bindings/regulator/silergy,sy8106a.yaml   | 52 +++++++++++++++++++
>  .../bindings/regulator/sy8106a-regulator.txt  | 23 --------
>  2 files changed, 52 insertions(+), 23 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/regulator/silergy,sy8106a.yaml
>  delete mode 100644 Documentation/devicetree/bindings/regulator/sy8106a-regulator.txt
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 31/54] dt-bindings: sunxi: Add CPU Configuration Controller Binding
  2021-07-21 14:04   ` Maxime Ripard
@ 2021-07-23 22:01     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:01 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, Jernej Skrabec, linux-sunxi, Rob Herring,
	Frank Rowand, devicetree, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:04:01 +0200, Maxime Ripard wrote:
> Even though we've used the CPU configuration driver for some time and a
> number of boards using it already, we never had a binding for it. Let's
> add it based on what the driver expects and the boards are providing.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml  | 38 +++++++++++++++++++
>  1 file changed, 38 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 31/54] dt-bindings: sunxi: Add CPU Configuration Controller Binding
@ 2021-07-23 22:01     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:01 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, Jernej Skrabec, linux-sunxi, Rob Herring,
	Frank Rowand, devicetree, Chen-Yu Tsai

On Wed, 21 Jul 2021 16:04:01 +0200, Maxime Ripard wrote:
> Even though we've used the CPU configuration driver for some time and a
> number of boards using it already, we never had a binding for it. Let's
> add it based on what the driver expects and the boards are providing.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../sunxi/allwinner,sun6i-a31-cpuconfig.yaml  | 38 +++++++++++++++++++
>  1 file changed, 38 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun6i-a31-cpuconfig.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 32/54] dt-bindings: sunxi: Add Allwinner A80 PRCM Binding
  2021-07-21 14:04   ` Maxime Ripard
@ 2021-07-23 22:02     ` Rob Herring
  -1 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:02 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Chen-Yu Tsai, linux-sunxi, linux-arm-kernel, Frank Rowand,
	devicetree, Jernej Skrabec, Rob Herring

On Wed, 21 Jul 2021 16:04:02 +0200, Maxime Ripard wrote:
> Even though we've used the A80 PRCM driver for some time and a number of
> boards using it already, we never had a binding for it. Let's add it
> based on what the driver expects and the boards are providing.
> 
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
> ---
>  .../arm/sunxi/allwinner,sun9i-a80-prcm.yaml   | 33 +++++++++++++++++++
>  1 file changed, 33 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/sunxi/allwinner,sun9i-a80-prcm.yaml
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 276+ messages in thread

* Re: [PATCH 32/54] dt-bindings: sunxi: Add Allwinner A80 PRCM Binding
@ 2021-07-23 22:02     ` Rob Herring
  0 siblings, 0 replies; 276+ messages in thread
From: Rob Herring @ 2021-07-23 22:02 UTC (