1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/thermal/med 4 $id: http://devicetree.org/schemas/thermal/mediatek,lvts-thermal.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: MediaTek SoC Low Voltage Thermal Sensor 7 title: MediaTek SoC Low Voltage Thermal Sensor (LVTS) 8 8 9 maintainers: 9 maintainers: 10 - Balsam CHIHI <bchihi@baylibre.com> 10 - Balsam CHIHI <bchihi@baylibre.com> 11 11 12 description: | 12 description: | 13 LVTS is a thermal management architecture co 13 LVTS is a thermal management architecture composed of three subsystems, 14 a Sensing device - Thermal Sensing Micro Cir 14 a Sensing device - Thermal Sensing Micro Circuit Unit (TSMCU), 15 a Converter - Low Voltage Thermal Sensor con 15 a Converter - Low Voltage Thermal Sensor converter (LVTS), and 16 a Digital controller (LVTS_CTRL). 16 a Digital controller (LVTS_CTRL). 17 17 18 properties: 18 properties: 19 compatible: 19 compatible: 20 enum: 20 enum: 21 - mediatek,mt7988-lvts-ap 21 - mediatek,mt7988-lvts-ap 22 - mediatek,mt8186-lvts 22 - mediatek,mt8186-lvts 23 - mediatek,mt8188-lvts-ap 23 - mediatek,mt8188-lvts-ap 24 - mediatek,mt8188-lvts-mcu 24 - mediatek,mt8188-lvts-mcu 25 - mediatek,mt8192-lvts-ap 25 - mediatek,mt8192-lvts-ap 26 - mediatek,mt8192-lvts-mcu 26 - mediatek,mt8192-lvts-mcu 27 - mediatek,mt8195-lvts-ap 27 - mediatek,mt8195-lvts-ap 28 - mediatek,mt8195-lvts-mcu 28 - mediatek,mt8195-lvts-mcu 29 29 30 reg: 30 reg: 31 maxItems: 1 31 maxItems: 1 32 32 33 interrupts: 33 interrupts: 34 maxItems: 1 34 maxItems: 1 35 35 36 clocks: 36 clocks: 37 maxItems: 1 37 maxItems: 1 38 38 39 resets: 39 resets: 40 maxItems: 1 40 maxItems: 1 41 description: LVTS reset for clearing tempo 41 description: LVTS reset for clearing temporary data on AP/MCU. 42 42 43 nvmem-cells: 43 nvmem-cells: 44 minItems: 1 44 minItems: 1 45 items: 45 items: 46 - description: Calibration eFuse data 1 46 - description: Calibration eFuse data 1 for LVTS 47 - description: Calibration eFuse data 2 47 - description: Calibration eFuse data 2 for LVTS 48 48 49 nvmem-cell-names: 49 nvmem-cell-names: 50 minItems: 1 50 minItems: 1 51 items: 51 items: 52 - const: lvts-calib-data-1 52 - const: lvts-calib-data-1 53 - const: lvts-calib-data-2 53 - const: lvts-calib-data-2 54 54 55 "#thermal-sensor-cells": 55 "#thermal-sensor-cells": 56 const: 1 56 const: 1 57 57 58 allOf: 58 allOf: 59 - $ref: thermal-sensor.yaml# 59 - $ref: thermal-sensor.yaml# 60 60 61 - if: 61 - if: 62 properties: 62 properties: 63 compatible: 63 compatible: 64 contains: 64 contains: 65 enum: 65 enum: 66 - mediatek,mt8188-lvts-ap 66 - mediatek,mt8188-lvts-ap 67 - mediatek,mt8188-lvts-mcu 67 - mediatek,mt8188-lvts-mcu 68 - mediatek,mt8192-lvts-ap 68 - mediatek,mt8192-lvts-ap 69 - mediatek,mt8192-lvts-mcu 69 - mediatek,mt8192-lvts-mcu 70 then: 70 then: 71 properties: 71 properties: 72 nvmem-cells: 72 nvmem-cells: 73 maxItems: 1 73 maxItems: 1 74 74 75 nvmem-cell-names: 75 nvmem-cell-names: 76 maxItems: 1 76 maxItems: 1 77 77 78 - if: 78 - if: 79 properties: 79 properties: 80 compatible: 80 compatible: 81 contains: 81 contains: 82 enum: 82 enum: 83 - mediatek,mt8186-lvts 83 - mediatek,mt8186-lvts 84 - mediatek,mt8195-lvts-ap 84 - mediatek,mt8195-lvts-ap 85 - mediatek,mt8195-lvts-mcu 85 - mediatek,mt8195-lvts-mcu 86 then: 86 then: 87 properties: 87 properties: 88 nvmem-cells: 88 nvmem-cells: 89 minItems: 2 89 minItems: 2 90 90 91 nvmem-cell-names: 91 nvmem-cell-names: 92 minItems: 2 92 minItems: 2 93 93 94 required: 94 required: 95 - compatible 95 - compatible 96 - reg 96 - reg 97 - interrupts 97 - interrupts 98 - clocks 98 - clocks 99 - resets 99 - resets 100 - nvmem-cells 100 - nvmem-cells 101 - nvmem-cell-names 101 - nvmem-cell-names >> 102 - "#thermal-sensor-cells" 102 103 103 additionalProperties: false 104 additionalProperties: false 104 105 105 examples: 106 examples: 106 - | 107 - | 107 #include <dt-bindings/interrupt-controller 108 #include <dt-bindings/interrupt-controller/arm-gic.h> 108 #include <dt-bindings/clock/mt8195-clk.h> 109 #include <dt-bindings/clock/mt8195-clk.h> 109 #include <dt-bindings/reset/mt8195-resets. 110 #include <dt-bindings/reset/mt8195-resets.h> 110 #include <dt-bindings/thermal/mediatek,lvt 111 #include <dt-bindings/thermal/mediatek,lvts-thermal.h> 111 112 112 soc { 113 soc { 113 #address-cells = <2>; 114 #address-cells = <2>; 114 #size-cells = <2>; 115 #size-cells = <2>; 115 116 116 lvts_mcu: thermal-sensor@11278000 { 117 lvts_mcu: thermal-sensor@11278000 { 117 compatible = "mediatek,mt8195-lvts-mcu 118 compatible = "mediatek,mt8195-lvts-mcu"; 118 reg = <0 0x11278000 0 0x1000>; 119 reg = <0 0x11278000 0 0x1000>; 119 interrupts = <GIC_SPI 170 IRQ_TYPE_LEV 120 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH 0>; 120 clocks = <&infracfg_ao CLK_INFRA_AO_TH 121 clocks = <&infracfg_ao CLK_INFRA_AO_THERM>; 121 resets = <&infracfg_ao MT8195_INFRA_RS 122 resets = <&infracfg_ao MT8195_INFRA_RST4_THERM_CTRL_MCU_SWRST>; 122 nvmem-cells = <&lvts_efuse_data1 &lvts 123 nvmem-cells = <&lvts_efuse_data1 &lvts_efuse_data2>; 123 nvmem-cell-names = "lvts-calib-data-1" 124 nvmem-cell-names = "lvts-calib-data-1", "lvts-calib-data-2"; 124 #thermal-sensor-cells = <1>; 125 #thermal-sensor-cells = <1>; 125 }; 126 }; 126 }; 127 }; 127 128 128 thermal_zones: thermal-zones { 129 thermal_zones: thermal-zones { 129 cpu0-thermal { 130 cpu0-thermal { 130 polling-delay = <1000>; 131 polling-delay = <1000>; 131 polling-delay-passive = <250>; 132 polling-delay-passive = <250>; 132 thermal-sensors = <&lvts_mcu MT8195_MC 133 thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU0>; 133 134 134 trips { 135 trips { 135 cpu0_alert: trip-alert { 136 cpu0_alert: trip-alert { 136 temperature = <85000>; 137 temperature = <85000>; 137 hysteresis = <2000>; 138 hysteresis = <2000>; 138 type = "passive"; 139 type = "passive"; 139 }; 140 }; 140 141 141 cpu0_crit: trip-crit { 142 cpu0_crit: trip-crit { 142 temperature = <100000>; 143 temperature = <100000>; 143 hysteresis = <2000>; 144 hysteresis = <2000>; 144 type = "critical"; 145 type = "critical"; 145 }; 146 }; 146 }; 147 }; 147 }; 148 }; 148 }; 149 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.