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

Commit 03476a5c authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "defconfig: kona: Enable thermal drivers"

parents d6ab3e3b 5ebcfd10
Loading
Loading
Loading
Loading
+79 −0
Original line number Diff line number Diff line
Limits Management Hardware - DCVS

The LMH-DCVS block is a hardware IP for every CPU cluster, to handle quick
changes in thermal limits. The hardware responds to thermal variation amongst
the CPUs in the cluster by requesting limits on the clock frequency and
voltage on the OSM hardware.

The LMH DCVS driver exports a virtual sensor that can be used to set the
thermal limits on the hardware. LMH DCVS driver can be a platform CPU Cooling
device, which registers with the CPU cooling device interface. All CPU device
nodes should reference the corresponding LMH DCVS hardware in device tree.
CPUs referencing the same LMH DCVS node will be associated with the
corresponding cooling device as related CPUs.

Properties:

- compatible:
	Usage: required
	Value type: <string>
	Definition: shall be "qcom,msm-hw-limits"
- interrupts:
	Usage: required
	Value type: <interrupt_type interrupt_number interrupt_trigger_type>
	Definition: Should specify interrupt information about the debug
			interrupt generated by the LMH DCVSh hardware. LMH
			DCVSh hardware will generate this interrupt whenever
			it makes a new cpu DCVS decision.
- qcom,affinity:
	Usage: Required
	Value type: <u32>
	Definition: Should specify the cluster affinity this hardware
			corresponds to.

- isens_vref_1p8-supply:
- isens_vref_0p8-supply:
	Usage: optional
	Value type: <phandle>
	Definition: Should specify the phandle of the vref regulator used by
			the isens hardware. This active only regulator will be
			enabled by LMH DCVSh. Isens hardware needs 1.8v and
			0.8v supply regulators.

- isens-vref-1p8-settings:
- isens-vref-0p8-settings:
	Usage: optional
	Value type: <u32 array>
	Definition: Should specify the min voltage(uV), max voltage(uV) and
			max load(uA) for the isens vref regulator. This
			property is valid only if there is valid entry for
			isens_vref_1p8-supply and isens_vref_0p8-supply.

- reg:
	Usage: Required
	Value type: <a b>
	Definition: where 'a' is the starting register address of the OSM/LLM
			and 'b' is the size of OSM/LLM address space. The
			register space in index 0 should be LLM and index 1
			should be OSM.

Example:

	lmh_dcvs0: qcom,limits-dcvs@18350800 {
		compatible = "qcom,msm-hw-limits";
		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
		qcom,affinity = <0>;
		isens_vref_1p8-supply = <&pm8998_l1_ao>;
		isens-vref-1p8-settings = <880000 880000 36000>;
		isens_vref_0p8-supply = <&pm8998_l12_ao>;
		isens-vref-0p8-settings = <880000 880000 36000>;
		reg =  <0x18350800 0x1000>, //LLM
			<0x18323000 0x1000>; //OSM
	};

	CPU0: cpu@0 {
		device_type = "cpu";
		compatible = "arm,armv8";
		reg = <0x0 0x0>;
		qcom,lmh-dcvs = <&lmh_dcvs0>;;
	};
+6 −1
Original line number Diff line number Diff line
@@ -303,9 +303,14 @@ CONFIG_QPNP_FG_GEN4=y
CONFIG_THERMAL=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_CPU_THERMAL=y
CONFIG_THERMAL_GOV_LOW_LIMITS=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_QCOM_SPMI_TEMP_ALARM=y
CONFIG_QTI_VIRTUAL_SENSOR=y
CONFIG_QTI_QMI_SENSOR=y
CONFIG_QTI_BCL_PMIC5=y
CONFIG_QTI_BCL_SOC_DRIVER=y
CONFIG_QTI_QMI_COOLING_DEVICE=y
CONFIG_MFD_I2C_PMIC=y
CONFIG_MFD_SPMI_PMIC=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
+6 −1
Original line number Diff line number Diff line
@@ -311,9 +311,14 @@ CONFIG_QPNP_FG_GEN4=y
CONFIG_THERMAL=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_CPU_THERMAL=y
CONFIG_THERMAL_GOV_LOW_LIMITS=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_QCOM_SPMI_TEMP_ALARM=y
CONFIG_QTI_VIRTUAL_SENSOR=y
CONFIG_QTI_QMI_SENSOR=y
CONFIG_QTI_BCL_PMIC5=y
CONFIG_QTI_BCL_SOC_DRIVER=y
CONFIG_QTI_QMI_COOLING_DEVICE=y
CONFIG_MFD_I2C_PMIC=y
CONFIG_MFD_SPMI_PMIC=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
+20 −0
Original line number Diff line number Diff line
@@ -61,6 +61,26 @@ config QTI_QMI_COOLING_DEVICE
	   The QMI cooling device will interface with remote subsystem
	   using QTI QMI interface.

config QTI_THERMAL_LIMITS_DCVS
	bool "QTI LMH DCVS Driver"
	depends on THERMAL_OF
	depends on CPU_THERMAL
	help
	  This enables the driver for Limits Management Hardware - DCVS block
	  for the application processors. The h/w block that is available for
	  each cluster can be used to perform quick thermal mitigations by
	  tracking temperatures of the CPUs and taking thermal action in the
	  hardware without s/w intervention.

config QTI_AOP_REG_COOLING_DEVICE
	bool "QTI AOP Regulator cooling device"
	depends on THERMAL_OF && MSM_QMP
	help
	  This enables the AOP based Regulator cooling device. This cooling
	  device will be used by QTI chipset to place a floor voltage
	  restriction at low temperatures. The cooling device will message
	  the AOP using mail box to establish the floor voltage.

config REGULATOR_COOLING_DEVICE
	bool "Regulator voltage floor cooling device"
	depends on REGULATOR && THERMAL_OF
+2 −0
Original line number Diff line number Diff line
@@ -5,4 +5,6 @@ obj-$(CONFIG_QTI_QMI_SENSOR) += thermal_sensor_service_v01.o qmi_sensors.o
obj-$(CONFIG_QTI_BCL_PMIC5) += bcl_pmic5.o
obj-$(CONFIG_QTI_BCL_SOC_DRIVER) += bcl_soc.o
obj-$(CONFIG_QTI_QMI_COOLING_DEVICE) += thermal_mitigation_device_service_v01.o qmi_cooling.o
obj-$(CONFIG_QTI_THERMAL_LIMITS_DCVS) += msm_lmh_dcvs.o lmh_dbg.o
obj-$(CONFIG_QTI_AOP_REG_COOLING_DEVICE) += regulator_aop_cdev.o
obj-$(CONFIG_REGULATOR_COOLING_DEVICE) += regulator_cdev.o
Loading