brintos

brintos / linux-shallow public Read only

0
0
Text · 3.4 KiB · 0259cd3 Raw
149 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/thermal/mediatek,lvts-thermal.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: MediaTek SoC Low Voltage Thermal Sensor (LVTS)8 9maintainers:10  - Balsam CHIHI <bchihi@baylibre.com>11 12description: |13  LVTS is a thermal management architecture composed of three subsystems,14  a Sensing device - Thermal Sensing Micro Circuit Unit (TSMCU),15  a Converter - Low Voltage Thermal Sensor converter (LVTS), and16  a Digital controller (LVTS_CTRL).17 18properties:19  compatible:20    enum:21      - mediatek,mt7988-lvts-ap22      - mediatek,mt8186-lvts23      - mediatek,mt8188-lvts-ap24      - mediatek,mt8188-lvts-mcu25      - mediatek,mt8192-lvts-ap26      - mediatek,mt8192-lvts-mcu27      - mediatek,mt8195-lvts-ap28      - mediatek,mt8195-lvts-mcu29 30  reg:31    maxItems: 132 33  interrupts:34    maxItems: 135 36  clocks:37    maxItems: 138 39  resets:40    maxItems: 141    description: LVTS reset for clearing temporary data on AP/MCU.42 43  nvmem-cells:44    minItems: 145    items:46      - description: Calibration eFuse data 1 for LVTS47      - description: Calibration eFuse data 2 for LVTS48 49  nvmem-cell-names:50    minItems: 151    items:52      - const: lvts-calib-data-153      - const: lvts-calib-data-254 55  "#thermal-sensor-cells":56    const: 157 58allOf:59  - $ref: thermal-sensor.yaml#60 61  - if:62      properties:63        compatible:64          contains:65            enum:66              - mediatek,mt8188-lvts-ap67              - mediatek,mt8188-lvts-mcu68              - mediatek,mt8192-lvts-ap69              - mediatek,mt8192-lvts-mcu70    then:71      properties:72        nvmem-cells:73          maxItems: 174 75        nvmem-cell-names:76          maxItems: 177 78  - if:79      properties:80        compatible:81          contains:82            enum:83              - mediatek,mt8186-lvts84              - mediatek,mt8195-lvts-ap85              - mediatek,mt8195-lvts-mcu86    then:87      properties:88        nvmem-cells:89          minItems: 290 91        nvmem-cell-names:92          minItems: 293 94required:95  - compatible96  - reg97  - interrupts98  - clocks99  - resets100  - nvmem-cells101  - nvmem-cell-names102 103additionalProperties: false104 105examples:106  - |107    #include <dt-bindings/interrupt-controller/arm-gic.h>108    #include <dt-bindings/clock/mt8195-clk.h>109    #include <dt-bindings/reset/mt8195-resets.h>110    #include <dt-bindings/thermal/mediatek,lvts-thermal.h>111 112    soc {113      #address-cells = <2>;114      #size-cells = <2>;115 116      lvts_mcu: thermal-sensor@11278000 {117        compatible = "mediatek,mt8195-lvts-mcu";118        reg = <0 0x11278000 0 0x1000>;119        interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>;120        clocks = <&infracfg_ao CLK_INFRA_AO_THERM>;121        resets = <&infracfg_ao MT8195_INFRA_RST4_THERM_CTRL_MCU_SWRST>;122        nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>;123        nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2";124        #thermal-sensor-cells = <1>;125      };126    };127 128    thermal_zones: thermal-zones {129      cpu0-thermal {130        polling-delay = <1000>;131        polling-delay-passive = <250>;132        thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU0>;133 134        trips {135          cpu0_alert: trip-alert {136            temperature = <85000>;137            hysteresis = <2000>;138            type = "passive";139          };140 141          cpu0_crit: trip-crit {142            temperature = <100000>;143            hysteresis = <2000>;144            type = "critical";145          };146        };147      };148    };149