AnsweredAssumed Answered

Disable failed for PMIC MMPF0100 VGEN6 using IMX6 Android 4.4 Platform

Question asked by Public Account on Jan 21, 2015
Latest reply on Jan 27, 2015 by Jose Alberto Reyes Morales

As title, my modified as follow:

1. mx6q_sabresd_pmic_pfuze100.c

static struct pfuze_regulator_init_data mx6q_sabreauto_pfuze100_regulators[] = {

    {.id = PFUZE100_SW1A,    .init_data = &sw1a_init},

    {.id = PFUZE100_SW1B,    .init_data = &sw1b_init},

    {.id = PFUZE100_SW1C,    .init_data = &sw1c_init},

    {.id = PFUZE100_SW2,    .init_data = &sw2_init},

    {.id = PFUZE100_SW3A,    .init_data = &sw3a_init},

    {.id = PFUZE100_SW3B,    .init_data = &sw3b_init},

    {.id = PFUZE100_SW4,    .init_data = &sw4_init},

    {.id = PFUZE100_SWBST,    .init_data = &swbst_init},

    {.id = PFUZE100_VSNVS,    .init_data = &vsnvs_init},

    {.id = PFUZE100_VREFDDR,    .init_data = &vrefddr_init},

    {.id = PFUZE100_VGEN1,    .init_data = &vgen1_init},

    {.id = PFUZE100_VGEN2,    .init_data = &vgen2_init},

    {.id = PFUZE100_VGEN3,    .init_data = &vgen3_init},

    {.id = PFUZE100_VGEN4,    .init_data = &vgen4_init},

    {.id = PFUZE100_VGEN5,    .init_data = &vgen5_init},

    //{.id = PFUZE100_VGEN6,    .init_data = &vgen6_init},

};

 

static int pfuze100_init(struct mc_pfuze *pfuze)

{

...

...

   ret=pfuze_reg_write(pfuze, 0x71, 0x0f);

    ret = pfuze_reg_read(pfuze, 0x71, &value);   

    printk("#############VGEN6 reg=0x%02x\n",value);

 

    return 0;

err:

    printk(KERN_ERR "pfuze100 init error!\n");

    return -1;

}

 

After I modified, boot OS looks Okay for VGEN6, it's really disable,

but power contorl appear some trouble:

1. power key not work.

2. After boot into screen home, the OS crash right now and auto reboot again and again.

 

so I wonder maybe my way to disable vgen6 not fine?

what the way will be better?

 

Thanks a lot.

Outcomes