summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.temperature
blob: 37a62185e27d8e2b5b22df4e70239546f8466334 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# Copyright 2021 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

menuconfig PLATFORM_EC_TEMP_SENSOR
	bool "Temperature sensors"
	default y
	depends on DT_HAS_CROS_EC_TEMP_SENSORS_ENABLED
	help
	  Support for temperature sensors. Once enabled, "temps" console
	  command and EC_CMD_TEMP_SENSOR_GET_INFO host command are available.

if PLATFORM_EC_TEMP_SENSOR

config PLATFORM_EC_TEMP_SENSOR_POWER
	bool "Temperature sensors are not always powered on"
	help
	  If enabled, temperature sensors require enabling power rail before
	  being read. Enabling it requires to define a pin enabling the power
	  as GPIO_TEMP_SENSOR_POWER.

config PLATFORM_EC_DPTF
	bool "Dynamic Platform and Thermal Framework"
	default y if PLATFORM_EC_ACPI
	help
	  Enables the Dynamic Platform and Thermal Framework (DPTF). DPTF
	  exposes the temperature sensors and the fan controls to the
	  Applicaiton Processor (AP) using Advanced Configuration and Power
	  Interface (ACPI). This permits the AP to control thermal management
	  independent of the EC.

	  Even when DPTF is enabled, the EC still monitors temperature sensors
	  and will take corrective actions for high temperatures such as turning
	  on the fans or powering down the AP.

config PLATFORM_EC_THERMISTOR
	bool "Thermistor support"
	default y
	depends on DT_HAS_CROS_EC_THERMISTOR_ENABLED
	depends on ADC
	help
	  Enables support for thermistors (resistor whose resistance is
	  strongly dependent on temperature) as temperature-sensor type.

config PLATFORM_EC_TEMP_SENSOR_PCT2075
	bool "PCT2075 support"
	default y
	depends on DT_HAS_NXP_PCT2075_ENABLED
	help
	  Enables support for the CrosEC PCT2075 sensor, an i2c peripheral
	  temperature sensor from NXP.

config PLATFORM_EC_TEMP_SENSOR_SB_TSI
	bool "SB TSI support"
	default y
	depends on DT_HAS_AMD_SB_TSI_ENABLED
	help
	  Enables support for the Side Band Temperature Sensor Interface,
	  an i2c peripheral available on AMD platforms.

config PLATFORM_EC_TEMP_SENSOR_TMP112
	bool "TMP112 support"
	default y
	depends on DT_HAS_CROS_EC_TEMP_SENSOR_TMP112_ENABLED
	help
	  Enables support for the CrosEC TMP112 driver, an i2c peripheral
	  temperature sensor from TI.

config PLATFORM_EC_TEMP_SENSOR_F75303
	bool "F75303 support"
	default y
	depends on DT_HAS_CROS_EC_TEMP_SENSOR_F75303_ENABLED
	help
	  Enables support for the CrosEC F75303 driver, an i2c peripheral
	  temperature sensor from TI.

endif # PLATFORM_EC_TEMP_SENSOR


config PLATFORM_EC_TEMP_SENSOR_FIRST_READ_DELAY
	bool "Enable a delay before reading temperature seensors"
	help
	  Enables a delay on the first read of temperature sensors after
	  the EC powers on. This allows for setting of any power rails that
	  control the temperature sensors on the platform.

if PLATFORM_EC_TEMP_SENSOR_FIRST_READ_DELAY

config PLATFORM_EC_TEMP_SENSOR_FIRST_READ_DELAY_MS
	int "Temperature sensor read delay time"
	default 500
	help
	  Sets the delay time, in milliseconds, before the first the EC will
	  read any temperature sensors and perform any thermal management.

endif # PLATFORM_EC_TEMP_SENSOR_FIRST_READ_DELAY

config PLATFORM_EC_FAN
	bool "Fan support"
	default y
	depends on DT_HAS_CROS_EC_FANS_ENABLED
	select PWM
	select SENSOR
	help
	  Enables support for fans. Allows periodic thermal task to
	  automatically set the fan speed (control temperature).
	  Once enabled fanduty, fanset, faninfo, fanauto consol command and
	  EC_CMD_PWM_GET_FAN_TARGET_RPM, EC_CMD_PWM_SET_FAN_TARGET_RPM,
	  EC_CMD_PWM_SET_FAN_DUTY, EC_CMD_THERMAL_AUTO_FAN_CTRL are
	  available. Also enables a periodic task (1s) to verify fan is
	  running (is not stalled).

if PLATFORM_EC_FAN

config PLATFORM_EC_CUSTOM_FAN_CONTROL
	bool "Fan custom control support"
	default n
	help
	  Enable fan custom control to let projects define
	  their own fan control mechanism by EC.

config PLATFORM_EC_CUSTOM_FAN_DUTY_CONTROL
	bool "Fan custom control support"
	default n
	help
	  Enable fan duty custom control to let projects define
	  their own fan duty control mechanism by implementing
	  the routine board_override_fan_control_duty().


config PLATFORM_EC_NUM_FANS
	int "Number of fans"
	default 1
	help
	  Declare the number of fans supported on this board and avilable
	  for control through fan APIs.

endif # PLATFORM_EC_FAN

config PLATFORM_EC_FAN_BYPASS_SLOW_RESPONSE
	bool "Enable fan slow response control mechanism"
	default n
	help
	  A specific type of fan needs a longer time to output the TACH
	  signal to EC after EC outputs the PWM signal to the fan.
	  During this period, the driver will read two consecutive RPM = 0.
	  In this case, don't step the PWM duty too aggressively.