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/thermal/ti,j72xx-thermal.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Texas Instruments J72XX VTM (DTS)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Keerthy <j-keerthy@ti.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The TI K3 family of SoCs typically have a Voltage & Thermal
1462306a36Sopenharmony_ci  Management (VTM) device to control up to 8 temperature diode
1562306a36Sopenharmony_ci  sensors to measure silicon junction temperatures from different
1662306a36Sopenharmony_ci  hotspots of the chip as well as provide temperature, interrupt
1762306a36Sopenharmony_ci  and alerting information.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  The following polynomial equation can then be used to convert
2062306a36Sopenharmony_ci  value returned by this device into a temperature in Celsius
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  Temp(C) = (-9.2627e-12) * x^4 + (6.0373e-08) * x^3 + \
2362306a36Sopenharmony_ci            (-1.7058e-04) * x^2 + (3.2512e-01) * x   + (-4.9003e+01)
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciproperties:
2662306a36Sopenharmony_ci  compatible:
2762306a36Sopenharmony_ci    enum:
2862306a36Sopenharmony_ci      - ti,j721e-vtm
2962306a36Sopenharmony_ci      - ti,j7200-vtm
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  reg:
3262306a36Sopenharmony_ci    items:
3362306a36Sopenharmony_ci      - description: VTM cfg1 register space
3462306a36Sopenharmony_ci      - description: VTM cfg2 register space
3562306a36Sopenharmony_ci      - description: |
3662306a36Sopenharmony_ci          A software trimming method must be applied to some Jacinto
3762306a36Sopenharmony_ci          devices to function properly. This eFuse region provides
3862306a36Sopenharmony_ci          the information needed for these SoCs to report
3962306a36Sopenharmony_ci          temperatures accurately.
4062306a36Sopenharmony_ci    minItems: 2
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  power-domains:
4362306a36Sopenharmony_ci    maxItems: 1
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  "#thermal-sensor-cells":
4662306a36Sopenharmony_ci    const: 1
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciallOf:
4962306a36Sopenharmony_ci  - if:
5062306a36Sopenharmony_ci      properties:
5162306a36Sopenharmony_ci        compatible:
5262306a36Sopenharmony_ci          contains:
5362306a36Sopenharmony_ci            const: ti,j721e-vtm
5462306a36Sopenharmony_ci    then:
5562306a36Sopenharmony_ci      properties:
5662306a36Sopenharmony_ci        reg:
5762306a36Sopenharmony_ci          minItems: 3
5862306a36Sopenharmony_ci    else:
5962306a36Sopenharmony_ci      properties:
6062306a36Sopenharmony_ci        reg:
6162306a36Sopenharmony_ci          maxItems: 2
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_cirequired:
6462306a36Sopenharmony_ci  - compatible
6562306a36Sopenharmony_ci  - reg
6662306a36Sopenharmony_ci  - power-domains
6762306a36Sopenharmony_ci  - "#thermal-sensor-cells"
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciadditionalProperties: false
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciexamples:
7262306a36Sopenharmony_ci  - |
7362306a36Sopenharmony_ci    #include <dt-bindings/soc/ti,sci_pm_domain.h>
7462306a36Sopenharmony_ci    wkup_vtm0: thermal-sensor@42040000 {
7562306a36Sopenharmony_ci        compatible = "ti,j721e-vtm";
7662306a36Sopenharmony_ci        reg = <0x42040000 0x350>,
7762306a36Sopenharmony_ci              <0x42050000 0x350>,
7862306a36Sopenharmony_ci              <0x43000300 0x10>;
7962306a36Sopenharmony_ci        power-domains = <&k3_pds 154 TI_SCI_PD_EXCLUSIVE>;
8062306a36Sopenharmony_ci        #thermal-sensor-cells = <1>;
8162306a36Sopenharmony_ci    };
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci    mpu_thermal: mpu-thermal {
8462306a36Sopenharmony_ci        polling-delay-passive = <250>; /* milliseconds */
8562306a36Sopenharmony_ci        polling-delay = <500>; /* milliseconds */
8662306a36Sopenharmony_ci        thermal-sensors = <&wkup_vtm0 0>;
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci        trips {
8962306a36Sopenharmony_ci            mpu_crit: mpu-crit {
9062306a36Sopenharmony_ci                temperature = <125000>; /* milliCelsius */
9162306a36Sopenharmony_ci                hysteresis = <2000>; /* milliCelsius */
9262306a36Sopenharmony_ci                type = "critical";
9362306a36Sopenharmony_ci            };
9462306a36Sopenharmony_ci        };
9562306a36Sopenharmony_ci    };
9662306a36Sopenharmony_ci...
97