Disable failed for PMIC MMPF0100 VGEN6 using IMX6 Android 4.4 Platform

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Disable failed for PMIC MMPF0100 VGEN6 using IMX6 Android 4.4 Platform

1,053 Views
changyuheng
Contributor II

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.

Labels (1)
Tags (2)
0 Kudos
Reply
1 Reply

679 Views
reyes
NXP TechSupport
NXP TechSupport

Hi,

I checked your questions however I’, still a little confused about what is your problem, can you please clarify?

If I understand correctly, you are disabling VGEN6 by writing 0x0f to Register 0x71 and after this you are reading register 0x71 only to verify if It was properly written, right? (And you can confirm that register 0x71 is properly written with 0x0f value) and re-confirm this checking that VGEN6 output it’s properly disabled (0.0V on this output), correct?

However, after disabling VGEN6 (and only after disabling this LDO) you are having the following issues with the power control: power key no longer work, and after boot into screen home, the OS crash right now and auto reboot again and again. Correct?

Now, if you do not disable VGEN6, does the power control work properly?

Do you really need to disable VGEN6 for your application?

I have never seen this issue before and I cannot see any relationship between the power control and VGEN6 to try to find out what is causing the problem. Can you please send more information about this problem, please?

We are assuming that you are using i.mx6q Sabre SD board, but please confirm this, or if you are using a different board, please let us know.


Have a great day,
Jose Reyes

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

Adding SergioSolis to the community thread loop

0 Kudos
Reply