162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra114-mipi.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVIDIA Tegra MIPI pad calibration controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Thierry Reding <thierry.reding@gmail.com>
1162306a36Sopenharmony_ci  - Jon Hunter <jonathanh@nvidia.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciproperties:
1462306a36Sopenharmony_ci  $nodename:
1562306a36Sopenharmony_ci    pattern: "^mipi@[0-9a-f]+$"
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  compatible:
1862306a36Sopenharmony_ci    enum:
1962306a36Sopenharmony_ci      - nvidia,tegra114-mipi
2062306a36Sopenharmony_ci      - nvidia,tegra210-mipi
2162306a36Sopenharmony_ci      - nvidia,tegra186-mipi
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  clocks:
2762306a36Sopenharmony_ci    items:
2862306a36Sopenharmony_ci      - description: module clock
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  clock-names:
3162306a36Sopenharmony_ci    items:
3262306a36Sopenharmony_ci      - const: mipi-cal
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  power-domains:
3562306a36Sopenharmony_ci    maxItems: 1
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  "#nvidia,mipi-calibrate-cells":
3862306a36Sopenharmony_ci    description: The number of cells in a MIPI calibration specifier.
3962306a36Sopenharmony_ci      Should be 1. The single cell specifies a bitmask of the pads that
4062306a36Sopenharmony_ci      need to be calibrated for a given device.
4162306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
4262306a36Sopenharmony_ci    const: 1
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciadditionalProperties: false
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_cirequired:
4762306a36Sopenharmony_ci  - compatible
4862306a36Sopenharmony_ci  - reg
4962306a36Sopenharmony_ci  - clocks
5062306a36Sopenharmony_ci  - "#nvidia,mipi-calibrate-cells"
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciexamples:
5362306a36Sopenharmony_ci  - |
5462306a36Sopenharmony_ci    #include <dt-bindings/clock/tegra114-car.h>
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci    mipi@700e3000 {
5762306a36Sopenharmony_ci        compatible = "nvidia,tegra114-mipi";
5862306a36Sopenharmony_ci        reg = <0x700e3000 0x100>;
5962306a36Sopenharmony_ci        clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>;
6062306a36Sopenharmony_ci        clock-names = "mipi-cal";
6162306a36Sopenharmony_ci        #nvidia,mipi-calibrate-cells = <1>;
6262306a36Sopenharmony_ci    };
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci    dsia: dsi@54300000 {
6562306a36Sopenharmony_ci        compatible = "nvidia,tegra114-dsi";
6662306a36Sopenharmony_ci        reg = <0x54300000 0x00040000>;
6762306a36Sopenharmony_ci        clocks = <&tegra_car TEGRA114_CLK_DSIA>,
6862306a36Sopenharmony_ci                 <&tegra_car TEGRA114_CLK_DSIALP>,
6962306a36Sopenharmony_ci                 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>;
7062306a36Sopenharmony_ci        clock-names = "dsi", "lp", "parent";
7162306a36Sopenharmony_ci        resets = <&tegra_car 48>;
7262306a36Sopenharmony_ci        reset-names = "dsi";
7362306a36Sopenharmony_ci        nvidia,mipi-calibrate = <&mipi 0x060>; /* DSIA & DSIB pads */
7462306a36Sopenharmony_ci    };
75