mirror of
git://projects.qi-hardware.com/xburst-tools.git
synced 2024-11-25 19:24:03 +02:00
qi-gta03-add-pmu-init.patch
Signed-off-by: Andy Green <andy@openmoko.com>
This commit is contained in:
parent
31f03046d5
commit
56841f9f5d
@ -383,5 +383,10 @@ enum pcf50633_reg_mbcs3 {
|
|||||||
PCF50633_MBCS3_VRES = 0x80, /* 1: Vbat > Vth(RES) */
|
PCF50633_MBCS3_VRES = 0x80, /* 1: Vbat > Vth(RES) */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct pcf50633_init {
|
||||||
|
u8 index;
|
||||||
|
u8 value;
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _PCF50633_H */
|
#endif /* _PCF50633_H */
|
||||||
|
|
||||||
|
@ -35,11 +35,6 @@
|
|||||||
#define PCF50633_I2C_ADS 0x73
|
#define PCF50633_I2C_ADS 0x73
|
||||||
#define BOOST_TO_400MHZ 1
|
#define BOOST_TO_400MHZ 1
|
||||||
|
|
||||||
struct pcf50633_init {
|
|
||||||
u8 index;
|
|
||||||
u8 value;
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct pcf50633_init pcf50633_init[] = {
|
const struct pcf50633_init pcf50633_init[] = {
|
||||||
|
|
||||||
{ PCF50633_REG_OOCWAKE, 0xd3 }, /* wake from ONKEY,EXTON!,RTC,USB,ADP */
|
{ PCF50633_REG_OOCWAKE, 0xd3 }, /* wake from ONKEY,EXTON!,RTC,USB,ADP */
|
||||||
|
@ -2,14 +2,49 @@
|
|||||||
#include <neo_gta03.h>
|
#include <neo_gta03.h>
|
||||||
#include <s3c6410.h>
|
#include <s3c6410.h>
|
||||||
#include <serial-s3c64xx.h>
|
#include <serial-s3c64xx.h>
|
||||||
//#include <ports-s3c24xx.h>
|
#include <i2c-bitbang-s3c6410.h>
|
||||||
//#include <i2c-bitbang-s3c24xx.h>
|
|
||||||
#include <pcf50633.h>
|
#include <pcf50633.h>
|
||||||
|
|
||||||
#define GTA03_DEBUG_UART 3
|
#define GTA03_DEBUG_UART 3
|
||||||
|
|
||||||
#define PCF50633_I2C_ADS 0x73
|
#define PCF50633_I2C_ADS 0x73
|
||||||
|
|
||||||
|
const struct pcf50633_init gta03_pcf50633_init[] = {
|
||||||
|
|
||||||
|
{ PCF50633_REG_OOCWAKE, 0xd3 }, /* wake from ONKEY,EXTON!,RTC,USB,ADP */
|
||||||
|
{ PCF50633_REG_OOCTIM1, 0xaa }, /* debounce 14ms everything */
|
||||||
|
{ PCF50633_REG_OOCTIM2, 0x4a },
|
||||||
|
{ PCF50633_REG_OOCMODE, 0x55 },
|
||||||
|
{ PCF50633_REG_OOCCTL, 0x47 },
|
||||||
|
|
||||||
|
{ PCF50633_REG_SVMCTL, 0x08 }, /* 3.10V SYS voltage thresh. */
|
||||||
|
{ PCF50633_REG_BVMCTL, 0x02 }, /* 2.80V BAT voltage thresh. */
|
||||||
|
|
||||||
|
{ PCF50633_REG_AUTOENA, 0x01 }, /* always on */
|
||||||
|
|
||||||
|
{ PCF50633_REG_DOWN1OUT, 0x17 }, /* 1.2V (0x17 * .025V + 0.625V) */
|
||||||
|
{ PCF50633_REG_DOWN1ENA, 0x02 }, /* enabled if GPIO1 = HIGH */
|
||||||
|
{ PCF50633_REG_LDO6ENA, 0x01 }, /* LCM power off */
|
||||||
|
|
||||||
|
{ PCF50633_REG_INT1M, 0x00 },
|
||||||
|
{ PCF50633_REG_INT2M, 0x00 },
|
||||||
|
{ PCF50633_REG_INT3M, 0x00 },
|
||||||
|
{ PCF50633_REG_INT4M, 0x00 },
|
||||||
|
{ PCF50633_REG_INT5M, 0x00 },
|
||||||
|
|
||||||
|
{ PCF50633_REG_MBCC2, 0x28 }, /* Vbatconid=2.7V, Vmax=4.20V */
|
||||||
|
{ PCF50633_REG_MBCC3, 0x19 }, /* 25/255 == 98mA pre-charge */
|
||||||
|
{ PCF50633_REG_MBCC4, 0xff }, /* 255/255 == 1A adapter fast */
|
||||||
|
{ PCF50633_REG_MBCC5, 0x19 }, /* 25/255 == 98mA soft-start usb fast */
|
||||||
|
{ PCF50633_REG_MBCC6, 0x00 }, /* cutoff current 1/32 * Ichg */
|
||||||
|
{ PCF50633_REG_MBCC7, 0x00 }, /* 1.6A max bat curr, USB 100mA */
|
||||||
|
{ PCF50633_REG_MBCC8, 0x00 },
|
||||||
|
{ PCF50633_REG_MBCC1, 0xff }, /* chgena */
|
||||||
|
|
||||||
|
{ PCF50633_REG_BBCCTL, 0x19 }, /* 3V, 200uA, on */
|
||||||
|
{ PCF50633_REG_OOCSHDWN, 0x04 }, /* defeat 8s death from lowsys on A5 */
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
static const struct board_variant board_variants[] = {
|
static const struct board_variant board_variants[] = {
|
||||||
[0] = {
|
[0] = {
|
||||||
@ -20,6 +55,7 @@ static const struct board_variant board_variants[] = {
|
|||||||
|
|
||||||
void port_init_gta03(void)
|
void port_init_gta03(void)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
|
|
||||||
/* ---------------------------- Port A ---------------------------- */
|
/* ---------------------------- Port A ---------------------------- */
|
||||||
|
|
||||||
@ -732,22 +768,14 @@ void port_init_gta03(void)
|
|||||||
(0 << 30) /* GPQ15 - no pull up or down */
|
(0 << 30) /* GPQ15 - no pull up or down */
|
||||||
;
|
;
|
||||||
|
|
||||||
#if 0
|
|
||||||
/*
|
/*
|
||||||
* We have to talk to the PMU a little bit
|
* We have to talk to the PMU a little bit
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* We need SD Card rail (HCLDO) at 3.0V */
|
for (n = 0; n < ARRAY_SIZE(gta03_pcf50633_init); n++)
|
||||||
i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOOUT,
|
i2c_write_sync(&bb_s3c6410, PCF50633_I2C_ADS,
|
||||||
21);
|
gta03_pcf50633_init[n].index,
|
||||||
|
gta03_pcf50633_init[n].value);
|
||||||
/* switch HCLDO on */
|
|
||||||
i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_HCLDOENA, 1);
|
|
||||||
|
|
||||||
/* push DOWN1 (CPU Core rail) to 1.7V, allowing 533MHz */
|
|
||||||
i2c_write_sync(&bb_s3c24xx, PCF50633_I2C_ADS, PCF50633_REG_DOWN1OUT,
|
|
||||||
0x2b);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user