On Mon, Jul 06, 2026 at 10:08:57AM +0200, Geert Uytterhoeven wrote:
> On Sun, 5 Jul 2026 at 23:35, Laurent Pinchart wrote:
> > Since DDC version 2, introduced in 1996, VGA monitors have exposed EDID
> > data over an I2C bus. The bus is also used to detect the presence of a
> > connected monitor by trying to read the EDID data.
> >
> > Some devices where the VGA display is integrated in the device and
> > always connected do not connect the DDC pins. Some development boards,
> > such as the Renesas M3N Salvator-XS, also do not connect the DDC pins.
> >
> > To support those, add the ability to provide hardcoded EDID data in the
> > device tree. This is mutually exclusive with specifying a DDC bus, and
> > can only be done when the VGA display is guaranteed to be always
> > connected.
> >
> > Signed-off-by: Laurent Pinchart <[email protected]>
> 
> Thanks for your patch!
> 
> > --- a/Documentation/devicetree/bindings/display/connector/vga-connector.yaml
> > +++ b/Documentation/devicetree/bindings/display/connector/vga-connector.yaml
> > @@ -19,10 +19,25 @@ properties:
> >      description: phandle link to the I2C controller used for DDC EDID 
> > probing
> >      $ref: /schemas/types.yaml#/definitions/phandle
> >
> > +  edid:
> > +    $ref: /schemas/types.yaml#/definitions/uint8-array
> > +    description:
> > +      When the DDC signals are not wired to the connector, and the 
> > connected
> > +      display is not removable, this property is used to supply a binary 
> > EDID
> > +      blob for the display.
> > +
> >    port:
> >      $ref: /schemas/graph.yaml#/properties/port
> >      description: Connection to controller providing VGA signals
> >
> > +allOf:
> > +  - if:
> > +      required:
> > +        - ddc-i2c-bus
> > +    then:
> > +      properties:
> > +        edid: false
> > +
> 
> What if the DDC signals are wired to the connector on the provider side,
> but not on the consumer side?
> A DT overlay describing the consumer device can add an edid property,
> but it cannot delete the ddc-i2c-bus property in the base DTB.

As the use case is devices where the VGA display is an integral part of
the device, I don't this this is a big issue. I would be quite surprised
if a manufacturer wanted to support different SKUs with multiple VGA
display overlays, with the DDC signals wired up in the base board on all
SKUs, and on the VGA display side in some SKUs only. If that happened,
they could set the ddc-i2c-bus property in the overlays that wire the
signals, implement /delete-property/ support for overlays (would be an
interesting feature in my opinion), or as a very last resort propose
relaxing the constraint here.

> >  required:
> >    - compatible
> >    - port

-- 
Regards,

Laurent Pinchart

Reply via email to