Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7a98c2c4 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "dt-bindings: Add snapshot of thermal devicetree bindings"

parents 33205381 52b50e61
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
===============================================================================
BCL Peripheral driver for PMIC5:
===============================================================================
Qualcomm Technologies, Inc's PMIC has battery current limiting peripheral,
which can monitor for high battery current and low battery voltage in the
hardware. The BCL peripheral driver interacts with the PMIC peripheral using
the SPMI driver interface. The hardware can take threshold for notifying for
high battery current or low battery voltage events. This driver works only
with PMIC version 5, where the same BCL peripheral can be found in multiple
PMIC's that are used in a device, with limited functionalities. For example,
one PMIC can have only vbat monitoring, while the other PMIC can have both
vbat and ibat monitoring. This is a common driver, that can interact
with the multiple BCL peripherals.

Required Parameters:
- compatible: must be
	'qcom,bcl-v5' for bcl peripheral in PMIC version 5.
- reg: <a b> where 'a' is the starting register address of the PMIC
	peripheral and 'b' is the size of the peripheral address space.
- interrupts: <a b c d> Where,
		'a' is the SLAVE ID of the PMIC,
		'b' is the peripheral ID,
		'c' is the interrupt number in PMIC and
		'd' is the interrupt type.
- interrupt-names: user defined names for the interrupts. These
		interrupt names will be used by the drivers to identify the
		interrupts, instead of specifying the ID's. bcl driver will
		accept these standard interrupts.
		"bcl-lvl0",
		"bcl-lvl1",
		"bcl-lvl2",

Example:
		bcl@4200 {
			compatible = "qcom,bcl-v5";
			reg = <0x4200 0x100>;
			interrupts = <0x2 0x42 0x0 IRQ_TYPE_NONE>,
					<0x2 0x42 0x1 IRQ_TYPE_NONE>;
			interrupt-names = "bcl-lvl0",
						"bcl-lvl1";
		};
+14 −0
Original line number Diff line number Diff line
===============================================================================
PMIC state of charge driver:
===============================================================================
Battery state of charge driver can monitor for change in battery charge and
notify thermal framework, when the value goes below a certain threshold.

Required Parameters:
- compatible: must be 'qcom,msm-bcl-soc' for battery state of charge driver.

Optional Parameters:

		bcl-soc {
			compatible = "qcom,msm-bcl-soc";
		};
+50 −0
Original line number Diff line number Diff line
QTI CPU isolation cooling devices.

The CPU isolation cooling device will be used for isolating a CPU on a thermal
condition. This cooling device driver can register one cooling device per CPU,
which can be used by thermal zone to mitigate.

Each child node will represent a cooling device and the child node should
point to the CPU, which will be mitigated by that cooling device instance.

Properties:
- compatible:
	Usage: required
	Value type: <string>
	Definition: should be "qcom,cpu-isolate"

Cooling device node:
- qcom,cpu:
	Usage: required
	Value type: <phandle>
	Definition: phandle to the CPU device that this cooling device will
			mitigate.

-#cooling-cells:
	Usage: required
	Value type: <integer>
	Definition: Must be 2. Needed for of_thermal as cooling device
			identifier. Please refer to
			<devicetree/bindings/thermal/thermal.txt> for more
			details.
Example:
	qcom,cpu-isolation {
		compatible = "qcom,cpu-isolate";

		cpu0_isolate: cpu0-isolate {
			qcom,cpu = <&CPU0>;
			#cooling-cells = <2>;
		};
		cpu1_isolate: cpu1-isolate {
			qcom,cpu = <&CPU1>;
			#cooling-cells = <2>;
		};
		cpu2_isolate: cpu2-isolate {
			qcom,cpu = <&CPU2>;
			#cooling-cells = <2>;
		};
		cpu3_isolate: cpu3-isolate {
			qcom,cpu = <&CPU3>;
			#cooling-cells = <2>;
		};
        };
+125 −0
Original line number Diff line number Diff line
QMI thermal mitigation(TMD) cooling devices.

The QMI TMD cooling device, will be used for various mitigations for remote
subsystem including remote processor mitigation, rail voltage restriction etc.
This cooling device uses kernel qti QMI interface to send the message to
remote subsystem.

Each child node of the QMI TMD devicetree node represents each remote
subsystem and each child of this subsystem represents separate cooling
devices. It requires minimum one remote subsystem node and each subsystem
node requires minimum one cooling device node.

Properties:

- compatible:
	Usage: required
	Value type: <string>
	Definition: should be "qcom,qmi-cooling-devices"


Subsystem properties:
- qcom,instance-id:
	Usage: required
	Value type: <integer>
	Definition: Remote subsystem QMI server instance id to be used for
			communicating with QMI.

	Minimum one child node is required. Child node name and its alias are
	used as cooling device name and phandle for that cooling device.

	cooling device node properties:
	-qcom,qmi-dev-name:
		Usage: required
		Value type: <string>
		Definition: Remote subsystem device identifier. Below strings
			are the only acceptable device names,
			"pa" -> for pa cooling device,
			"pa_fr1" -> for pa cooling device,
			"cpuv_restriction_cold" -> for vdd restriction,
			"cx_vdd_limit" -> for vdd limit,
			"modem" -> for processor passive cooling device,
			"modem_current" -> for current limiting device,
			"modem_bw" ->  for bus bandwidth limiting device,
			"vbatt_low" -> BCL vbat mitigation device,
			"mmw0" -> Millimeter wave limiting device 0,
			"mmw1" -> Millimeter wave limiting device 1,
			"mmw2" -> Millimeter wave limiting device 2,
			"mmw3" -> Millimeter wave limiting device 3,
			"modem_skin" -> Modem skin mitigation device,
			"mmw_skin0" -> MMW skin mitigation device0,
			"mmw_skin1" -> MMW skin mitigation device1,
			"mmw_skin2" -> MMW skin mitigation device2,
			"mmw_skin3" -> MMW skin mitigation device3,
			"cpr_cold" -> for cpr restriction.
			"wlan" -> for modem wlan mitigation device.

	-#cooling-cells:
		Usage: required
		Value type: <integer>
		Definition: Must be 2. Needed for of_thermal as cooling device
			identifier. Please refer to
			<devicetree/bindings/thermal/thermal.txt> for more
			details.
Example:

	qmi-tmd-devices {
		compatible = "qcom,qmi-cooling-devices";

		modem {
			qcom,instance-id = <0x0>;

			modem_pa: modem_pa {
				qcom,qmi-dev-name = "pa";
				#cooling-cells = <2>;
			};

			modem_proc: modem_proc {
				qcom,qmi-dev-name = "modem";
				#cooling-cells = <2>;
			};

			modem_vdd: modem_vdd {
				qcom,qmi-dev-name = "cpuv_restriction_cold";
				#cooling-cells = <2>;
			};

			modem_current: modem_current {
				qcom,qmi-dev-name = "modem_current";
				#cooling-cells = <2>;
			};

			modem_cpr_cold: modem_cpr_cold {
				qcom,qmi-dev-name = "cpr_cold";
				#cooling-cells = <2>;
			};
		};

		adsp {
			qcom,instance-id = <0x1>;

			adsp_vdd: adsp_vdd {
				qcom,qmi-dev-name = "cpuv_restriction_cold";
				#cooling-cells = <2>;
			};
		};

		cdsp {
			qcom,instance-id = <0x43>;

			cdsp_vdd: cdsp_vdd {
				qcom,qmi-dev-name = "cpuv_restriction_cold";
				#cooling-cells = <2>;
			};
		};

		slpi {
			qcom,instance-id = <0x53>;

			slpi_vdd: slpi_vdd {
				qcom,qmi-dev-name = "cpuv_restriction_cold";
				#cooling-cells = <2>;
			};
		};
	};
+74 −0
Original line number Diff line number Diff line
QMI thermal mitigation(TS) sensor.

The QMI TS Sensor driver can list the sensors that are available in the
remote subsystem. This driver can read the temperature, set threshold and
get threshold notification.

Each child node of the QMI TS devicetree node represents a remote
subsystem and it can have more than one remote sensor names.

Properties:

- compatible:
	Usage: required
	Value type: <string>
	Definition: should be "qcom,qmi-sensors"

- #thermal-sensor-cells:
	Usage: required
	Value type: <integer>
	Definition: Must be 1. See thermal.txt for description.

Subsystem properties:
- qcom,instance-id:
	Usage: required
	Value type: <integer>
	Definition: Remote subsystem QMI server instance id to be used for
			communicating with QMI.

- qcom,qmi-sensor-names:
	Usage: required
	Value type: <array of string>
	Definition: Remote sensor names. Below strings
		are the only acceptable sensor names,
		1. pa
		2. pa_1
		3. pa_2
		4. qfe_pa0
		5. qfe_wtr0
		6. modem_tsens
		7. qfe_mmw0
		8. qfe_mmw1
		9. qfe_mmw2
		10. qfe_mmw3
		11. xo_therm
		12. qfe_pa_mdm
		13. qfe_pa_wtr
		14. qfe_mmw_streamer0
		15. qfe_mmw0_mod
		16. qfe_mmw1_mod
		17. qfe_mmw2_mod
		18. qfe_mmw3_mod
		19. qfe_ret_pa0
		20. qfe_wtr_pa0
		21. qfe_wtr_pa1
		22. qfe_wtr_pa2
		23. qfe_wtr_pa3
		24. sys_therm1
		25. sys_therm2
		26. modem_tsens1

Example:

qmi_sensor: qmi-ts-sensors {
	compatible = "qcom,qmi-sensors";
	#thermal-sensor-cells = <1>;

	modem {
		qcom,instance-id = <0x0>;
		qcom,qmi-sensor-names = "pa",
					"pa_1",
					"qfe_pa0",
					"qfe_wtr0";
	};
};