Re: [PATCH v5 1/2] dt-binding: Add DSI/LVDS TC358775 bridge bindings

From: Vinay Simha B N
Date: Wed Jul 01 2020 - 05:44:23 EST


sam,

I rechecked, but did not find any indents are too spaced.
This is taken from a working dts tree.

I had given two examples for a purpose. One for single lvds
configuration single link mode,
another is for dual lvds configurations dual-link mode and port mappings.

On Wed, Jul 1, 2020 at 2:49 PM Sam Ravnborg <sam@xxxxxxxxxxxx> wrote:
>
> Hi Vinay.
>
> On Wed, Jul 01, 2020 at 12:33:36PM +0530, Vinay Simha BN wrote:
> > This driver is tested with two panels with Apq8016-IFC6309 board
> > https://www.inforcecomputing.com/products/single-board-computers-sbc/qualcomm-snapdragon-410-inforce-6309-micro-sbc
> >
> > 1. 1366x768@60 auo,b101xtn01 data-mapping = "jeida-24"
> > 2. 800x480@60 innolux,at070tn92 data-mapping = "vesa-24"
> >
> > Signed-off-by: Vinay Simha BN <simhavcs@xxxxxxxxx>
> >
> > ---
> > v1:
> > Initial version wast .txt file
> >
> > v2:
> > From txt to yaml file format
> >
> > v3:
> > * Andrzej Hajda review comments incorporated
> > dual port lvds implemented
> >
> > * Laurent Pinchart review comments incorporated
> > dsi lanes property removed and it is dynamically
> > picked from the dsi ports
> > VESA/JEIDA format picked from panel-lvds dts
> > ---
> > .../display/bridge/toshiba,tc358775.yaml | 204 ++++++++++++++++++
> > 1 file changed, 204 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml b/Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml
> > new file mode 100644
> > index 000000000000..ec53d62d408b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml
> > @@ -0,0 +1,204 @@
> > +# SPDX-License-Identifier: GPL-2.0
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/display/bridge/toshiba,tc358775.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Toshiba TC358775 DSI to LVDS bridge bindings
> > +
> > +maintainers:
> > + - Vinay Simha BN <simhavcs@xxxxxxxxx>
> > +
> > +description: |
> > + This binding supports DSI to LVDS bridge TC358775
> > +
> > +properties:
> > + compatible:
> > + const: toshiba,tc358775
> > +
> > + reg:
> > + maxItems: 1
> > + description: i2c address of the bridge, 0x0f
> > +
> > + vdd-supply:
> > + maxItems: 1
> > + description: 1.2V LVDS Power Supply
> > +
> > + vddio-supply:
> > + maxItems: 1
> > + description: 1.8V IO Power Supply
> > +
> > + stby-gpios:
> > + maxItems: 1
> > + description: Standby pin, Low active
> > +
> > + reset-gpios:
> > + maxItems: 1
> > + description: Hardware reset, Low active
> > +
> > + ports:
> > + type: object
> > + description:
> > + A node containing input and output port nodes with endpoint definitions
> > + as documented in
> > + Documentation/devicetree/bindings/media/video-interfaces.txt
> > + properties:
> > + "#address-cells":
> > + const: 1
> > +
> > + "#size-cells":
> > + const: 0
> > +
> > + port@0:
> > + type: object
> > + description: |
> > + DSI Input. The remote endpoint phandle should be a
> > + reference to a valid mipi_dsi_host device node.
> > +
> > + port@1:
> > + type: object
> > + description: |
> > + Video port for LVDS output (panel or connector).
> > +
> > + port@2:
> > + type: object
> > + description: |
> > + Video port for Dual link LVDS output (panel or connector).
> > +
> > + required:
> > + - port@0
> > + - port@1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - vdd-supply
> > + - vddio-supply
> > + - stby-gpios
> > + - reset-gpios
> > + - ports
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + i2c@78b8000 {
> > + /* On High speed expansion */
> > + label = "HS-I2C2";
> > + reg = <0x078b8000 0x500>;
> > + clock-frequency = <400000>; /* fastmode operation */
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + tc_bridge: bridge@f {
> > + compatible = "toshiba,tc358775";
> > + reg = <0x0f>;
> > +
> > + vdd-supply = <&pm8916_l2>;
> > + vddio-supply = <&pm8916_l6>;
> > +
> > + stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
> > + reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + d2l_in_test: endpoint {
> > + remote-endpoint = <&dsi0_out>;
> > + };
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > + lvds_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > + };
> > + };
> > + };
> > +
> > + dsi@1a98000 {
> > + reg = <0x1a98000 0x25c>;
> > + reg-names = "dsi_ctrl";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + port@1 {
> > + reg = <1>;
> > + dsi0_out: endpoint {
> > + remote-endpoint = <&d2l_in_test>;
> > + data-lanes = <0 1 2 3>;
> > + };
> > + };
> > + };
> > + };
> > +
> Fix indent. One of the '}' is indented one space too much.
>
>
> > + - |
> > + i2c@78b8000 {
> > + /* On High speed expansion */
> > + label = "HS-I2C2";
> > + reg = <0x078b8000 0x500>;
> > + clock-frequency = <400000>; /* fastmode operation */
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> What is the purpose with the second example?
> Does it explain the binding better in some way?
>
> The examples shall help understanding the binding, not help
> understanding the HW. The latter is the role of the binding.
>
>
> > +
> > + tc_bridge_dual: bridge@f {
> > + compatible = "toshiba,tc358775";
> > + reg = <0x0f>;
> > +
> > + vdd-supply = <&pm8916_l2>;
> > + vddio-supply = <&pm8916_l6>;
> > +
> > + stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>;
> > + reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>;
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + d2l_in_dual: endpoint {
> > + remote-endpoint = <&dsi0_out_dual>;
> > + };
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > + lvds0_out: endpoint {
> > + remote-endpoint = <&panel_in0>;
> > + };
> > + };
> > +
> > + port@2 {
> > + reg = <2>;
> > + lvds1_out: endpoint {
> > + remote-endpoint = <&panel_in1>;
> > + };
> > + };
> > + };
> > + };
> > + };
> > +
> > + dsi@1a98000 {
> > + reg = <0x1a98000 0x25c>;
> > + reg-names = "dsi_ctrl";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + port@1 {
> > + reg = <1>;
> > + dsi0_out_dual: endpoint {
> > + remote-endpoint = <&d2l_in_dual>;
> > + data-lanes = <0 1 2 3>;
> > + };
> > + };
> > + };
> > + };
> If this example is kept then fix indent of '}'.
>
> Sam
> > +...
> > --
> > 2.17.1
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel



--
regards,
vinaysimha