Message ID | 20211124172553.519309-1-jagan@amarulasolutions.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] dt-bindings: display: bridge: Add TI DLPC3433 bindings | expand |
Hi Jagan, On Wed, Nov 24, 2021 at 2:26 PM Jagan Teki <jagan@amarulasolutions.com> wrote: > > TI DLPC3433 is a MIPI DSI based display controller bridge > for processing high resolution DMD based projectors. > > It has a flexible configuration of MIPI DSI signal input > produces RGB565, RGB666, RGB888 output format with maximum > of 720p resolution in 60 and 120 Hz refresh rates. > > Add dt-bingings for it. > > Signed-off-by: Christopher Vollo <chris@renewoutreach.org> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > --- > .../bindings/display/bridge/ti,dlpc3433.yaml | 112 ++++++++++++++++++ > MAINTAINERS | 6 + Shouldn't the MAINTAINERS change be part of patch 2/2 instead?
Hi Jagan, Thank you for the patch. On Wed, Nov 24, 2021 at 10:55:52PM +0530, Jagan Teki wrote: > TI DLPC3433 is a MIPI DSI based display controller bridge > for processing high resolution DMD based projectors. > > It has a flexible configuration of MIPI DSI signal input > produces RGB565, RGB666, RGB888 output format with maximum > of 720p resolution in 60 and 120 Hz refresh rates. > > Add dt-bingings for it. > > Signed-off-by: Christopher Vollo <chris@renewoutreach.org> > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > --- > .../bindings/display/bridge/ti,dlpc3433.yaml | 112 ++++++++++++++++++ > MAINTAINERS | 6 + > 2 files changed, 118 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml b/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > new file mode 100644 > index 000000000000..3ade3a575c3e > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > @@ -0,0 +1,112 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/bridge/ti,dlpc3433.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI DLPC3433 Display Controller > + > +maintainers: > + - Jagan Teki <jagan@amarulasolutions.com> > + - Christopher Vollo <chris@renewoutreach.org> > + > +description: | > + The DLPC3433 or DLPC3438 controllers provide a convenient, > + multi-functional interface between system electronics and > + the DMD, enabling small form factor, low power, and high > + resolution HD displays. You may want to mention in the title and/or description that this is a DSI to DMD bridge. Actually, the device also supports a DPI input, which should be modelled in the DT bindings. > + > +properties: > + compatible: > + enum: > + - ti,dlpc3433 Or just compatible: const: ti,dlpc3433 > + > + reg: > + maxItems: 1 > + description: virtual channel number of a DSI peripheral I don't think this is right, the reg is the I2C address. You can drop the description. > + > + enable-gpios: > + description: PROJ_EN pin, chip powers up PROJ_EN is high. It's called PROJ_ON, not PROJ_EN, in the datasheet. > + > + vcc_intf-supply: > + description: A 1.8V/3.3V supply that power the Host I/O. > + > + vcc_flsh-supply: > + description: A 1.8V/3.3V supply that power the Flash I/O. > + > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + > + properties: > + port@0: > + $ref: /schemas/graph.yaml#/$defs/port-base > + unevaluatedProperties: false > + description: Video port for MIPI DSI input. > + > + properties: > + endpoint: > + $ref: /schemas/media/video-interfaces.yaml# > + unevaluatedProperties: false > + > + properties: > + data-lanes: > + description: array of physical DSI data lane indexes. > + minItems: 1 > + items: > + - const: 1 > + - const: 2 > + - const: 3 > + - const: 4 > + > + port@1: > + $ref: /schemas/graph.yaml#/properties/port > + description: Video port for DPI output (DMD Projector). The output isn't DPI, but DMD. > + > + required: > + - port@0 > + - port@1 > + > +required: > + - compatible > + - reg > + - enable-gpios Can the chip be used with the PROJ_ON input hardwired to a high logic state, or does it need to be controlled ? > + - ports > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + > + i2c1 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + bridge@1d { > + compatible = "ti,dlpc3433"; > + reg = <0x1d>; > + enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + > + bridge_in_dsi: endpoint { > + remote-endpoint = <&dsi_out_bridge>; > + data-lanes = <1 2 3 4>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + > + bridge_out_panel: endpoint { > + remote-endpoint = <&panel_out_bridge>; > + }; > + }; > + }; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index f32c7d733255..a3019399dec0 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -6198,6 +6198,12 @@ DRM DRIVER FOR TDFX VIDEO CARDS > S: Orphan / Obsolete > F: drivers/gpu/drm/tdfx/ > > +DRM DRIVER FOR TI DLPC3433 MIPI DSI DISPLAY CONTROLLER BRIDGE > +M: Jagan Teki <jagan@amarulasolutions.com> > +M: Christopher Vollo <chris@renewoutreach.org> > +S: Maintained > +F: Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > + > DRM DRIVER FOR TPO TPG110 PANELS > M: Linus Walleij <linus.walleij@linaro.org> > S: Maintained
Hi Fabio, On Thu, Nov 25, 2021 at 12:47 AM Fabio Estevam <festevam@gmail.com> wrote: > > Hi Jagan, > > On Wed, Nov 24, 2021 at 2:26 PM Jagan Teki <jagan@amarulasolutions.com> wrote: > > > > TI DLPC3433 is a MIPI DSI based display controller bridge > > for processing high resolution DMD based projectors. > > > > It has a flexible configuration of MIPI DSI signal input > > produces RGB565, RGB666, RGB888 output format with maximum > > of 720p resolution in 60 and 120 Hz refresh rates. > > > > Add dt-bingings for it. > > > > Signed-off-by: Christopher Vollo <chris@renewoutreach.org> > > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > > --- > > .../bindings/display/bridge/ti,dlpc3433.yaml | 112 ++++++++++++++++++ > > MAINTAINERS | 6 + > > Shouldn't the MAINTAINERS change be part of patch 2/2 instead? I usually go the initial entry as part of bindings patch since checkpatch fires a warning if i added 2/2 WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #23: new file mode 100644 Jagan.
Hi Laurent, On Thu, Nov 25, 2021 at 3:53 AM Laurent Pinchart <laurent.pinchart@ideasonboard.com> wrote: > > Hi Jagan, > > Thank you for the patch. > > On Wed, Nov 24, 2021 at 10:55:52PM +0530, Jagan Teki wrote: > > TI DLPC3433 is a MIPI DSI based display controller bridge > > for processing high resolution DMD based projectors. > > > > It has a flexible configuration of MIPI DSI signal input > > produces RGB565, RGB666, RGB888 output format with maximum > > of 720p resolution in 60 and 120 Hz refresh rates. > > > > Add dt-bingings for it. > > > > Signed-off-by: Christopher Vollo <chris@renewoutreach.org> > > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> > > --- > > .../bindings/display/bridge/ti,dlpc3433.yaml | 112 ++++++++++++++++++ > > MAINTAINERS | 6 + > > 2 files changed, 118 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml b/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > > new file mode 100644 > > index 000000000000..3ade3a575c3e > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml > > @@ -0,0 +1,112 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/display/bridge/ti,dlpc3433.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: TI DLPC3433 Display Controller > > + > > +maintainers: > > + - Jagan Teki <jagan@amarulasolutions.com> > > + - Christopher Vollo <chris@renewoutreach.org> > > + > > +description: | > > + The DLPC3433 or DLPC3438 controllers provide a convenient, > > + multi-functional interface between system electronics and > > + the DMD, enabling small form factor, low power, and high > > + resolution HD displays. > > You may want to mention in the title and/or description that this is a > DSI to DMD bridge. Actually, the device also supports a DPI input, which > should be modelled in the DT bindings. How can we model DPI since it is a DSI bridge bindings? Does it mean we can add another node example to have DPI instead of DSI? > > > + > > +properties: > > + compatible: > > + enum: > > + - ti,dlpc3433 > > Or just > > compatible: > const: ti,dlpc3433 > > > + > > + reg: > > + maxItems: 1 > > + description: virtual channel number of a DSI peripheral > > I don't think this is right, the reg is the I2C address. You can drop > the description. > > > + > > + enable-gpios: > > + description: PROJ_EN pin, chip powers up PROJ_EN is high. > > It's called PROJ_ON, not PROJ_EN, in the datasheet. > > > + > > + vcc_intf-supply: > > + description: A 1.8V/3.3V supply that power the Host I/O. > > + > > + vcc_flsh-supply: > > + description: A 1.8V/3.3V supply that power the Flash I/O. > > + > > + ports: > > + $ref: /schemas/graph.yaml#/properties/ports > > + > > + properties: > > + port@0: > > + $ref: /schemas/graph.yaml#/$defs/port-base > > + unevaluatedProperties: false > > + description: Video port for MIPI DSI input. > > + > > + properties: > > + endpoint: > > + $ref: /schemas/media/video-interfaces.yaml# > > + unevaluatedProperties: false > > + > > + properties: > > + data-lanes: > > + description: array of physical DSI data lane indexes. > > + minItems: 1 > > + items: > > + - const: 1 > > + - const: 2 > > + - const: 3 > > + - const: 4 > > + > > + port@1: > > + $ref: /schemas/graph.yaml#/properties/port > > + description: Video port for DPI output (DMD Projector). > > The output isn't DPI, but DMD. > > > + > > + required: > > + - port@0 > > + - port@1 > > + > > +required: > > + - compatible > > + - reg > > + - enable-gpios > > Can the chip be used with the PROJ_ON input hardwired to a high logic > state, or does it need to be controlled ? PROJ_ON require an explicit enablement via driver in order to have device out-of-reset. Thanks, Jagan.
diff --git a/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml b/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml new file mode 100644 index 000000000000..3ade3a575c3e --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/ti,dlpc3433.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI DLPC3433 Display Controller + +maintainers: + - Jagan Teki <jagan@amarulasolutions.com> + - Christopher Vollo <chris@renewoutreach.org> + +description: | + The DLPC3433 or DLPC3438 controllers provide a convenient, + multi-functional interface between system electronics and + the DMD, enabling small form factor, low power, and high + resolution HD displays. + +properties: + compatible: + enum: + - ti,dlpc3433 + + reg: + maxItems: 1 + description: virtual channel number of a DSI peripheral + + enable-gpios: + description: PROJ_EN pin, chip powers up PROJ_EN is high. + + vcc_intf-supply: + description: A 1.8V/3.3V supply that power the Host I/O. + + vcc_flsh-supply: + description: A 1.8V/3.3V supply that power the Flash I/O. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Video port for MIPI DSI input. + + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + data-lanes: + description: array of physical DSI data lane indexes. + minItems: 1 + items: + - const: 1 + - const: 2 + - const: 3 + - const: 4 + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for DPI output (DMD Projector). + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - enable-gpios + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + bridge@1d { + compatible = "ti,dlpc3433"; + reg = <0x1d>; + enable-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + bridge_in_dsi: endpoint { + remote-endpoint = <&dsi_out_bridge>; + data-lanes = <1 2 3 4>; + }; + }; + + port@1 { + reg = <1>; + + bridge_out_panel: endpoint { + remote-endpoint = <&panel_out_bridge>; + }; + }; + }; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index f32c7d733255..a3019399dec0 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6198,6 +6198,12 @@ DRM DRIVER FOR TDFX VIDEO CARDS S: Orphan / Obsolete F: drivers/gpu/drm/tdfx/ +DRM DRIVER FOR TI DLPC3433 MIPI DSI DISPLAY CONTROLLER BRIDGE +M: Jagan Teki <jagan@amarulasolutions.com> +M: Christopher Vollo <chris@renewoutreach.org> +S: Maintained +F: Documentation/devicetree/bindings/display/bridge/ti,dlpc3433.yaml + DRM DRIVER FOR TPO TPG110 PANELS M: Linus Walleij <linus.walleij@linaro.org> S: Maintained