23 Mar, 2011

1 commit


12 Jan, 2011

1 commit

  • Change the interface used by set_voltage() to report the selected value
    to the regulator core in terms of a selector used by list_voltage().
    This allows the regulator core to know the voltage that was chosen
    without having to do an explict get_voltage(), which would be much more
    expensive as it will generally access hardware.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     

05 Sep, 2010

1 commit

  • In choose_voltage(), we use i as array index of info->vol_table.
    The valid value range for i should be 0 .. ARRAY_SIZE(info->vol_table) - 1.

    Take LDO1 as example, ARRAY_SIZE(LDO1_table) is 4, vol_nbits of LDO1 is 2.
    for (i = 0; i < (2 << info->vol_nbits); i++) is equivalent to
    for (i = 0; i < 8; i++)
    which is wrong.

    The same value range checking also applies for index in pm8607_list_voltage().

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Axel Lin
     

25 May, 2010

2 commits


08 Mar, 2010

2 commits

  • Remove the support 88PM8607 A0/A1 stepping. There's some register
    definition changes in B0 stepping. It can make software more efficient.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Samuel Ortiz

    Haojian Zhuang
     
  • 88PM8606 and 88PM8607 are two discrete chips used for power management.
    Hardware designer can use them together or only one of them according to
    requirement.

    There's some logic tightly linked between these two chips. For example, USB
    charger driver needs to access both chips by I2C interface.

    Now share one driver to these two devices. Only one I2C client is identified
    in platform init data. If another chip is also used, user should mark it in
    companion_addr field of platform init data. Then driver could create another
    I2C client for the companion chip.

    All I2C operations are accessed by 860x-i2c driver. In order to support both
    I2C client address, the read/write API is changed in below.

    reg_read(client, offset)
    reg_write(client, offset, data)

    The benefit is that client drivers only need one kind of read/write API. I2C
    and MFD driver can be shared in both 8606 and 8607.

    Since API is changed, update API in 8607 regulator driver.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Samuel Ortiz

    Haojian Zhuang
     

17 Dec, 2009

2 commits

  • If we fall through it means that we hit an unknown regulator/chip
    combination so set -ENOENT as an explicit flag (the return code
    is only used internally).

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • Hi Liam,

    Since Samuel merged a new version of mfd 88pm8607 driver, I format a
    new patch on regulator 88pm8607. I paste the new patch in mail. Please
    help to review again. And I also attach the mfd driver in mail.

    From: Haojian Zhuang
    Date: Thu, 8 Oct 2009 09:36:53 -0400
    Subject: [PATCH] regulator: Add 88PM8607 PMIC driver

    This patch adds regulator drivers for Marvell 88PM8607 PMIC.
    This controller contains 3 DVC and 14 LDO regulators. This controller
    uses I2C interface.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Liam Girdwood

    Haojian Zhuang