devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
@ 2020-03-11  9:48 ` Vinay Simha BN
  2020-03-12 10:34   ` Andrzej Hajda
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Vinay Simha BN @ 2020-03-11  9:48 UTC (permalink / raw)
  To: Andrzej Hajda, Laurent Pinchart
  Cc: Vinay Simha BN, David Airlie, Daniel Vetter, Rob Herring,
	open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

Add yaml documentation for DSI/LVDS tc358775 bridge

Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>

---
v1:
 Initial version
---
 .../bindings/display/bridge/toshiba-tc358775.yaml  | 174 +++++++++++++++++++++
 1 file changed, 174 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 0000000..e9a9544
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
@@ -0,0 +1,174 @@
+# 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@gmail.com>
+
+description: |
+	This binding supports DSI to LVDS bridge TC358775
+
+properties:
+ compatible:
+	const: toshiba,tc358775
+
+ reg:
+   maxItems: 1
+   description: i2c address of the bridge, 0x0f
+
+ tc, dsi-lanes: 1
+   maxItems: 1
+   description: Number of DSI data lanes connected to the DSI host. It should
+  be one of 1, 2, 3 or 4.
+
+ tc, dual-link: 1
+   maxItems: 1
+   description: To configure the LVDS transmitter either as single-link or dual-link.
+
+ 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
+
+    properties:
+      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).
+
+      required:
+      - port@0
+      - port@1
+
+required:
+ - compatible
+ - reg
+ - dsi-lanes
+ - vdd-supply
+ - vddio-supply
+ - stby-gpios
+ - reset-gpios
+ - ports
+
+examples:
+ - |
+   i2c@78b8000 {
+	/* On High speed expansion */
+	label = "HS-I2C2";
+	status = "okay";
+
+	tc_bridge: bridge@f {
+		status = "okay";
+
+		compatible = "toshiba,tc358775";
+		reg = <0x0f>;
+
+		tc,dsi-lanes = <4>;
+		tc,dual-link = <0>;
+
+		vdd-supply = <&pm8916_l2>;
+		vddio-supply = <&pm8916_l6>;
+
+		stby-gpio = <&msmgpio 99 GPIO_ACTIVE_LOW>;
+		reset-gpio = <&msmgpio 72 GPIO_ACTIVE_LOW>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				d2l_in: endpoint {
+					remote-endpoint = <&dsi0_out>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+				d2l_out: endpoint {
+					remote-endpoint = <&panel_in>;
+				};
+			};
+		};
+	};
+  };
+
+  panel: auo,b101xtn01 {
+		status = "okay";
+		compatible = "auo,b101xtn01", "panel-lvds";
+		power-supply = <&pm8916_l14>;
+
+		width-mm = <223>;
+		height-mm = <125>;
+
+		data-mapping = "jeida-24";
+
+		panel-timing {
+			/* 1366x768 @60Hz */
+			clock-frequency = <72000000>;
+			hactive = <1366>;
+			vactive = <768>;
+			hsync-len = <70>;
+			hfront-porch = <20>;
+			hback-porch = <0>;
+			vsync-len = <42>;
+			vfront-porch = <14>;
+			vback-porch = <0>;
+		};
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&d2l_out>;
+			};
+		};
+ };
+
+  mdss@1a00000 {
+	status = "okay";
+
+	mdp@1a01000 {
+		status = "okay";
+	};
+
+	dsi@1a98000 {
+		status = "okay";
+		..
+		ports {
+			port@1 {
+				dsi0_out: endpoint {
+					remote-endpoint = <&d2l_in>;
+					data-lanes = <0 1 2 3>;
+				};
+			};
+		};
+	};
+
+	dsi-phy@1a98300 {
+		status = "okay";
+		..
+	};
+ };
-- 
2.7.4


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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-11  9:48 ` [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings Vinay Simha BN
@ 2020-03-12 10:34   ` Andrzej Hajda
  2020-03-12 14:33   ` Laurent Pinchart
  2020-03-12 15:17   ` Rob Herring
  2 siblings, 0 replies; 8+ messages in thread
From: Andrzej Hajda @ 2020-03-12 10:34 UTC (permalink / raw)
  To: Vinay Simha BN, Laurent Pinchart
  Cc: open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	David Airlie, open list, open list:DRM DRIVERS, Rob Herring

Hi Vinay,

Next time add patch version to de subject of email.


On 11.03.2020 10:48, Vinay Simha BN wrote:
> Add yaml documentation for DSI/LVDS tc358775 bridge
>
> Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
>
> ---
> v1:
>  Initial version
> ---
>  .../bindings/display/bridge/toshiba-tc358775.yaml  | 174 +++++++++++++++++++++
>  1 file changed, 174 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 0000000..e9a9544
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> @@ -0,0 +1,174 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: https://protect2.fireeye.com/url?k=cc9be7f9-9155e4b4-cc9a6cb6-000babff24ad-2a6ce73e1e41d358&u=http://devicetree.org/schemas/display/bridge/toshiba-tc358775.yaml#
> +$schema: https://protect2.fireeye.com/url?k=293d6151-74f3621c-293cea1e-000babff24ad-793c0a803cb80d71&u=http://devicetree.org/meta-schemas/core.yaml#
> +
> +
> +title: Toshiba TC358775 DSI to LVDS bridge bindings
> +
> +maintainers:
> +	- Vinay Simha BN <simhavcs@gmail.com>
> +
> +description: |
> +	This binding supports DSI to LVDS bridge TC358775
> +
> +properties:
> + compatible:
> +	const: toshiba,tc358775
> +
> + reg:
> +   maxItems: 1
> +   description: i2c address of the bridge, 0x0f
> +
> + tc, dsi-lanes: 1
> +   maxItems: 1
> +   description: Number of DSI data lanes connected to the DSI host. It should
> +  be one of 1, 2, 3 or 4.
> +
> + tc, dual-link: 1
> +   maxItems: 1
> +   description: To configure the LVDS transmitter either as single-link or dual-link.


As Laurent commented earlier, it would be better to use two ports. See
for example for input LVDS ports in:

Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.txt

Both should be defined in bindings but the 2nd can be optional in dts.


Regards

Andrzej


> +
> + 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
> +
> +    properties:
> +      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).
> +
> +      required:
> +      - port@0
> +      - port@1
> +
> +required:
> + - compatible
> + - reg
> + - dsi-lanes
> + - vdd-supply
> + - vddio-supply
> + - stby-gpios
> + - reset-gpios
> + - ports
> +
> +examples:
> + - |
> +   i2c@78b8000 {
> +	/* On High speed expansion */
> +	label = "HS-I2C2";
> +	status = "okay";
> +
> +	tc_bridge: bridge@f {
> +		status = "okay";
> +
> +		compatible = "toshiba,tc358775";
> +		reg = <0x0f>;
> +
> +		tc,dsi-lanes = <4>;
> +		tc,dual-link = <0>;
> +
> +		vdd-supply = <&pm8916_l2>;
> +		vddio-supply = <&pm8916_l6>;
> +
> +		stby-gpio = <&msmgpio 99 GPIO_ACTIVE_LOW>;
> +		reset-gpio = <&msmgpio 72 GPIO_ACTIVE_LOW>;
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +				d2l_in: endpoint {
> +					remote-endpoint = <&dsi0_out>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +				d2l_out: endpoint {
> +					remote-endpoint = <&panel_in>;
> +				};
> +			};
> +		};
> +	};
> +  };
> +
> +  panel: auo,b101xtn01 {
> +		status = "okay";
> +		compatible = "auo,b101xtn01", "panel-lvds";
> +		power-supply = <&pm8916_l14>;
> +
> +		width-mm = <223>;
> +		height-mm = <125>;
> +
> +		data-mapping = "jeida-24";
> +
> +		panel-timing {
> +			/* 1366x768 @60Hz */
> +			clock-frequency = <72000000>;
> +			hactive = <1366>;
> +			vactive = <768>;
> +			hsync-len = <70>;
> +			hfront-porch = <20>;
> +			hback-porch = <0>;
> +			vsync-len = <42>;
> +			vfront-porch = <14>;
> +			vback-porch = <0>;
> +		};
> +
> +		port {
> +			panel_in: endpoint {
> +				remote-endpoint = <&d2l_out>;
> +			};
> +		};
> + };
> +
> +  mdss@1a00000 {
> +	status = "okay";
> +
> +	mdp@1a01000 {
> +		status = "okay";
> +	};
> +
> +	dsi@1a98000 {
> +		status = "okay";
> +		..
> +		ports {
> +			port@1 {
> +				dsi0_out: endpoint {
> +					remote-endpoint = <&d2l_in>;
> +					data-lanes = <0 1 2 3>;
> +				};
> +			};
> +		};
> +	};
> +
> +	dsi-phy@1a98300 {
> +		status = "okay";
> +		..
> +	};
> + };



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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-11  9:48 ` [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings Vinay Simha BN
  2020-03-12 10:34   ` Andrzej Hajda
@ 2020-03-12 14:33   ` Laurent Pinchart
  2020-03-12 15:17   ` Rob Herring
  2 siblings, 0 replies; 8+ messages in thread
From: Laurent Pinchart @ 2020-03-12 14:33 UTC (permalink / raw)
  To: Vinay Simha BN
  Cc: Andrzej Hajda, David Airlie, Daniel Vetter, Rob Herring,
	open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

Hello Vinay,

Please take into account the review comments from v1. We can discuss
them in replies to v1 if you have any question. I'll skip reviewing this
version.

On Wed, Mar 11, 2020 at 03:18:24PM +0530, Vinay Simha BN wrote:
> Add yaml documentation for DSI/LVDS tc358775 bridge
> 
> Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
> 
> ---
> v1:
>  Initial version
> ---
>  .../bindings/display/bridge/toshiba-tc358775.yaml  | 174 +++++++++++++++++++++
>  1 file changed, 174 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 0000000..e9a9544
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> @@ -0,0 +1,174 @@
> +# 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@gmail.com>
> +
> +description: |
> +	This binding supports DSI to LVDS bridge TC358775
> +
> +properties:
> + compatible:
> +	const: toshiba,tc358775
> +
> + reg:
> +   maxItems: 1
> +   description: i2c address of the bridge, 0x0f
> +
> + tc, dsi-lanes: 1
> +   maxItems: 1
> +   description: Number of DSI data lanes connected to the DSI host. It should
> +  be one of 1, 2, 3 or 4.
> +
> + tc, dual-link: 1
> +   maxItems: 1
> +   description: To configure the LVDS transmitter either as single-link or dual-link.
> +
> + 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
> +
> +    properties:
> +      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).
> +
> +      required:
> +      - port@0
> +      - port@1
> +
> +required:
> + - compatible
> + - reg
> + - dsi-lanes
> + - vdd-supply
> + - vddio-supply
> + - stby-gpios
> + - reset-gpios
> + - ports
> +
> +examples:
> + - |
> +   i2c@78b8000 {
> +	/* On High speed expansion */
> +	label = "HS-I2C2";
> +	status = "okay";
> +
> +	tc_bridge: bridge@f {
> +		status = "okay";
> +
> +		compatible = "toshiba,tc358775";
> +		reg = <0x0f>;
> +
> +		tc,dsi-lanes = <4>;
> +		tc,dual-link = <0>;
> +
> +		vdd-supply = <&pm8916_l2>;
> +		vddio-supply = <&pm8916_l6>;
> +
> +		stby-gpio = <&msmgpio 99 GPIO_ACTIVE_LOW>;
> +		reset-gpio = <&msmgpio 72 GPIO_ACTIVE_LOW>;
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +				d2l_in: endpoint {
> +					remote-endpoint = <&dsi0_out>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +				d2l_out: endpoint {
> +					remote-endpoint = <&panel_in>;
> +				};
> +			};
> +		};
> +	};
> +  };
> +
> +  panel: auo,b101xtn01 {
> +		status = "okay";
> +		compatible = "auo,b101xtn01", "panel-lvds";
> +		power-supply = <&pm8916_l14>;
> +
> +		width-mm = <223>;
> +		height-mm = <125>;
> +
> +		data-mapping = "jeida-24";
> +
> +		panel-timing {
> +			/* 1366x768 @60Hz */
> +			clock-frequency = <72000000>;
> +			hactive = <1366>;
> +			vactive = <768>;
> +			hsync-len = <70>;
> +			hfront-porch = <20>;
> +			hback-porch = <0>;
> +			vsync-len = <42>;
> +			vfront-porch = <14>;
> +			vback-porch = <0>;
> +		};
> +
> +		port {
> +			panel_in: endpoint {
> +				remote-endpoint = <&d2l_out>;
> +			};
> +		};
> + };
> +
> +  mdss@1a00000 {
> +	status = "okay";
> +
> +	mdp@1a01000 {
> +		status = "okay";
> +	};
> +
> +	dsi@1a98000 {
> +		status = "okay";
> +		..
> +		ports {
> +			port@1 {
> +				dsi0_out: endpoint {
> +					remote-endpoint = <&d2l_in>;
> +					data-lanes = <0 1 2 3>;
> +				};
> +			};
> +		};
> +	};
> +
> +	dsi-phy@1a98300 {
> +		status = "okay";
> +		..
> +	};
> + };

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-11  9:48 ` [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings Vinay Simha BN
  2020-03-12 10:34   ` Andrzej Hajda
  2020-03-12 14:33   ` Laurent Pinchart
@ 2020-03-12 15:17   ` Rob Herring
  2020-03-15 15:24     ` Vinay Simha B N
  2 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2020-03-12 15:17 UTC (permalink / raw)
  To: Vinay Simha BN
  Cc: Andrzej Hajda, Laurent Pinchart, Vinay Simha BN, David Airlie,
	Daniel Vetter, open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Wed, 11 Mar 2020 15:18:24 +0530, Vinay Simha BN wrote:
> Add yaml documentation for DSI/LVDS tc358775 bridge
> 
> Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
> 
> ---
> v1:
>  Initial version
> ---
>  .../bindings/display/bridge/toshiba-tc358775.yaml  | 174 +++++++++++++++++++++
>  1 file changed, 174 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml:  while scanning for the next token
found character that cannot start any token
  in "<unicode string>", line 11, column 1
Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.example.dts' failed
make[1]: *** [Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.example.dts] Error 1
make[1]: *** Waiting for unfinished jobs....
warning: no schema found in file: Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml: ignoring, error parsing file
Makefile:1262: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2

See https://patchwork.ozlabs.org/patch/1252753
Please check and re-submit.

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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-12 15:17   ` Rob Herring
@ 2020-03-15 15:24     ` Vinay Simha B N
  2020-03-17  6:55       ` Vinay Simha B N
  0 siblings, 1 reply; 8+ messages in thread
From: Vinay Simha B N @ 2020-03-15 15:24 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

rob,

i do not get the error when running 'make dt_binding_check' in my
build environment
Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml

is there any tool available similar to  scripts/checkpatch.pl -f
<file> , for yaml files?

On Thu, Mar 12, 2020 at 8:47 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, 11 Mar 2020 15:18:24 +0530, Vinay Simha BN wrote:
> > Add yaml documentation for DSI/LVDS tc358775 bridge
> >
> > Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
> >
> > ---
> > v1:
> >  Initial version
> > ---
> >  .../bindings/display/bridge/toshiba-tc358775.yaml  | 174 +++++++++++++++++++++
> >  1 file changed, 174 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> >
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml:  while scanning for the next token
> found character that cannot start any token
>   in "<unicode string>", line 11, column 1
> Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.example.dts' failed
> make[1]: *** [Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.example.dts] Error 1
> make[1]: *** Waiting for unfinished jobs....
> warning: no schema found in file: Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml: ignoring, error parsing file
> Makefile:1262: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2
>
> See https://patchwork.ozlabs.org/patch/1252753
> Please check and re-submit.



-- 
regards,
vinaysimha

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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-15 15:24     ` Vinay Simha B N
@ 2020-03-17  6:55       ` Vinay Simha B N
  2020-03-17 14:27         ` Sam Ravnborg
  0 siblings, 1 reply; 8+ messages in thread
From: Vinay Simha B N @ 2020-03-17  6:55 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list, Rob Herring

sam,

i need some inputs on the below  error. I had created this file
Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
by using vim editor. Do we have any tool to create yaml file?

i do not get the error when running 'make dt_binding_check' in my
build environment
Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml

is there any tool available similar to  scripts/checkpatch.pl -f
<file> , for yaml files?

On Sun, Mar 15, 2020 at 8:54 PM Vinay Simha B N <simhavcs@gmail.com> wrote:
>
> rob,
>
> i do not get the error when running 'make dt_binding_check' in my
> build environment
> Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
>
> is there any tool available similar to  scripts/checkpatch.pl -f
> <file> , for yaml files?
>
> On Thu, Mar 12, 2020 at 8:47 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Wed, 11 Mar 2020 15:18:24 +0530, Vinay Simha BN wrote:
> > > Add yaml documentation for DSI/LVDS tc358775 bridge
> > >
> > > Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
> > >
> > > ---
> > > v1:
> > >  Initial version
> > > ---
> > >  .../bindings/display/bridge/toshiba-tc358775.yaml  | 174 +++++++++++++++++++++
> > >  1 file changed, 174 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> > >
> >
> > My bot found errors running 'make dt_binding_check' on your patch:
> >
> > Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml:  while scanning for the next token
> > found character that cannot start any token
> >   in "<unicode string>", line 11, column 1
> > Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.example.dts' failed
> > make[1]: *** [Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.example.dts] Error 1
> > make[1]: *** Waiting for unfinished jobs....
> > warning: no schema found in file: Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml: ignoring, error parsing file
> > Makefile:1262: recipe for target 'dt_binding_check' failed
> > make: *** [dt_binding_check] Error 2
> >
> > See https://patchwork.ozlabs.org/patch/1252753
> > Please check and re-submit.
>
>
>
> --
> regards,
> vinaysimha



-- 
regards,
vinaysimha

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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-17  6:55       ` Vinay Simha B N
@ 2020-03-17 14:27         ` Sam Ravnborg
  2020-06-08 10:38           ` Vinay Simha B N
  0 siblings, 1 reply; 8+ messages in thread
From: Sam Ravnborg @ 2020-03-17 14:27 UTC (permalink / raw)
  To: Vinay Simha B N
  Cc: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list, Rob Herring

Hi Vinay.

On Tue, Mar 17, 2020 at 12:25:42PM +0530, Vinay Simha B N wrote:
> sam,
> 
> i need some inputs on the below  error. I had created this file
> Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> by using vim editor. Do we have any tool to create yaml file?

I use vim myself, but is careful to follow the right syntax.

> 
> i do not get the error when running 'make dt_binding_check' in my
> build environment
> Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> 
> is there any tool available similar to  scripts/checkpatch.pl -f
> <file> , for yaml files?

Please read Documentation/devicetree/writing-schema.
Here you can find general info + instruction how to install the tools
required for "make dt_binding_check".

I could reproduce the error reported by Rob.
I gave your binding file a shot - there were a lot of smaller issues:

- do not use tabs in yaml files
- be consistent in indent
- vendor prefixed properties needed some extra care
- example was full of bugs
  - "..."
  - no need for status = "okay";
  - properties spelled wrong

For the example I adjusted it to use indent of 4 spaces, which IMO
is more readable than the two spaces used in the other parts of the 
file.

I have attached the updated binding file - please review and fix.
This is just a quick shot, I did not do a proper review.

Please rename the file, other files in same dir are named "toshiba,xxx",
so replace '-' with ','.

And try to introduce bugs in the example - and check that the tooling
catches the bug.

hint:

    make DT=.../foo.yaml dt_binding_check

is a qucik way to check only your binding.

And for new bindings the preferred license is: (GPL-2.0-only OR BSD-2-Clause)

	Sam

# 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@gmail.com>

description: |
  This binding supports DSI to LVDS bridge TC358775

properties:
  compatible:
    const: toshiba,tc358775

  reg:
    maxItems: 1
    description: i2c address of the bridge, 0x0f

  toshiba,dsi-lanes:
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - minimum: 1
        maximum: 4
        default: 1
    description: bla bla

  toshiba,dual-link:
    $ref: /schemas/types.yaml#definitions/flag
    description: bla bla

  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

    properties:
      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).

    required:
      - port@0
      - port@1

required:
 - compatible
 - reg
 - tc,dsi-lanes
 - vdd-supply
 - vddio-supply
 - stby-gpios
 - reset-gpios
 - ports

examples:
  - |+
    #include <dt-bindings/gpio/gpio.h>

    i2c@78b8000 {
        #address-cells = <1>;
        #size-cells = <0>;

        /* On High speed expansion */
        label = "HS-I2C2";
        status = "okay";

        tc_bridge: bridge@f {
            compatible = "toshiba,tc358775";
            reg = <0x0f>;

            tc,dsi-lanes = <4>;
            tc,dual-link = <0>;

            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: endpoint {
                        remote-endpoint = <&dsi0_out>;
                    };
                };

                port@1 {
                    reg = <1>;
                    d2l_out: endpoint {
                        remote-endpoint = <&panel_in>;
                    };
                };
            };
        };
    };

    panel: auo,b101xtn01 {
        status = "okay";
        compatible = "auo,b101xtn01", "panel-lvds";
        power-supply = <&pm8916_l14>;

        width-mm = <223>;
        height-mm = <125>;

        data-mapping = "jeida-24";

        panel-timing {
            /* 1366x768 @60Hz */
            clock-frequency = <72000000>;
            hactive = <1366>;
            vactive = <768>;
            hsync-len = <70>;
            hfront-porch = <20>;
            hback-porch = <0>;
            vsync-len = <42>;
            vfront-porch = <14>;
            vback-porch = <0>;
        };

        port {
            panel_in: endpoint {
                remote-endpoint = <&d2l_out>;
            };
        };
    };

    mdss {
        dsi@1a98000 {
            ports {
                port@1 {
                    dsi0_out: endpoint {
                        remote-endpoint = <&d2l_in>;
                        data-lanes = <0 1 2 3>;
                    };
                };
            };
        };
    };

...

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

* Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings
  2020-03-17 14:27         ` Sam Ravnborg
@ 2020-06-08 10:38           ` Vinay Simha B N
  0 siblings, 0 replies; 8+ messages in thread
From: Vinay Simha B N @ 2020-06-08 10:38 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	open list:DRM DRIVERS,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list, Rob Herring

sam,

This is my latest yaml file
https://github.com/vinaysimhabn/kernel-msm/blob/5.6.0-rc3-d2l-wip/Documentation/devicetree/bindings/display/bridge/toshiba%2Ctc358775.yaml

 make CROSS_COMPILE=$TC64 ARCH=arm64
DT_SCHEMA_FILES=Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml
dt_binding_check
i am getting these errors
Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.example.dt.yaml:
lvds-out: 'data-mapping', 'height-mm', 'panel-timing', 'width-mm' do
not match any of the regexes: 'pinctrl-[0-9]+'
Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.example.dt.yaml:
lvds-out: compatible: Additional items are not allowed ('panel-lvds'
was unexpected)
Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.example.dt.yaml:
lvds-out: compatible: ['auo,b101xtn01', 'panel-lvds'] is too long

Please suggest how to add the references of panel/lvds.yaml or
panel/panel-common.yaml and panel/advantech,idk-2121wr.yaml in my yaml
file.

On Tue, Mar 17, 2020 at 7:57 PM Sam Ravnborg <sam@ravnborg.org> wrote:
>
> Hi Vinay.
>
> On Tue, Mar 17, 2020 at 12:25:42PM +0530, Vinay Simha B N wrote:
> > sam,
> >
> > i need some inputs on the below  error. I had created this file
> > Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> > by using vim editor. Do we have any tool to create yaml file?
>
> I use vim myself, but is careful to follow the right syntax.
>
> >
> > i do not get the error when running 'make dt_binding_check' in my
> > build environment
> > Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> >
> > is there any tool available similar to  scripts/checkpatch.pl -f
> > <file> , for yaml files?
>
> Please read Documentation/devicetree/writing-schema.
> Here you can find general info + instruction how to install the tools
> required for "make dt_binding_check".
>
> I could reproduce the error reported by Rob.
> I gave your binding file a shot - there were a lot of smaller issues:
>
> - do not use tabs in yaml files
> - be consistent in indent
> - vendor prefixed properties needed some extra care
> - example was full of bugs
>   - "..."
>   - no need for status = "okay";
>   - properties spelled wrong
>
> For the example I adjusted it to use indent of 4 spaces, which IMO
> is more readable than the two spaces used in the other parts of the
> file.
>
> I have attached the updated binding file - please review and fix.
> This is just a quick shot, I did not do a proper review.
>
> Please rename the file, other files in same dir are named "toshiba,xxx",
> so replace '-' with ','.
>
> And try to introduce bugs in the example - and check that the tooling
> catches the bug.
>
> hint:
>
>     make DT=.../foo.yaml dt_binding_check
>
> is a qucik way to check only your binding.
>
> And for new bindings the preferred license is: (GPL-2.0-only OR BSD-2-Clause)
>
>         Sam
>
> # 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@gmail.com>
>
> description: |
>   This binding supports DSI to LVDS bridge TC358775
>
> properties:
>   compatible:
>     const: toshiba,tc358775
>
>   reg:
>     maxItems: 1
>     description: i2c address of the bridge, 0x0f
>
>   toshiba,dsi-lanes:
>     allOf:
>       - $ref: /schemas/types.yaml#/definitions/uint32
>       - minimum: 1
>         maximum: 4
>         default: 1
>     description: bla bla
>
>   toshiba,dual-link:
>     $ref: /schemas/types.yaml#definitions/flag
>     description: bla bla
>
>   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
>
>     properties:
>       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).
>
>     required:
>       - port@0
>       - port@1
>
> required:
>  - compatible
>  - reg
>  - tc,dsi-lanes
>  - vdd-supply
>  - vddio-supply
>  - stby-gpios
>  - reset-gpios
>  - ports
>
> examples:
>   - |+
>     #include <dt-bindings/gpio/gpio.h>
>
>     i2c@78b8000 {
>         #address-cells = <1>;
>         #size-cells = <0>;
>
>         /* On High speed expansion */
>         label = "HS-I2C2";
>         status = "okay";
>
>         tc_bridge: bridge@f {
>             compatible = "toshiba,tc358775";
>             reg = <0x0f>;
>
>             tc,dsi-lanes = <4>;
>             tc,dual-link = <0>;
>
>             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: endpoint {
>                         remote-endpoint = <&dsi0_out>;
>                     };
>                 };
>
>                 port@1 {
>                     reg = <1>;
>                     d2l_out: endpoint {
>                         remote-endpoint = <&panel_in>;
>                     };
>                 };
>             };
>         };
>     };
>
>     panel: auo,b101xtn01 {
>         status = "okay";
>         compatible = "auo,b101xtn01", "panel-lvds";
>         power-supply = <&pm8916_l14>;
>
>         width-mm = <223>;
>         height-mm = <125>;
>
>         data-mapping = "jeida-24";
>
>         panel-timing {
>             /* 1366x768 @60Hz */
>             clock-frequency = <72000000>;
>             hactive = <1366>;
>             vactive = <768>;
>             hsync-len = <70>;
>             hfront-porch = <20>;
>             hback-porch = <0>;
>             vsync-len = <42>;
>             vfront-porch = <14>;
>             vback-porch = <0>;
>         };
>
>         port {
>             panel_in: endpoint {
>                 remote-endpoint = <&d2l_out>;
>             };
>         };
>     };
>
>     mdss {
>         dsi@1a98000 {
>             ports {
>                 port@1 {
>                     dsi0_out: endpoint {
>                         remote-endpoint = <&d2l_in>;
>                         data-lanes = <0 1 2 3>;
>                     };
>                 };
>             };
>         };
>     };
>
> ...



-- 
regards,
vinaysimha

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

end of thread, other threads:[~2020-06-08 10:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20200312080849eucas1p2ebc25fb87cc917986ba0f268272ef2ed@eucas1p2.samsung.com>
2020-03-11  9:48 ` [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings Vinay Simha BN
2020-03-12 10:34   ` Andrzej Hajda
2020-03-12 14:33   ` Laurent Pinchart
2020-03-12 15:17   ` Rob Herring
2020-03-15 15:24     ` Vinay Simha B N
2020-03-17  6:55       ` Vinay Simha B N
2020-03-17 14:27         ` Sam Ravnborg
2020-06-08 10:38           ` Vinay Simha B N

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).