1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 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), and 16 a Digital controller (LVTS_CTRL). 17 18properties: 19 compatible: 20 enum: 21 - mediatek,mt7988-lvts-ap 22 - mediatek,mt8192-lvts-ap 23 - mediatek,mt8192-lvts-mcu 24 - mediatek,mt8195-lvts-ap 25 - mediatek,mt8195-lvts-mcu 26 27 reg: 28 maxItems: 1 29 30 interrupts: 31 maxItems: 1 32 33 clocks: 34 maxItems: 1 35 36 resets: 37 maxItems: 1 38 description: LVTS reset for clearing temporary data on AP/MCU. 39 40 nvmem-cells: 41 minItems: 1 42 items: 43 - description: Calibration eFuse data 1 for LVTS 44 - description: Calibration eFuse data 2 for LVTS 45 46 nvmem-cell-names: 47 minItems: 1 48 items: 49 - const: lvts-calib-data-1 50 - const: lvts-calib-data-2 51 52 "#thermal-sensor-cells": 53 const: 1 54 55allOf: 56 - $ref: thermal-sensor.yaml# 57 58 - if: 59 properties: 60 compatible: 61 contains: 62 enum: 63 - mediatek,mt8192-lvts-ap 64 - mediatek,mt8192-lvts-mcu 65 then: 66 properties: 67 nvmem-cells: 68 maxItems: 1 69 70 nvmem-cell-names: 71 maxItems: 1 72 73 - if: 74 properties: 75 compatible: 76 contains: 77 enum: 78 - mediatek,mt8195-lvts-ap 79 - mediatek,mt8195-lvts-mcu 80 then: 81 properties: 82 nvmem-cells: 83 minItems: 2 84 85 nvmem-cell-names: 86 minItems: 2 87 88required: 89 - compatible 90 - reg 91 - interrupts 92 - clocks 93 - resets 94 - nvmem-cells 95 - nvmem-cell-names 96 - "#thermal-sensor-cells" 97 98additionalProperties: false 99 100examples: 101 - | 102 #include <dt-bindings/interrupt-controller/arm-gic.h> 103 #include <dt-bindings/clock/mt8195-clk.h> 104 #include <dt-bindings/reset/mt8195-resets.h> 105 #include <dt-bindings/thermal/mediatek,lvts-thermal.h> 106 107 soc { 108 #address-cells = <2>; 109 #size-cells = <2>; 110 111 lvts_mcu: thermal-sensor@11278000 { 112 compatible = "mediatek,mt8195-lvts-mcu"; 113 reg = <0 0x11278000 0 0x1000>; 114 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>; 115 clocks = <&infracfg_ao CLK_INFRA_AO_THERM>; 116 resets = <&infracfg_ao MT8195_INFRA_RST4_THERM_CTRL_MCU_SWRST>; 117 nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>; 118 nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2"; 119 #thermal-sensor-cells = <1>; 120 }; 121 }; 122 123 thermal_zones: thermal-zones { 124 cpu0-thermal { 125 polling-delay = <1000>; 126 polling-delay-passive = <250>; 127 thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU0>; 128 129 trips { 130 cpu0_alert: trip-alert { 131 temperature = <85000>; 132 hysteresis = <2000>; 133 type = "passive"; 134 }; 135 136 cpu0_crit: trip-crit { 137 temperature = <100000>; 138 hysteresis = <2000>; 139 type = "critical"; 140 }; 141 }; 142 }; 143 }; 144