14 Dec, 2020

2 commits

  • The Linux kernel regulator core implementation does not accept negative
    voltage values; all negative values are treated as errors.

    The problem with the EPDC is that the panel uses a negative voltage
    regulator which fails to be enabled by the regulator core. This issue has
    slipped up until the 4.9 rebase because the voltage range [min, max] was
    checked against only when min = max. This has been fixed in 4.9, resulting
    in errors in the VCOM regulator driver.

    The fix is to use the negative values when communicating with the hardware,
    but send only positive values to the regulator core.

    This patch sends the absolute value to the regulator core and transforms
    the received value (from the regulator core) to negative one before sending
    it to hardware.

    Fix device tree to deal with negative voltage regulator values by setting
    min_value = -real_max_value and vice versa. Boards affected:
    - imx6dl-sabresd
    - imx6ull-14x14-ddr3-arm2
    - imx7d-12x12-lpddr3-arm2
    - imx7d-sdb
    - imx6sll-evk
    - imx6sl-evk
    - imx6sll-lpddr3-arm2

    Signed-off-by: Cristina Ciocan
    [Arul: Fix merge conflicts]
    Signed-off-by: Arulpandiyan Vadivel

    [Robby: split original patch to driver and dts part. this is driver part.]
    Signed-off-by: Robby Cai

    Cristina Ciocan
     
  • Add PMIC 'MAX17135' module drivers to 4.1.y kernel. These are necessary
    to supply power for E-ink panel display functions.

    Signed-off-by: Robby Cai
    Signed-off-by: Vipul Kumar

    Robby Cai