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