Linux Audio

Check our new training course

Loading...
v6.13.7
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * OMAP4 thermal driver.
  4 *
  5 * Copyright (C) 2011-2012 Texas Instruments Inc.
  6 * Contact:
  7 *	Eduardo Valentin <eduardo.valentin@ti.com>
  8 */
  9
 10#include "ti-thermal.h"
 11#include "ti-bandgap.h"
 12#include "omap4xxx-bandgap.h"
 13
 14/*
 15 * OMAP4430 has one instance of thermal sensor for MPU
 16 * need to describe the individual bit fields
 17 */
 18static struct temp_sensor_registers
 19omap4430_mpu_temp_sensor_registers = {
 20	.temp_sensor_ctrl = OMAP4430_TEMP_SENSOR_CTRL_OFFSET,
 21	.bgap_tempsoff_mask = OMAP4430_BGAP_TEMPSOFF_MASK,
 22	.bgap_soc_mask = OMAP4430_BGAP_TEMP_SENSOR_SOC_MASK,
 23	.bgap_eocz_mask = OMAP4430_BGAP_TEMP_SENSOR_EOCZ_MASK,
 24	.bgap_dtemp_mask = OMAP4430_BGAP_TEMP_SENSOR_DTEMP_MASK,
 25
 26	.bgap_mode_ctrl = OMAP4430_TEMP_SENSOR_CTRL_OFFSET,
 27	.mode_ctrl_mask = OMAP4430_CONTINUOUS_MODE_MASK,
 28
 29	.bgap_efuse = OMAP4430_FUSE_OPP_BGAP,
 30};
 31
 32/* Thresholds and limits for OMAP4430 MPU temperature sensor */
 33static struct temp_sensor_data omap4430_mpu_temp_sensor_data = {
 34	.min_freq = OMAP4430_MIN_FREQ,
 35	.max_freq = OMAP4430_MAX_FREQ,
 36};
 37
 38/*
 39 * Temperature values in milli degree celsius
 40 * ADC code values from 13 to 107, see TRM
 41 * "18.4.10.2.3 ADC Codes Versus Temperature".
 42 */
 43static const int
 44omap4430_adc_to_temp[OMAP4430_ADC_END_VALUE - OMAP4430_ADC_START_VALUE + 1] = {
 45	-40000, -38000, -35000, -34000, -32000, -30000, -28000, -26000, -24000,
 46	-22000,	-20000, -18500, -17000, -15000, -13500, -12000, -10000, -8000,
 47	-6500, -5000, -3500, -1500, 0, 2000, 3500, 5000, 6500, 8500, 10000,
 48	12000, 13500, 15000, 17000, 19000, 21000, 23000, 25000, 27000, 28500,
 49	30000, 32000, 33500, 35000, 37000, 38500, 40000, 42000, 43500, 45000,
 50	47000, 48500, 50000, 52000, 53500, 55000, 57000, 58500, 60000, 62000,
 51	64000, 66000, 68000, 70000, 71500, 73500, 75000, 77000, 78500, 80000,
 52	82000, 83500, 85000, 87000, 88500, 90000, 92000, 93500, 95000, 97000,
 53	98500, 100000, 102000, 103500, 105000, 107000, 109000, 111000, 113000,
 54	115000, 117000, 118500, 120000, 122000, 123500, 125000,
 55};
 56
 57/* OMAP4430 data */
 58const struct ti_bandgap_data omap4430_data = {
 59	.features = TI_BANDGAP_FEATURE_MODE_CONFIG |
 60			TI_BANDGAP_FEATURE_CLK_CTRL |
 61			TI_BANDGAP_FEATURE_POWER_SWITCH |
 62			TI_BANDGAP_FEATURE_CONT_MODE_ONLY,
 63	.fclock_name = "bandgap_fclk",
 64	.div_ck_name = "bandgap_fclk",
 65	.conv_table = omap4430_adc_to_temp,
 66	.adc_start_val = OMAP4430_ADC_START_VALUE,
 67	.adc_end_val = OMAP4430_ADC_END_VALUE,
 68	.expose_sensor = ti_thermal_expose_sensor,
 69	.remove_sensor = ti_thermal_remove_sensor,
 70	.sensors = {
 71		{
 72		.registers = &omap4430_mpu_temp_sensor_registers,
 73		.ts_data = &omap4430_mpu_temp_sensor_data,
 74		.domain = "cpu",
 75		.slope_pcb = OMAP_GRADIENT_SLOPE_W_PCB_4430,
 76		.constant_pcb = OMAP_GRADIENT_CONST_W_PCB_4430,
 77		.register_cooling = ti_thermal_register_cpu_cooling,
 78		.unregister_cooling = ti_thermal_unregister_cpu_cooling,
 79		},
 80	},
 81	.sensor_count = 1,
 82};
 83/*
 84 * OMAP4460 has one instance of thermal sensor for MPU
 85 * need to describe the individual bit fields
 86 */
 87static struct temp_sensor_registers
 88omap4460_mpu_temp_sensor_registers = {
 89	.temp_sensor_ctrl = OMAP4460_TEMP_SENSOR_CTRL_OFFSET,
 90	.bgap_tempsoff_mask = OMAP4460_BGAP_TEMPSOFF_MASK,
 91	.bgap_soc_mask = OMAP4460_BGAP_TEMP_SENSOR_SOC_MASK,
 92	.bgap_eocz_mask = OMAP4460_BGAP_TEMP_SENSOR_EOCZ_MASK,
 93	.bgap_dtemp_mask = OMAP4460_BGAP_TEMP_SENSOR_DTEMP_MASK,
 94
 95	.bgap_mask_ctrl = OMAP4460_BGAP_CTRL_OFFSET,
 96	.mask_hot_mask = OMAP4460_MASK_HOT_MASK,
 97	.mask_cold_mask = OMAP4460_MASK_COLD_MASK,
 98
 99	.bgap_mode_ctrl = OMAP4460_BGAP_CTRL_OFFSET,
100	.mode_ctrl_mask = OMAP4460_CONTINUOUS_MODE_MASK,
101
102	.bgap_counter = OMAP4460_BGAP_COUNTER_OFFSET,
103	.counter_mask = OMAP4460_COUNTER_MASK,
104
105	.bgap_threshold = OMAP4460_BGAP_THRESHOLD_OFFSET,
106	.threshold_thot_mask = OMAP4460_T_HOT_MASK,
107	.threshold_tcold_mask = OMAP4460_T_COLD_MASK,
108
109	.tshut_threshold = OMAP4460_BGAP_TSHUT_OFFSET,
110	.tshut_hot_mask = OMAP4460_TSHUT_HOT_MASK,
111	.tshut_cold_mask = OMAP4460_TSHUT_COLD_MASK,
112
113	.bgap_status = OMAP4460_BGAP_STATUS_OFFSET,
114	.status_hot_mask = OMAP4460_HOT_FLAG_MASK,
115	.status_cold_mask = OMAP4460_COLD_FLAG_MASK,
116
117	.bgap_efuse = OMAP4460_FUSE_OPP_BGAP,
118};
119
120/* Thresholds and limits for OMAP4460 MPU temperature sensor */
121static struct temp_sensor_data omap4460_mpu_temp_sensor_data = {
122	.tshut_hot = OMAP4460_TSHUT_HOT,
123	.tshut_cold = OMAP4460_TSHUT_COLD,
124	.t_hot = OMAP4460_T_HOT,
125	.t_cold = OMAP4460_T_COLD,
126	.min_freq = OMAP4460_MIN_FREQ,
127	.max_freq = OMAP4460_MAX_FREQ,
128};
129
130/*
131 * Temperature values in milli degree celsius
132 * ADC code values from 530 to 923
133 */
134static const int
135omap4460_adc_to_temp[OMAP4460_ADC_END_VALUE - OMAP4460_ADC_START_VALUE + 1] = {
136	-40000, -40000, -40000, -40000, -39800, -39400, -39000, -38600, -38200,
137	-37800, -37300, -36800, -36400, -36000, -35600, -35200, -34800,
138	-34300, -33800, -33400, -33000, -32600, -32200, -31800, -31300,
139	-30800, -30400, -30000, -29600, -29200, -28700, -28200, -27800,
140	-27400, -27000, -26600, -26200, -25700, -25200, -24800, -24400,
141	-24000, -23600, -23200, -22700, -22200, -21800, -21400, -21000,
142	-20600, -20200, -19700, -19200, -18800, -18400, -18000, -17600,
143	-17200, -16700, -16200, -15800, -15400, -15000, -14600, -14200,
144	-13700, -13200, -12800, -12400, -12000, -11600, -11200, -10700,
145	-10200, -9800, -9400, -9000, -8600, -8200, -7700, -7200, -6800,
146	-6400, -6000, -5600, -5200, -4800, -4300, -3800, -3400, -3000,
147	-2600, -2200, -1800, -1300, -800, -400, 0, 400, 800, 1200, 1600,
148	2100, 2600, 3000, 3400, 3800, 4200, 4600, 5100, 5600, 6000, 6400,
149	6800, 7200, 7600, 8000, 8500, 9000, 9400, 9800, 10200, 10600, 11000,
150	11400, 11900, 12400, 12800, 13200, 13600, 14000, 14400, 14800,
151	15300, 15800, 16200, 16600, 17000, 17400, 17800, 18200, 18700,
152	19200, 19600, 20000, 20400, 20800, 21200, 21600, 22100, 22600,
153	23000, 23400, 23800, 24200, 24600, 25000, 25400, 25900, 26400,
154	26800, 27200, 27600, 28000, 28400, 28800, 29300, 29800, 30200,
155	30600, 31000, 31400, 31800, 32200, 32600, 33100, 33600, 34000,
156	34400, 34800, 35200, 35600, 36000, 36400, 36800, 37300, 37800,
157	38200, 38600, 39000, 39400, 39800, 40200, 40600, 41100, 41600,
158	42000, 42400, 42800, 43200, 43600, 44000, 44400, 44800, 45300,
159	45800, 46200, 46600, 47000, 47400, 47800, 48200, 48600, 49000,
160	49500, 50000, 50400, 50800, 51200, 51600, 52000, 52400, 52800,
161	53200, 53700, 54200, 54600, 55000, 55400, 55800, 56200, 56600,
162	57000, 57400, 57800, 58200, 58700, 59200, 59600, 60000, 60400,
163	60800, 61200, 61600, 62000, 62400, 62800, 63300, 63800, 64200,
164	64600, 65000, 65400, 65800, 66200, 66600, 67000, 67400, 67800,
165	68200, 68700, 69200, 69600, 70000, 70400, 70800, 71200, 71600,
166	72000, 72400, 72800, 73200, 73600, 74100, 74600, 75000, 75400,
167	75800, 76200, 76600, 77000, 77400, 77800, 78200, 78600, 79000,
168	79400, 79800, 80300, 80800, 81200, 81600, 82000, 82400, 82800,
169	83200, 83600, 84000, 84400, 84800, 85200, 85600, 86000, 86400,
170	86800, 87300, 87800, 88200, 88600, 89000, 89400, 89800, 90200,
171	90600, 91000, 91400, 91800, 92200, 92600, 93000, 93400, 93800,
172	94200, 94600, 95000, 95500, 96000, 96400, 96800, 97200, 97600,
173	98000, 98400, 98800, 99200, 99600, 100000, 100400, 100800, 101200,
174	101600, 102000, 102400, 102800, 103200, 103600, 104000, 104400,
175	104800, 105200, 105600, 106100, 106600, 107000, 107400, 107800,
176	108200, 108600, 109000, 109400, 109800, 110200, 110600, 111000,
177	111400, 111800, 112200, 112600, 113000, 113400, 113800, 114200,
178	114600, 115000, 115400, 115800, 116200, 116600, 117000, 117400,
179	117800, 118200, 118600, 119000, 119400, 119800, 120200, 120600,
180	121000, 121400, 121800, 122200, 122600, 123000, 123400, 123800, 124200,
181	124600, 124900, 125000, 125000, 125000, 125000
182};
183
184/* OMAP4460 data */
185const struct ti_bandgap_data omap4460_data = {
186	.features = TI_BANDGAP_FEATURE_TSHUT |
187			TI_BANDGAP_FEATURE_TSHUT_CONFIG |
188			TI_BANDGAP_FEATURE_TALERT |
189			TI_BANDGAP_FEATURE_MODE_CONFIG |
190			TI_BANDGAP_FEATURE_POWER_SWITCH |
191			TI_BANDGAP_FEATURE_CLK_CTRL |
192			TI_BANDGAP_FEATURE_COUNTER,
193	.fclock_name = "bandgap_ts_fclk",
194	.div_ck_name = "div_ts_ck",
195	.conv_table = omap4460_adc_to_temp,
196	.adc_start_val = OMAP4460_ADC_START_VALUE,
197	.adc_end_val = OMAP4460_ADC_END_VALUE,
198	.expose_sensor = ti_thermal_expose_sensor,
199	.remove_sensor = ti_thermal_remove_sensor,
200	.report_temperature = ti_thermal_report_sensor_temperature,
201	.sensors = {
202		{
203		.registers = &omap4460_mpu_temp_sensor_registers,
204		.ts_data = &omap4460_mpu_temp_sensor_data,
205		.domain = "cpu",
206		.slope_pcb = OMAP_GRADIENT_SLOPE_W_PCB_4460,
207		.constant_pcb = OMAP_GRADIENT_CONST_W_PCB_4460,
208		.register_cooling = ti_thermal_register_cpu_cooling,
209		.unregister_cooling = ti_thermal_unregister_cpu_cooling,
210		},
211	},
212	.sensor_count = 1,
213};
214
215/* OMAP4470 data */
216const struct ti_bandgap_data omap4470_data = {
217	.features = TI_BANDGAP_FEATURE_TSHUT |
218			TI_BANDGAP_FEATURE_TSHUT_CONFIG |
219			TI_BANDGAP_FEATURE_TALERT |
220			TI_BANDGAP_FEATURE_MODE_CONFIG |
221			TI_BANDGAP_FEATURE_POWER_SWITCH |
222			TI_BANDGAP_FEATURE_CLK_CTRL |
223			TI_BANDGAP_FEATURE_COUNTER,
224	.fclock_name = "bandgap_ts_fclk",
225	.div_ck_name = "div_ts_ck",
226	.conv_table = omap4460_adc_to_temp,
227	.adc_start_val = OMAP4460_ADC_START_VALUE,
228	.adc_end_val = OMAP4460_ADC_END_VALUE,
229	.expose_sensor = ti_thermal_expose_sensor,
230	.remove_sensor = ti_thermal_remove_sensor,
231	.report_temperature = ti_thermal_report_sensor_temperature,
232	.sensors = {
233		{
234		.registers = &omap4460_mpu_temp_sensor_registers,
235		.ts_data = &omap4460_mpu_temp_sensor_data,
236		.domain = "cpu",
237		.slope_pcb = OMAP_GRADIENT_SLOPE_W_PCB_4470,
238		.constant_pcb = OMAP_GRADIENT_CONST_W_PCB_4470,
239		.register_cooling = ti_thermal_register_cpu_cooling,
240		.unregister_cooling = ti_thermal_unregister_cpu_cooling,
241		},
242	},
243	.sensor_count = 1,
244};
v5.4
  1// SPDX-License-Identifier: GPL-2.0-only
  2/*
  3 * OMAP4 thermal driver.
  4 *
  5 * Copyright (C) 2011-2012 Texas Instruments Inc.
  6 * Contact:
  7 *	Eduardo Valentin <eduardo.valentin@ti.com>
  8 */
  9
 10#include "ti-thermal.h"
 11#include "ti-bandgap.h"
 12#include "omap4xxx-bandgap.h"
 13
 14/*
 15 * OMAP4430 has one instance of thermal sensor for MPU
 16 * need to describe the individual bit fields
 17 */
 18static struct temp_sensor_registers
 19omap4430_mpu_temp_sensor_registers = {
 20	.temp_sensor_ctrl = OMAP4430_TEMP_SENSOR_CTRL_OFFSET,
 21	.bgap_tempsoff_mask = OMAP4430_BGAP_TEMPSOFF_MASK,
 22	.bgap_soc_mask = OMAP4430_BGAP_TEMP_SENSOR_SOC_MASK,
 23	.bgap_eocz_mask = OMAP4430_BGAP_TEMP_SENSOR_EOCZ_MASK,
 24	.bgap_dtemp_mask = OMAP4430_BGAP_TEMP_SENSOR_DTEMP_MASK,
 25
 26	.bgap_mode_ctrl = OMAP4430_TEMP_SENSOR_CTRL_OFFSET,
 27	.mode_ctrl_mask = OMAP4430_SINGLE_MODE_MASK,
 28
 29	.bgap_efuse = OMAP4430_FUSE_OPP_BGAP,
 30};
 31
 32/* Thresholds and limits for OMAP4430 MPU temperature sensor */
 33static struct temp_sensor_data omap4430_mpu_temp_sensor_data = {
 34	.min_freq = OMAP4430_MIN_FREQ,
 35	.max_freq = OMAP4430_MAX_FREQ,
 36};
 37
 38/*
 39 * Temperature values in milli degree celsius
 40 * ADC code values from 530 to 923
 
 41 */
 42static const int
 43omap4430_adc_to_temp[OMAP4430_ADC_END_VALUE - OMAP4430_ADC_START_VALUE + 1] = {
 44	-38000, -35000, -34000, -32000, -30000, -28000, -26000, -24000, -22000,
 45	-20000, -18000, -17000, -15000, -13000, -12000, -10000, -8000, -6000,
 46	-5000, -3000, -1000, 0, 2000, 3000, 5000, 6000, 8000, 10000, 12000,
 47	13000, 15000, 17000, 19000, 21000, 23000, 25000, 27000, 28000, 30000,
 48	32000, 33000, 35000, 37000, 38000, 40000, 42000, 43000, 45000, 47000,
 49	48000, 50000, 52000, 53000, 55000, 57000, 58000, 60000, 62000, 64000,
 50	66000, 68000, 70000, 71000, 73000, 75000, 77000, 78000, 80000, 82000,
 51	83000, 85000, 87000, 88000, 90000, 92000, 93000, 95000, 97000, 98000,
 52	100000, 102000, 103000, 105000, 107000, 109000, 111000, 113000, 115000,
 53	117000, 118000, 120000, 122000, 123000,
 54};
 55
 56/* OMAP4430 data */
 57const struct ti_bandgap_data omap4430_data = {
 58	.features = TI_BANDGAP_FEATURE_MODE_CONFIG |
 59			TI_BANDGAP_FEATURE_CLK_CTRL |
 60			TI_BANDGAP_FEATURE_POWER_SWITCH,
 
 61	.fclock_name = "bandgap_fclk",
 62	.div_ck_name = "bandgap_fclk",
 63	.conv_table = omap4430_adc_to_temp,
 64	.adc_start_val = OMAP4430_ADC_START_VALUE,
 65	.adc_end_val = OMAP4430_ADC_END_VALUE,
 66	.expose_sensor = ti_thermal_expose_sensor,
 67	.remove_sensor = ti_thermal_remove_sensor,
 68	.sensors = {
 69		{
 70		.registers = &omap4430_mpu_temp_sensor_registers,
 71		.ts_data = &omap4430_mpu_temp_sensor_data,
 72		.domain = "cpu",
 73		.slope_pcb = OMAP_GRADIENT_SLOPE_W_PCB_4430,
 74		.constant_pcb = OMAP_GRADIENT_CONST_W_PCB_4430,
 75		.register_cooling = ti_thermal_register_cpu_cooling,
 76		.unregister_cooling = ti_thermal_unregister_cpu_cooling,
 77		},
 78	},
 79	.sensor_count = 1,
 80};
 81/*
 82 * OMAP4460 has one instance of thermal sensor for MPU
 83 * need to describe the individual bit fields
 84 */
 85static struct temp_sensor_registers
 86omap4460_mpu_temp_sensor_registers = {
 87	.temp_sensor_ctrl = OMAP4460_TEMP_SENSOR_CTRL_OFFSET,
 88	.bgap_tempsoff_mask = OMAP4460_BGAP_TEMPSOFF_MASK,
 89	.bgap_soc_mask = OMAP4460_BGAP_TEMP_SENSOR_SOC_MASK,
 90	.bgap_eocz_mask = OMAP4460_BGAP_TEMP_SENSOR_EOCZ_MASK,
 91	.bgap_dtemp_mask = OMAP4460_BGAP_TEMP_SENSOR_DTEMP_MASK,
 92
 93	.bgap_mask_ctrl = OMAP4460_BGAP_CTRL_OFFSET,
 94	.mask_hot_mask = OMAP4460_MASK_HOT_MASK,
 95	.mask_cold_mask = OMAP4460_MASK_COLD_MASK,
 96
 97	.bgap_mode_ctrl = OMAP4460_BGAP_CTRL_OFFSET,
 98	.mode_ctrl_mask = OMAP4460_SINGLE_MODE_MASK,
 99
100	.bgap_counter = OMAP4460_BGAP_COUNTER_OFFSET,
101	.counter_mask = OMAP4460_COUNTER_MASK,
102
103	.bgap_threshold = OMAP4460_BGAP_THRESHOLD_OFFSET,
104	.threshold_thot_mask = OMAP4460_T_HOT_MASK,
105	.threshold_tcold_mask = OMAP4460_T_COLD_MASK,
106
107	.tshut_threshold = OMAP4460_BGAP_TSHUT_OFFSET,
108	.tshut_hot_mask = OMAP4460_TSHUT_HOT_MASK,
109	.tshut_cold_mask = OMAP4460_TSHUT_COLD_MASK,
110
111	.bgap_status = OMAP4460_BGAP_STATUS_OFFSET,
112	.status_hot_mask = OMAP4460_HOT_FLAG_MASK,
113	.status_cold_mask = OMAP4460_COLD_FLAG_MASK,
114
115	.bgap_efuse = OMAP4460_FUSE_OPP_BGAP,
116};
117
118/* Thresholds and limits for OMAP4460 MPU temperature sensor */
119static struct temp_sensor_data omap4460_mpu_temp_sensor_data = {
120	.tshut_hot = OMAP4460_TSHUT_HOT,
121	.tshut_cold = OMAP4460_TSHUT_COLD,
122	.t_hot = OMAP4460_T_HOT,
123	.t_cold = OMAP4460_T_COLD,
124	.min_freq = OMAP4460_MIN_FREQ,
125	.max_freq = OMAP4460_MAX_FREQ,
126};
127
128/*
129 * Temperature values in milli degree celsius
130 * ADC code values from 530 to 923
131 */
132static const int
133omap4460_adc_to_temp[OMAP4460_ADC_END_VALUE - OMAP4460_ADC_START_VALUE + 1] = {
134	-40000, -40000, -40000, -40000, -39800, -39400, -39000, -38600, -38200,
135	-37800, -37300, -36800, -36400, -36000, -35600, -35200, -34800,
136	-34300, -33800, -33400, -33000, -32600, -32200, -31800, -31300,
137	-30800, -30400, -30000, -29600, -29200, -28700, -28200, -27800,
138	-27400, -27000, -26600, -26200, -25700, -25200, -24800, -24400,
139	-24000, -23600, -23200, -22700, -22200, -21800, -21400, -21000,
140	-20600, -20200, -19700, -19200, -18800, -18400, -18000, -17600,
141	-17200, -16700, -16200, -15800, -15400, -15000, -14600, -14200,
142	-13700, -13200, -12800, -12400, -12000, -11600, -11200, -10700,
143	-10200, -9800, -9400, -9000, -8600, -8200, -7700, -7200, -6800,
144	-6400, -6000, -5600, -5200, -4800, -4300, -3800, -3400, -3000,
145	-2600, -2200, -1800, -1300, -800, -400, 0, 400, 800, 1200, 1600,
146	2100, 2600, 3000, 3400, 3800, 4200, 4600, 5100, 5600, 6000, 6400,
147	6800, 7200, 7600, 8000, 8500, 9000, 9400, 9800, 10200, 10600, 11000,
148	11400, 11900, 12400, 12800, 13200, 13600, 14000, 14400, 14800,
149	15300, 15800, 16200, 16600, 17000, 17400, 17800, 18200, 18700,
150	19200, 19600, 20000, 20400, 20800, 21200, 21600, 22100, 22600,
151	23000, 23400, 23800, 24200, 24600, 25000, 25400, 25900, 26400,
152	26800, 27200, 27600, 28000, 28400, 28800, 29300, 29800, 30200,
153	30600, 31000, 31400, 31800, 32200, 32600, 33100, 33600, 34000,
154	34400, 34800, 35200, 35600, 36000, 36400, 36800, 37300, 37800,
155	38200, 38600, 39000, 39400, 39800, 40200, 40600, 41100, 41600,
156	42000, 42400, 42800, 43200, 43600, 44000, 44400, 44800, 45300,
157	45800, 46200, 46600, 47000, 47400, 47800, 48200, 48600, 49000,
158	49500, 50000, 50400, 50800, 51200, 51600, 52000, 52400, 52800,
159	53200, 53700, 54200, 54600, 55000, 55400, 55800, 56200, 56600,
160	57000, 57400, 57800, 58200, 58700, 59200, 59600, 60000, 60400,
161	60800, 61200, 61600, 62000, 62400, 62800, 63300, 63800, 64200,
162	64600, 65000, 65400, 65800, 66200, 66600, 67000, 67400, 67800,
163	68200, 68700, 69200, 69600, 70000, 70400, 70800, 71200, 71600,
164	72000, 72400, 72800, 73200, 73600, 74100, 74600, 75000, 75400,
165	75800, 76200, 76600, 77000, 77400, 77800, 78200, 78600, 79000,
166	79400, 79800, 80300, 80800, 81200, 81600, 82000, 82400, 82800,
167	83200, 83600, 84000, 84400, 84800, 85200, 85600, 86000, 86400,
168	86800, 87300, 87800, 88200, 88600, 89000, 89400, 89800, 90200,
169	90600, 91000, 91400, 91800, 92200, 92600, 93000, 93400, 93800,
170	94200, 94600, 95000, 95500, 96000, 96400, 96800, 97200, 97600,
171	98000, 98400, 98800, 99200, 99600, 100000, 100400, 100800, 101200,
172	101600, 102000, 102400, 102800, 103200, 103600, 104000, 104400,
173	104800, 105200, 105600, 106100, 106600, 107000, 107400, 107800,
174	108200, 108600, 109000, 109400, 109800, 110200, 110600, 111000,
175	111400, 111800, 112200, 112600, 113000, 113400, 113800, 114200,
176	114600, 115000, 115400, 115800, 116200, 116600, 117000, 117400,
177	117800, 118200, 118600, 119000, 119400, 119800, 120200, 120600,
178	121000, 121400, 121800, 122200, 122600, 123000, 123400, 123800, 124200,
179	124600, 124900, 125000, 125000, 125000, 125000
180};
181
182/* OMAP4460 data */
183const struct ti_bandgap_data omap4460_data = {
184	.features = TI_BANDGAP_FEATURE_TSHUT |
185			TI_BANDGAP_FEATURE_TSHUT_CONFIG |
186			TI_BANDGAP_FEATURE_TALERT |
187			TI_BANDGAP_FEATURE_MODE_CONFIG |
188			TI_BANDGAP_FEATURE_POWER_SWITCH |
189			TI_BANDGAP_FEATURE_CLK_CTRL |
190			TI_BANDGAP_FEATURE_COUNTER,
191	.fclock_name = "bandgap_ts_fclk",
192	.div_ck_name = "div_ts_ck",
193	.conv_table = omap4460_adc_to_temp,
194	.adc_start_val = OMAP4460_ADC_START_VALUE,
195	.adc_end_val = OMAP4460_ADC_END_VALUE,
196	.expose_sensor = ti_thermal_expose_sensor,
197	.remove_sensor = ti_thermal_remove_sensor,
198	.report_temperature = ti_thermal_report_sensor_temperature,
199	.sensors = {
200		{
201		.registers = &omap4460_mpu_temp_sensor_registers,
202		.ts_data = &omap4460_mpu_temp_sensor_data,
203		.domain = "cpu",
204		.slope_pcb = OMAP_GRADIENT_SLOPE_W_PCB_4460,
205		.constant_pcb = OMAP_GRADIENT_CONST_W_PCB_4460,
206		.register_cooling = ti_thermal_register_cpu_cooling,
207		.unregister_cooling = ti_thermal_unregister_cpu_cooling,
208		},
209	},
210	.sensor_count = 1,
211};
212
213/* OMAP4470 data */
214const struct ti_bandgap_data omap4470_data = {
215	.features = TI_BANDGAP_FEATURE_TSHUT |
216			TI_BANDGAP_FEATURE_TSHUT_CONFIG |
217			TI_BANDGAP_FEATURE_TALERT |
218			TI_BANDGAP_FEATURE_MODE_CONFIG |
219			TI_BANDGAP_FEATURE_POWER_SWITCH |
220			TI_BANDGAP_FEATURE_CLK_CTRL |
221			TI_BANDGAP_FEATURE_COUNTER,
222	.fclock_name = "bandgap_ts_fclk",
223	.div_ck_name = "div_ts_ck",
224	.conv_table = omap4460_adc_to_temp,
225	.adc_start_val = OMAP4460_ADC_START_VALUE,
226	.adc_end_val = OMAP4460_ADC_END_VALUE,
227	.expose_sensor = ti_thermal_expose_sensor,
228	.remove_sensor = ti_thermal_remove_sensor,
229	.report_temperature = ti_thermal_report_sensor_temperature,
230	.sensors = {
231		{
232		.registers = &omap4460_mpu_temp_sensor_registers,
233		.ts_data = &omap4460_mpu_temp_sensor_data,
234		.domain = "cpu",
235		.slope_pcb = OMAP_GRADIENT_SLOPE_W_PCB_4470,
236		.constant_pcb = OMAP_GRADIENT_CONST_W_PCB_4470,
237		.register_cooling = ti_thermal_register_cpu_cooling,
238		.unregister_cooling = ti_thermal_unregister_cpu_cooling,
239		},
240	},
241	.sensor_count = 1,
242};