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@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 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>; }; }; }; }; }; ...