Lines Matching +full:dts +full:- +full:bindings
1 .. _dt-writing-bindings:
3 Rules for upstream bindings
6 This section includes general rules for writing bindings that you want to
8 for bindings you don't intend to contribute to the Zephyr Project, but it's a
18 Always check for existing bindings
21 Zephyr aims for devicetree :ref:`dt-source-compatibility`. Therefore, if there
24 justify any Zephyr-specific divergences.
28 - There is an existing binding in the mainline Linux kernel. See
29 :file:`Documentation/devicetree/bindings` in `Linus's tree`_ for existing
30 bindings and the `Linux devicetree documentation`_ for more information.
32 - Your hardware vendor provides an official binding outside of the Linux
47 Bindings which match a compatible must have file names based on the compatible.
49 - For example, a binding for compatible ``vnd,foo`` must be named ``vnd,foo.yaml``.
50 - If the binding is bus-specific, you can append the bus to the file name;
51 for example, if the binding YAML has ``on-bus: bar``, you may name the file
52 ``vnd,foo-bar.yaml``.
57 All recommendations in :ref:`dt-bindings-default` are requirements when
71 .. code-block:: yaml
78 .. code-block:: yaml
86 multi-line descriptions. This in turn makes these long strings
94 uppercase. Use dashes (``-``) instead of underscores. (The one exception to
95 this rule is if you are replicating a well-established binding from somewhere
102 <dt-important-props>` properties.
104 - If your device is manufactured by a specific vendor, then its compatible
108 :zephyr_file:`dts/bindings/vendor-prefixes.txt`, you must use that vendor
111 - If your device is not manufactured by a specific hardware vendor, do **not**
117 - Do not submit additions to Zephyr's :file:`dts/bindings/vendor-prefixes.txt`
122 For custom bindings, you can add a custom
123 :file:`dts/bindings/vendor-prefixes.txt` file to any directory in your
126 own bindings or devicetrees.
128 - We sometimes synchronize Zephyr's vendor-prefixes.txt file with the Linux
131 - If your binding is describing an abstract class of hardware with Zephyr
135 .. _dt-bindings-default-rules:
159 - delays that would be different only under unusual conditions
161 - configuration for devices that have a standard initial configuration (such as
163 - defaults which match the vendor-specified power-on reset value
168 .. code-block:: yaml
171 cs-interval:
177 hold-time-ms:
188 .. code-block:: yaml
205 # of the description. This won't be shown in the bindings index.
217 - Zephyr-specific extensions to bindings we share with upstream Linux. One
218 example is the ``zephyr,vref-mv`` ADC channel property which is common to ADC
219 controllers defined in :zephyr_file:`dts/bindings/adc/adc-controller.yaml`.
221 Zephyr-specific extensions are marked as such with the prefix.
223 - Configuration values that are specific to a Zephyr device driver. One example
224 is the ``zephyr,lazy-load`` property in the :dtcompatible:`ti,bq274xx`
228 we do allow some software configuration in Zephyr's devicetree bindings, as
233 :dtcompatible:`zephyr,ipc-openamp-static-vrings`. In this case, it's permitted