GNU Linux-libre 4.19.264-gnu1
[releases.git] / Documentation / devicetree / bindings / thermal / mediatek-thermal.txt
1 * Mediatek Thermal
2
3 This describes the device tree binding for the Mediatek thermal controller
4 which measures the on-SoC temperatures. This device does not have its own ADC,
5 instead it directly controls the AUXADC via AHB bus accesses. For this reason
6 this device needs phandles to the AUXADC. Also it controls a mux in the
7 apmixedsys register space via AHB bus accesses, so a phandle to the APMIXEDSYS
8 is also needed.
9
10 Required properties:
11 - compatible:
12   - "mediatek,mt8173-thermal" : For MT8173 family of SoCs
13   - "mediatek,mt2701-thermal" : For MT2701 family of SoCs
14   - "mediatek,mt2712-thermal" : For MT2712 family of SoCs
15   - "mediatek,mt7622-thermal" : For MT7622 SoC
16 - reg: Address range of the thermal controller
17 - interrupts: IRQ for the thermal controller
18 - clocks, clock-names: Clocks needed for the thermal controller. required
19                        clocks are:
20                        "therm":  Main clock needed for register access
21                        "auxadc": The AUXADC clock
22 - resets: Reference to the reset controller controlling the thermal controller.
23 - mediatek,auxadc: A phandle to the AUXADC which the thermal controller uses
24 - mediatek,apmixedsys: A phandle to the APMIXEDSYS controller.
25 - #thermal-sensor-cells : Should be 0. See ./thermal.txt for a description.
26
27 Optional properties:
28 - nvmem-cells: A phandle to the calibration data provided by a nvmem device. If
29                unspecified default values shall be used.
30 - nvmem-cell-names: Should be "calibration-data"
31
32 Example:
33
34         thermal: thermal@1100b000 {
35                 #thermal-sensor-cells = <1>;
36                 compatible = "mediatek,mt8173-thermal";
37                 reg = <0 0x1100b000 0 0x1000>;
38                 interrupts = <0 70 IRQ_TYPE_LEVEL_LOW>;
39                 clocks = <&pericfg CLK_PERI_THERM>, <&pericfg CLK_PERI_AUXADC>;
40                 clock-names = "therm", "auxadc";
41                 resets = <&pericfg MT8173_PERI_THERM_SW_RST>;
42                 reset-names = "therm";
43                 mediatek,auxadc = <&auxadc>;
44                 mediatek,apmixedsys = <&apmixedsys>;
45                 nvmem-cells = <&thermal_calibration_data>;
46                 nvmem-cell-names = "calibration-data";
47         };