mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-12 06:32:34 -05:00
imx233: rework adc battery temperature sensor handling
Change-Id: I770729d7246b0ad8bc6fc5d6e45861325f6b790c
This commit is contained in:
parent
bc4631055f
commit
25feb00a64
4 changed files with 17 additions and 11 deletions
|
|
@ -19,10 +19,6 @@
|
||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
#include "adc.h"
|
|
||||||
#include "adc-target.h"
|
|
||||||
#include "system.h"
|
|
||||||
#include "adc-imx233.h"
|
#include "adc-imx233.h"
|
||||||
|
|
||||||
void adc_init(void)
|
void adc_init(void)
|
||||||
|
|
@ -73,11 +69,11 @@ static short adc_read_virtual(int c)
|
||||||
imx233_lradc_release_channel(nmos_chan);
|
imx233_lradc_release_channel(nmos_chan);
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
#ifdef IMX233_ADC_BATT_TEMP_SENSOR
|
#ifdef IMX233_BATT_TEMP_SENSOR
|
||||||
case IMX233_ADC_BATT_TEMP:
|
case IMX233_ADC_BATT_TEMP:
|
||||||
{
|
{
|
||||||
int virt = imx233_lradc_acquire_channel(TIMEOUT_BLOCK);
|
int virt = imx233_lradc_acquire_channel(TIMEOUT_BLOCK);
|
||||||
int val = imx233_lradc_sense_ext_temperature(virt, IMX233_ADC_BATT_TEMP_SENSOR);
|
int val = imx233_lradc_sense_ext_temperature(virt, IMX233_BATT_TEMP_SENSOR);
|
||||||
imx233_lradc_release_channel(virt);
|
imx233_lradc_release_channel(virt);
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,15 +22,17 @@
|
||||||
#define _ADC_IMX233_H_
|
#define _ADC_IMX233_H_
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
#include "adc.h"
|
||||||
|
#include "adc-target.h"
|
||||||
|
#include "powermgmt-target.h"
|
||||||
#include "lradc-imx233.h"
|
#include "lradc-imx233.h"
|
||||||
#include "adc-imx233.h"
|
|
||||||
|
|
||||||
/* Virtual channels */
|
/* Virtual channels */
|
||||||
#define IMX233_ADC_BATTERY -1 /* Battery voltage (mV) */
|
#define IMX233_ADC_BATTERY -1 /* Battery voltage (mV) */
|
||||||
#define IMX233_ADC_DIE_TEMP -2 /* Die temperature (°C) */
|
#define IMX233_ADC_DIE_TEMP -2 /* Die temperature (°C) */
|
||||||
#define IMX233_ADC_VDDIO -3 /* VddIO voltage (mV) */
|
#define IMX233_ADC_VDDIO -3 /* VddIO voltage (mV) */
|
||||||
#define IMX233_ADC_VDD5V -4 /* Vdd5V voltage (mV) */
|
#define IMX233_ADC_VDD5V -4 /* Vdd5V voltage (mV) */
|
||||||
#ifdef IMX233_ADC_BATT_TEMP_SENSOR
|
#ifdef IMX233_BATT_TEMP_SENSOR
|
||||||
#define IMX233_ADC_BATT_TEMP -5 /* Battery temperature (°C) */
|
#define IMX233_ADC_BATT_TEMP -5 /* Battery temperature (°C) */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,4 @@
|
||||||
#define ADC_BATT_TEMP 4
|
#define ADC_BATT_TEMP 4
|
||||||
#define ADC_CH2 5
|
#define ADC_CH2 5
|
||||||
|
|
||||||
#define IMX233_ADC_BATT_TEMP_SENSOR 0
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -37,12 +37,22 @@
|
||||||
* - top off period: 30 min
|
* - top off period: 30 min
|
||||||
* - high die temperature: 71 °C
|
* - high die temperature: 71 °C
|
||||||
* - low die temperature: 56 °C
|
* - low die temperature: 56 °C
|
||||||
* - safe temperature current: 30 mA
|
* - safe die temperature current: 30 mA
|
||||||
|
* - battery temperature channel: 0
|
||||||
|
* - high battery temperature: 1100
|
||||||
|
* - low battery temperature: 220
|
||||||
|
* - safe battery temperature current: 0 mA
|
||||||
|
* - low DCDC battery voltage: 3.9 V
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define IMX233_CHARGE_CURRENT 200
|
#define IMX233_CHARGE_CURRENT 200
|
||||||
#define IMX233_STOP_CURRENT 30
|
#define IMX233_STOP_CURRENT 30
|
||||||
#define IMX233_TOPOFF_TIMEOUT (30 * 60 * HZ)
|
#define IMX233_TOPOFF_TIMEOUT (30 * 60 * HZ)
|
||||||
#define IMX233_CHARGING_TIMEOUT (4 * 3600 * HZ)
|
#define IMX233_CHARGING_TIMEOUT (4 * 3600 * HZ)
|
||||||
|
#define IMX233_DIE_TEMP_HIGH 71
|
||||||
|
#define IMX233_DIE_TEMP_LOW 56
|
||||||
|
#define IMX233_BATT_TEMP_SENSOR 0
|
||||||
|
#define IMX233_BATT_TEMP_HIGH 1100
|
||||||
|
#define IMX233_BATT_TEMP_LOW 220
|
||||||
|
|
||||||
#endif /* POWERMGMT_TARGET_H */
|
#endif /* POWERMGMT_TARGET_H */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue