Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-dsi.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: NVIDIA Tegra Display Serial Interface
0008 
0009 maintainers:
0010   - Thierry Reding <thierry.reding@gmail.com>
0011   - Jon Hunter <jonathanh@nvidia.com>
0012 
0013 properties:
0014   compatible:
0015     oneOf:
0016       - enum:
0017           - nvidia,tegra20-dsi
0018           - nvidia,tegra30-dsi
0019           - nvidia,tegra114-dsi
0020           - nvidia,tegra124-dsi
0021           - nvidia,tegra210-dsi
0022           - nvidia,tegra186-dsi
0023 
0024       - items:
0025           - const: nvidia,tegra132-dsi
0026           - const: nvidia,tegra124-dsi
0027 
0028   reg:
0029     maxItems: 1
0030 
0031   interrupts:
0032     maxItems: 1
0033 
0034   clocks:
0035     minItems: 2
0036     maxItems: 3
0037 
0038   clock-names:
0039     minItems: 2
0040     maxItems: 3
0041 
0042   resets:
0043     items:
0044       - description: module reset
0045 
0046   reset-names:
0047     items:
0048       - const: dsi
0049 
0050   operating-points-v2:
0051     $ref: "/schemas/types.yaml#/definitions/phandle"
0052 
0053   power-domains:
0054     maxItems: 1
0055 
0056   avdd-dsi-csi-supply:
0057     description: phandle of a supply that powers the DSI controller
0058 
0059   nvidia,mipi-calibrate:
0060     description: Should contain a phandle and a specifier specifying
0061       which pads are used by this DSI output and need to be
0062       calibrated. See nvidia,tegra114-mipi.yaml for details.
0063     $ref: "/schemas/types.yaml#/definitions/phandle-array"
0064 
0065   nvidia,ddc-i2c-bus:
0066     description: phandle of an I2C controller used for DDC EDID
0067       probing
0068     $ref: "/schemas/types.yaml#/definitions/phandle"
0069 
0070   nvidia,hpd-gpio:
0071     description: specifies a GPIO used for hotplug detection
0072     maxItems: 1
0073 
0074   nvidia,edid:
0075     description: supplies a binary EDID blob
0076     $ref: "/schemas/types.yaml#/definitions/uint8-array"
0077 
0078   nvidia,panel:
0079     description: phandle of a display panel
0080     $ref: "/schemas/types.yaml#/definitions/phandle"
0081 
0082   nvidia,ganged-mode:
0083     description: contains a phandle to a second DSI controller to
0084       gang up with in order to support up to 8 data lanes
0085     $ref: "/schemas/types.yaml#/definitions/phandle"
0086 
0087 allOf:
0088   - $ref: "../dsi-controller.yaml#"
0089   - if:
0090       properties:
0091         compatible:
0092           contains:
0093             enum:
0094               - nvidia,tegra20-dsi
0095               - nvidia,tegra30-dsi
0096     then:
0097       properties:
0098         clocks:
0099           items:
0100             - description: DSI module clock
0101             - description: input for the pixel clock
0102 
0103         clock-names:
0104           items:
0105             - const: dsi
0106             - const: parent
0107     else:
0108       properties:
0109         clocks:
0110           items:
0111             - description: DSI module clock
0112             - description: low-power module clock
0113             - description: input for the pixel clock
0114 
0115         clock-names:
0116           items:
0117             - const: dsi
0118             - const: lp
0119             - const: parent
0120 
0121   - if:
0122       properties:
0123         compatible:
0124           contains:
0125             const: nvidia,tegra186-dsi
0126     then:
0127       required:
0128         - interrupts
0129 
0130 unevaluatedProperties: false
0131 
0132 required:
0133   - compatible
0134   - reg
0135   - clocks
0136   - clock-names
0137   - resets
0138   - reset-names
0139 
0140 examples:
0141   - |
0142     #include <dt-bindings/clock/tegra186-clock.h>
0143     #include <dt-bindings/interrupt-controller/arm-gic.h>
0144     #include <dt-bindings/power/tegra186-powergate.h>
0145     #include <dt-bindings/reset/tegra186-reset.h>
0146 
0147     dsi@15300000 {
0148         compatible = "nvidia,tegra186-dsi";
0149         reg = <0x15300000 0x10000>;
0150         interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
0151         clocks = <&bpmp TEGRA186_CLK_DSI>,
0152                  <&bpmp TEGRA186_CLK_DSIA_LP>,
0153                  <&bpmp TEGRA186_CLK_PLLD>;
0154         clock-names = "dsi", "lp", "parent";
0155         resets = <&bpmp TEGRA186_RESET_DSI>;
0156         reset-names = "dsi";
0157 
0158         power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
0159     };