1. 06 11月, 2012 6 次提交
  2. 16 9月, 2011 10 次提交
    • N
      OMAP4: PM: TWL6030: add cmd register · ee7fbba6
      Nishanth Menon 提交于
      Without the command register, ON/ONLP/RET/OFF voltages are
      useless. and TWL will be unable to use these
      Signed-off-by: NNishanth Menon <nm@ti.com>
      ee7fbba6
    • P
      OMAP4: PM: TWL6030: fix ON/RET/OFF voltages · 63f60a43
      Patrick Titiano 提交于
      According to latest OMAP4430 Data Manual v0.4 dated March 2011:
       - Retention voltage shall be set to 0.83V. See tables 2.2, 2.4 and 2.6 in DM.
         This allows saving a little more power in retention states.
       - OPP100 IVA nominal voltage is 1.188V. See table 2.4 in DM.
         This allows saving a little power when CPU wakes up until Smart-Reflex is
         not yet resumed.
      
      [nm@ti.com: ported to voltdm_c]
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NPatrick Titiano <p-titiano@ti.com>
      63f60a43
    • N
      OMAP4: PM: TWL6030: address 0V conversions · 2aed5b9e
      Nishanth Menon 提交于
      0V conversions should be mapped to 0 as it is meant to denote
      off voltages.
      Signed-off-by: NNishanth Menon <nm@ti.com>
      2aed5b9e
    • N
      OMAP4: PM: TWL6030: fix uv to voltage for >0x39 · 36649425
      Nishanth Menon 提交于
      using 1.35V as a check is not correct, we know that beyond 0x39,
      voltages are non linear - hence use the conversion iff uV greater
      than that for 0x39. For example, with  709mV as the smps offset,
      the max linear is actually 1.41V(0x39vsel)!
      Signed-off-by: NNishanth Menon <nm@ti.com>
      36649425
    • P
      OMAP4: PM: TWL6030: fix voltage conversion formula · 58e241f7
      Patrick Titiano 提交于
      omap_twl_vsel_to_uv() and omap_twl_uv_to_vsel() functions used to convert
      voltages to TWL6030 SMPS commands (a.k.a "vsel") implement incorrect conversion
      formula.
      It uses legacy OMAP3 formula, but OMAP4 Power IC has different offset and
      voltage step:
       - Voltage Step is now 12.66mV (instead of 12.5mV)
       - Offset is either 607.7mV or 709mV depending on TWL6030 chip revision
         (instead of 600mV)
      This leads to setting voltages potentially higher than expected, and so
      potentially some (limited) power overconsumption.
      
      For reference, see formula and tables in section 8.5.2.3
      "Output Voltage Selection (Standard Mode / Extended Mode with or without offset)"
       in TWL6030 functional specifications document.
      
      [nm@ti.com: ported to voltdm_c]
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NPatrick Titiano <p-titiano@ti.com>
      58e241f7
    • K
      OMAP3+: VC: make I2C config programmable with PMIC-specific settings · f5395480
      Kevin Hilman 提交于
      Remove hard-coded I2C configuration in favor of settings that can be
      configured from PMIC-specific values.  Currently only high-speed mode
      and the master-code value are supported, since they were the only
      fields currently used, but extending this is now trivial.
      
      Thanks to Nishanth Menon <nm@ti.com> for reporting/fixing a sparse
      problem and making omap_vc_i2c_init() static, as well as finding and
      fixing a problem with the shift/mask of mcode.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      f5395480
    • K
      OMAP3+: voltage domain: move PMIC struct from vdd_info into struct voltagedomain · ce8ebe0d
      Kevin Hilman 提交于
      Move structure containing PMIC configurable settings into struct
      voltagedomain.  In the process, rename from omap_volt_pmic_info to
      omap_voltdm_pmic (_info suffix is not helpful.)
      
      No functional changes.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      ce8ebe0d
    • K
      OMAP2+: VC: support PMICs with separate voltage and command registers · e74e4405
      Kevin Hilman 提交于
      The VC layer can support PMICs with separate voltage and command
      registers by putting the different registers in the PRM_VC_SMPS_VOL_RA
      and PRCM_VC_SMPS_CMD_RA registers respectively.
      
      The PMIC data must supply at least a voltage register address
      (volt_reg_addr).  The command register address (cmd_reg_addr) is
      optional.  If the PMIC data does not supply a separate command
      register address, the VC will use the voltage register address for both.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      e74e4405
    • K
      OMAP3: voltage: rename "mpu" voltagedomain to "mpu_iva" · 280a7275
      Kevin Hilman 提交于
      This voltage domain (a.k.a. VDD1) contains both the MPU and the IVA, so
      rename appropriately.
      
      Also fixup any users of the "mpu" name to use "mpu_iva"
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      280a7275
    • K
      OMAP2+: voltage: start towards a new voltagedomain layer · 81a60482
      Kevin Hilman 提交于
      Start cleaning up the voltage layer to have a voltage domain layer
      that resembles the structure of the existing clock and power domain
      layers.  To that end:
      
      - move the 'struct voltagedomain' out of 'struct omap_vdd_info' to
        become the primary data structure.
      
      - convert any functions taking a pointer to struct omap_vdd_info into
        functions taking a struct voltagedomain pointer.
      
      - convert the register & initialize of voltage domains to look like
        that of powerdomains
      
      - convert omap_voltage_domain_lookup() to voltdm_lookup(), modeled
        after the current powerdomain and clockdomain lookup functions.
      
      - omap_voltage_late_init(): only configure VDD info when
        the vdd_info struct is non-NULL
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      81a60482
  3. 31 3月, 2011 1 次提交
  4. 10 3月, 2011 1 次提交
  5. 08 3月, 2011 1 次提交
  6. 08 1月, 2011 2 次提交
    • N
      OMAP2+: TWL: include pm header for init protos · dda0aea7
      Nishanth Menon 提交于
      twl_init functions are declared in pm.h and used in pm.c
      pm.h header defining the protos need to be included to
      ensure that omap_twl.c has consistent function definition.
      This fixes sparse warning:
      arch/arm/mach-omap2/omap_twl.c:237:12: warning: symbol 'omap4_twl_init' was not declared. Should it be static?
      arch/arm/mach-omap2/omap_twl.c:256:12: warning: symbol 'omap3_twl_init' was not declared. Should it be static?
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      dda0aea7
    • N
      OMAP2+: TWL: make conversion routines static · c84ff1cc
      Nishanth Menon 提交于
      The uv_to_vsel, vsel_to_uv functions don't need to be exposed to the
      world as they are used as function pointers. make them static.
      
      Fixes sparse warnings:
      arch/arm/mach-omap2/omap_twl.c:63:15: warning: symbol 'twl4030_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/omap_twl.c:68:4: warning: symbol 'twl4030_uv_to_vsel' was not declared. Should it be static?
      arch/arm/mach-omap2/omap_twl.c:73:15: warning: symbol 'twl6030_vsel_to_uv' was not declared. Should it be static?
      arch/arm/mach-omap2/omap_twl.c:105:4: warning: symbol 'twl6030_uv_to_vsel' was not declared. Should it be static?
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      c84ff1cc
  7. 23 12月, 2010 2 次提交