mbox series

[v2,0/6] Convert adi,adv7511.txt DT bindings to yaml

Message ID 20200511110611.3142-1-ricardo.canuelo@collabora.com
Headers show
Series Convert adi,adv7511.txt DT bindings to yaml | expand

Message

Ricardo Cañuelo May 11, 2020, 11:06 a.m. UTC
Hi,

This series convert the adi,adv7511.txt DT bindings to json-schema. As a
result of the conversion some dts files needed to be updated.

The changes to the dts files are of three types:

  - Reordering of the I2C slave addresses list of the ADV75xx node. The
    addresses in the 'reg' property and the matching names in
    'reg-names' for an I2C slave don't need to be in any particular
    order, but the DT schema defines these properties as a cell array
    and a string array respectively, which are ordered, so the
    definitions in the dts files must match the order in the binding.

  - Filling the minimum binding requirements. Most of the time this
    means creating a 'ports' node in the boards that don't define
    them. Note, however, that the purpose of this is simply to make the
    definition compliant with the binding. I didn't define any endpoints
    for the ports.

  - Removing unneeded properties.

About the binding conversion:

  - The original binding covered five different devices: ADV7511,
    ADV7511W, ADV7513, ADV7533 and ADV7535. They all share a common set
    of properties but ADV7533 and ADV7535 have enough differences from
    the rest to warrant their own binding file. In v1 I modelled all the
    properties constraints for all five devices in a single file but it
    turned out a bit too complex. Splitting the binding into one for
    ADV7511/11W/13 and another for ADV7533/35 makes them much easier to
    read and maintain.

Patches 1/6 to 5/6 contain the dts changes. Patch 6/6 contains the
binding conversion.

NOTE: the bindings have been tested with:

  make dt_binding_check ARCH=<arch> DT_SCHEMA_FILES=<...adi,adv7511.yaml>
  make dtbs_check ARCH=<arch> DT_SCHEMA_FILES=<...adi,adv7511.yaml>

for <arch> = arm and arm64. dts changes haven't been tested in hardware.

Changes in v2:

  - [Rob] adi,adv7511.yaml split into two files: adi,adv7511.yaml and
    adi,adv7533.yaml.

  - [Rob] Remove maxItems from supplies.

  - Additional DTs fixes:
    - iwg20d-q7-dbcm-ca.dtsi
    - r8a7745-iwg22d-sodimm-dbhd-ca.dts
    - r8a7790-lager.dts
    - r8a7790-stout.dts  
    - r8a7791-koelsch.dts
    - r8a7791-porter.dts
    - r8a7792-blanche.dts
    - r8a7793-gose.dts
    - r8a7794-silk.dts
    - hi6220-hikey.dts
    - r8a77970-eagle.dts
    - r8a77970-v3msk.dts
    - r8a77980-condor.dts
    - r8a77980-v3hsk.dts
    - r8a77990-ebisu.dts

Kind regards,
Ricardo

Ricardo Cañuelo (6):
  arm64: dts: renesas: make hdmi encoder nodes compliant with DT
    bindings
  ARM: dts: renesas: make hdmi encoder nodes compliant with DT bindings
  ARM: dts: zynq: add port definitions to hdmi-tx@39
  arm64: dts: hisilicon: hikey: fixes to comply with adi,adv7533 DT
    binding
  ARM: dts: iwg20d-q7-dbcm-ca: remove unneeded properties in hdmi@39
  dt-bindings: drm: bridge: adi,adv7511.txt: convert to yaml

 .../bindings/display/bridge/adi,adv7511.txt   | 143 -----------
 .../bindings/display/bridge/adi,adv7511.yaml  | 230 ++++++++++++++++++
 .../bindings/display/bridge/adi,adv7533.yaml  | 166 +++++++++++++
 arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi      |   2 -
 .../dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts     |   2 -
 arch/arm/boot/dts/r8a7790-lager.dts           |   2 -
 arch/arm/boot/dts/r8a7790-stout.dts           |   2 -
 arch/arm/boot/dts/r8a7791-koelsch.dts         |   2 -
 arch/arm/boot/dts/r8a7791-porter.dts          |   2 -
 arch/arm/boot/dts/r8a7792-blanche.dts         |   2 -
 arch/arm/boot/dts/r8a7792-wheat.dts           |  12 +-
 arch/arm/boot/dts/r8a7793-gose.dts            |   2 -
 arch/arm/boot/dts/r8a7794-silk.dts            |   2 -
 arch/arm/boot/dts/zynq-zc702.dts              |  10 +
 arch/arm/boot/dts/zynq-zc706.dts              |  10 +
 .../boot/dts/hisilicon/hi3660-hikey960.dts    |  11 +
 .../arm64/boot/dts/hisilicon/hi6220-hikey.dts |   2 +-
 .../arm64/boot/dts/renesas/r8a77970-eagle.dts |   2 -
 .../arm64/boot/dts/renesas/r8a77970-v3msk.dts |   2 -
 .../boot/dts/renesas/r8a77980-condor.dts      |   2 -
 .../arm64/boot/dts/renesas/r8a77980-v3hsk.dts |   2 -
 .../arm64/boot/dts/renesas/r8a77990-ebisu.dts |   2 -
 .../arm64/boot/dts/renesas/r8a77995-draak.dts |   6 +-
 23 files changed, 434 insertions(+), 184 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/display/bridge/adi,adv7511.txt
 create mode 100644 Documentation/devicetree/bindings/display/bridge/adi,adv7511.yaml
 create mode 100644 Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml

Comments

John Stultz Aug. 4, 2020, 8:57 p.m. UTC | #1
On Mon, May 11, 2020 at 4:07 AM Ricardo Cañuelo
<ricardo.canuelo@collabora.com> wrote:
>

> hi3660-hikey960.dts:

>   Define a 'ports' node for 'adv7533: adv7533@39' and the

>   'adi,dsi-lanes' property to make it compliant with the adi,adv7533 DT

>   binding.

>

>   This fills the requirements to meet the binding requirements,

>   remote endpoints are not defined.

>

> hi6220-hikey.dts:

>   Change property name s/pd-gpio/pd-gpios, gpio properties should be

>   plural. This is just a cosmetic change.

>

> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>


As a heads up.
So this change sounds sane, but I just bisected it down as the cause
of a regression on HiKey960 where the adv7511 driver doesn't probe.

I'll dig a bit more on what is going on (the DRM driver is still out
of tree, so maybe the DTS bits for that are not quite right?), but if
you have any suggestions, I'll give those a try.

If anyone is curious, my latest patches for the board is here:
https://git.linaro.org/people/john.stultz/android-dev.git/log/?h=dev/hikey960-mainline-WIP&id=4e6cefcc9bc1c13a503fdcb3768b3fd6479d8655

thanks
-john
John Stultz Aug. 4, 2020, 9:24 p.m. UTC | #2
On Tue, Aug 4, 2020 at 1:57 PM John Stultz <john.stultz@linaro.org> wrote:
>

> On Mon, May 11, 2020 at 4:07 AM Ricardo Cañuelo

> <ricardo.canuelo@collabora.com> wrote:

> >

> > hi3660-hikey960.dts:

> >   Define a 'ports' node for 'adv7533: adv7533@39' and the

> >   'adi,dsi-lanes' property to make it compliant with the adi,adv7533 DT

> >   binding.

> >

> >   This fills the requirements to meet the binding requirements,

> >   remote endpoints are not defined.

> >

> > hi6220-hikey.dts:

> >   Change property name s/pd-gpio/pd-gpios, gpio properties should be

> >   plural. This is just a cosmetic change.

> >

> > Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>

>

> As a heads up.

> So this change sounds sane, but I just bisected it down as the cause

> of a regression on HiKey960 where the adv7511 driver doesn't probe.

>

> I'll dig a bit more on what is going on (the DRM driver is still out

> of tree, so maybe the DTS bits for that are not quite right?), but if

> you have any suggestions, I'll give those a try.


Yes. It ends up the DRM driver dts changes were being done in the
wrong file so it was adding adv7511 bits in the dtsi, which were then
being overridden by your tweak. I'll fixup the pending DRM driver dts
bits. Apologies for the noise.

thanks
-john