diff options
22 files changed, 890 insertions, 267 deletions
diff --git a/Documentation/devicetree/bindings/thermal/qoriq-thermal.txt b/Documentation/devicetree/bindings/thermal/qoriq-thermal.txt index 66223d561972..20ca4ef9d776 100644 --- a/Documentation/devicetree/bindings/thermal/qoriq-thermal.txt +++ b/Documentation/devicetree/bindings/thermal/qoriq-thermal.txt | |||
| @@ -17,6 +17,12 @@ Required properties: | |||
| 17 | calibration data, as specified by the SoC reference manual. | 17 | calibration data, as specified by the SoC reference manual. |
| 18 | The first cell of each pair is the value to be written to TTCFGR, | 18 | The first cell of each pair is the value to be written to TTCFGR, |
| 19 | and the second is the value to be written to TSCFGR. | 19 | and the second is the value to be written to TSCFGR. |
| 20 | - #thermal-sensor-cells : Must be 1. The sensor specifier is the monitoring | ||
| 21 | site ID, and represents the "n" in TRITSRn and TRATSRn. | ||
| 22 | |||
| 23 | Optional property: | ||
| 24 | - little-endian : If present, the TMU registers are little endian. If absent, | ||
| 25 | the default is big endian. | ||
| 20 | 26 | ||
| 21 | Example: | 27 | Example: |
| 22 | 28 | ||
| @@ -60,4 +66,5 @@ tmu@f0000 { | |||
| 60 | 66 | ||
| 61 | 0x00030000 0x00000012 | 67 | 0x00030000 0x00000012 |
| 62 | 0x00030001 0x0000001d>; | 68 | 0x00030001 0x0000001d>; |
| 69 | #thermal-sensor-cells = <1>; | ||
| 63 | }; | 70 | }; |
diff --git a/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt new file mode 100644 index 000000000000..07a9713ae6a7 --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | * DT bindings for Renesas R-Car Gen3 Thermal Sensor driver | ||
| 2 | |||
| 3 | On R-Car Gen3 SoCs, the thermal sensor controllers (TSC) control the thermal | ||
| 4 | sensors (THS) which are the analog circuits for measuring temperature (Tj) | ||
| 5 | inside the LSI. | ||
| 6 | |||
| 7 | Required properties: | ||
| 8 | - compatible : "renesas,<soctype>-thermal", | ||
| 9 | Examples with soctypes are: | ||
| 10 | - "renesas,r8a7795-thermal" (R-Car H3) | ||
| 11 | - "renesas,r8a7796-thermal" (R-Car M3-W) | ||
| 12 | - reg : Address ranges of the thermal registers. Each sensor | ||
| 13 | needs one address range. Sorting must be done in | ||
| 14 | increasing order according to datasheet, i.e. | ||
| 15 | TSC1, TSC2, ... | ||
| 16 | - clocks : Must contain a reference to the functional clock. | ||
| 17 | - #thermal-sensor-cells : must be <1>. | ||
| 18 | |||
| 19 | Optional properties: | ||
| 20 | |||
| 21 | - interrupts : interrupts routed to the TSC (3 for H3 and M3-W) | ||
| 22 | - power-domain : Must contain a reference to the power domain. This | ||
| 23 | property is mandatory if the thermal sensor instance | ||
| 24 | is part of a controllable power domain. | ||
| 25 | |||
| 26 | Example: | ||
| 27 | |||
| 28 | tsc: thermal@e6198000 { | ||
| 29 | compatible = "renesas,r8a7795-thermal"; | ||
| 30 | reg = <0 0xe6198000 0 0x68>, | ||
| 31 | <0 0xe61a0000 0 0x5c>, | ||
| 32 | <0 0xe61a8000 0 0x5c>; | ||
| 33 | interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, | ||
| 34 | <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, | ||
| 35 | <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; | ||
| 36 | clocks = <&cpg CPG_MOD 522>; | ||
| 37 | power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; | ||
| 38 | #thermal-sensor-cells = <1>; | ||
| 39 | status = "okay"; | ||
| 40 | }; | ||
| 41 | |||
| 42 | thermal-zones { | ||
| 43 | sensor_thermal1: sensor-thermal1 { | ||
| 44 | polling-delay-passive = <250>; | ||
| 45 | polling-delay = <1000>; | ||
| 46 | thermal-sensors = <&tsc 0>; | ||
| 47 | |||
| 48 | trips { | ||
| 49 | sensor1_crit: sensor1-crit { | ||
| 50 | temperature = <90000>; | ||
| 51 | hysteresis = <2000>; | ||
| 52 | type = "critical"; | ||
| 53 | }; | ||
| 54 | }; | ||
| 55 | }; | ||
| 56 | }; | ||
diff --git a/Documentation/devicetree/bindings/thermal/zx2967-thermal.txt b/Documentation/devicetree/bindings/thermal/zx2967-thermal.txt new file mode 100644 index 000000000000..3dc1c6bf0478 --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/zx2967-thermal.txt | |||
| @@ -0,0 +1,116 @@ | |||
| 1 | * ZTE zx2967 family Thermal | ||
| 2 | |||
| 3 | Required Properties: | ||
| 4 | - compatible: should be one of the following. | ||
| 5 | * zte,zx296718-thermal | ||
| 6 | - reg: physical base address of the controller and length of memory mapped | ||
| 7 | region. | ||
| 8 | - clocks : Pairs of phandle and specifier referencing the controller's clocks. | ||
| 9 | - clock-names: "topcrm" for the topcrm clock. | ||
| 10 | "apb" for the apb clock. | ||
| 11 | - #thermal-sensor-cells: must be 0. | ||
| 12 | |||
| 13 | Please note: slope coefficient defined in thermal-zones section need to be | ||
| 14 | multiplied by 1000. | ||
| 15 | |||
| 16 | Example for tempsensor: | ||
| 17 | |||
| 18 | tempsensor: tempsensor@148a000 { | ||
| 19 | compatible = "zte,zx296718-thermal"; | ||
| 20 | reg = <0x0148a000 0x20>; | ||
| 21 | clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>; | ||
| 22 | clock-names = "topcrm", "apb"; | ||
| 23 | #thermal-sensor-cells = <0>; | ||
| 24 | }; | ||
| 25 | |||
| 26 | Example for cooling device: | ||
| 27 | |||
| 28 | cooling_dev: cooling_dev { | ||
| 29 | cluster0_cooling_dev: cluster0-cooling-dev { | ||
| 30 | #cooling-cells = <2>; | ||
| 31 | cpumask = <0xf>; | ||
| 32 | capacitance = <1500>; | ||
| 33 | }; | ||
| 34 | |||
| 35 | cluster1_cooling_dev: cluster1-cooling-dev { | ||
| 36 | #cooling-cells = <2>; | ||
| 37 | cpumask = <0x30>; | ||
| 38 | capacitance = <2000>; | ||
| 39 | }; | ||
| 40 | }; | ||
| 41 | |||
| 42 | Example for thermal zones: | ||
| 43 | |||
| 44 | thermal-zones { | ||
| 45 | zx296718_thermal: zx296718_thermal { | ||
| 46 | polling-delay-passive = <500>; | ||
| 47 | polling-delay = <1000>; | ||
| 48 | sustainable-power = <6500>; | ||
| 49 | |||
| 50 | thermal-sensors = <&tempsensor 0>; | ||
| 51 | /* | ||
| 52 | * slope need to be multiplied by 1000. | ||
| 53 | */ | ||
| 54 | coefficients = <1951 (-922)>; | ||
| 55 | |||
| 56 | trips { | ||
| 57 | trip0: switch_on_temperature { | ||
| 58 | temperature = <90000>; | ||
| 59 | hysteresis = <2000>; | ||
| 60 | type = "passive"; | ||
| 61 | }; | ||
| 62 | |||
| 63 | trip1: desired_temperature { | ||
| 64 | temperature = <100000>; | ||
| 65 | hysteresis = <2000>; | ||
| 66 | type = "passive"; | ||
| 67 | }; | ||
| 68 | |||
| 69 | crit: critical_temperature { | ||
| 70 | temperature = <110000>; | ||
| 71 | hysteresis = <2000>; | ||
| 72 | type = "critical"; | ||
| 73 | }; | ||
| 74 | |||
