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