1. 22 Dec, 2010 16 commits
    • Thara Gopinath's avatar
      OMAP4: Smartreflex framework extensions · b35cecf9
      Thara Gopinath authored
      
      
      This patch extends the smartreflex framework to support
      OMAP4. The changes are minor like compiling smartreflex Kconfig
      option for OMAP4 also, and a couple of OMAP4 checks in
      the smartreflex framework.
      
      The change in sr_device.c where new logic has to be introduced
      for reading the efuse registers is due to the fact that in OMAP4
      the efuse registers are 24 bit aligned. A __raw_readl will
      fail for non-32 bit aligned address and hence the 8-bit read
      and shift.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      b35cecf9
    • Benoit Cousson's avatar
      OMAP4: hwmod: Add inital data for smartreflex modules. · fb200cfb
      Benoit Cousson authored
      
      
      This patch adds the hwmod details for OMAP4 smartreflex modules.
      
      Signed-off-by: default avatarBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      fb200cfb
    • Thara Gopinath's avatar
      OMAP4: PM: Program correct init voltages for scalable VDDs · 1376ee1d
      Thara Gopinath authored
      
      
      By default the system boots up at nominal voltage for every
      voltage domain in the system. This patch puts vdd_mpu, vdd_iva
      and vdd_core to the correct boot up voltage as per the opp tables
      specified. This patch implements this by matching the rate of
      the main clock of the voltage domain with the opp table and
      picking up the correct voltage.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      1376ee1d
    • Thara Gopinath's avatar
      OMAP4: Adding voltage driver support · bd38107b
      Thara Gopinath authored
      
      
      OMAP4 has three scalable voltage domains vdd_mpu, vdd_iva
      and vdd_core. This patch adds the voltage tables and other
      configurable voltage processor and voltage controller
      settings to control these three scalable domains in OMAP4.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      bd38107b
    • Thara Gopinath's avatar
      OMAP4: Register voltage PMIC parameters with the voltage layer · 7bc3ed9a
      Thara Gopinath authored
      
      
      TWL6030 is the power IC used along with OMAP4 in OMAP4 SDPs,
      blaze boards and panda boards. This patch registers the OMAP4
      PMIC specific information with the voltage layer.
      This also involves implementing a different formula for
      voltage to vsel and vsel to voltage calculations from
      TWL4030.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      7bc3ed9a
    • Thara Gopinath's avatar
      OMAP3: PM: Program correct init voltages for VDD1 and VDD2 · 1482d8be
      Thara Gopinath authored
      
      
      By default the system boots up at nominal voltage for every
      voltage domain in the system. This patch puts VDD1 and VDD2
      to the correct boot up voltage as per the opp tables specified.
      This patch implements this by matching the rate of the main clock
      of the voltage domain with the opp table and picking up the correct
      voltage.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      1482d8be
    • Thara Gopinath's avatar
      OMAP3: PM: Adding debug support to Voltage and Smartreflex drivers · 077fceca
      Thara Gopinath authored
      
      
      This patch adds debug support to the voltage and smartreflex drivers.
      This means a whole bunch of voltage processor and smartreflex
      parameters are now visible through the pm debugfs.
      The voltage parameters can be viewed at
              /debug/voltage/vdd_<x>/<parameter>
      and the smartreflex parameters can be viewed at
              /debug/voltage/vdd_<x>/smartreflex/<parameter>
      
      Also smartreflex n-target values are now exposed out at
      	/debug/voltage/vdd_<x>/smartreflex/nvalue/<voltage>
      
      This is a read-write interface which means user has the
      flexibility to change the n-target values for any opp.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      077fceca
    • Thara Gopinath's avatar
      OMAP3: PM: Register TWL4030 pmic info with the voltage driver. · fbc319f6
      Thara Gopinath authored
      
      
      This patch registers the TWL4030 PMIC specific informtion
      with the voltage driver. Failing this patch the voltage driver
      is unware of the formula to use for vsel to voltage and vice versa
      conversion and lot of other PMIC dependent parameters.
      
      This file is based on the arch/arm/plat-omap opp_twl_tpl.c file
      by Paul Walmsley. The original file is replaced by this file.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      fbc319f6
    • Thara Gopinath's avatar
      OMAP3: PM: Adding smartreflex class3 driver · fa765823
      Thara Gopinath authored
      
      
      Smartreflex Class3 implementation continuously monitors
      silicon performance  and instructs the Voltage Processors
      to increase or decrease the voltage.
      This patch adds smartreflex class 3 driver. This driver hooks
      up with the generic smartreflex driver smartreflex.c to abstract
      out class specific implementations out of the generic driver.
      
      Class3 driver is chosen as the default class driver for smartreflex.
      If any other class driver needs to be implemented, the init of that
      driver should be called from the board file. That way the new class driver
      will over-ride the Class3 driver.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      fa765823
    • Thara Gopinath's avatar
      OMAP3: PM: Adding smartreflex hwmod data · d3442726
      Thara Gopinath authored
      
      
      This patch adds the smartreflex hwmod data for OMAP3430
      and OMAP3630.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      d3442726
    • Thara Gopinath's avatar
      OMAP3: PM: Adding smartreflex device file. · 0c0a5d61
      Thara Gopinath authored
      
      
      This patch adds support for device registration of various
      smartreflex module present in the system. This patch introduces
      the platform data for smartreflex devices which include
      the efused n-target vaules, a parameter to indicate
      whether smartreflex autocompensation needs to be
      enabled on init or not. An API
      omap_enable_smartreflex_on_init is provided for the
      board files to enable smartreflex autocompensation during
      system boot up.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      0c0a5d61
    • Thara Gopinath's avatar
      OMAP3: PM: Adding smartreflex driver support. · 984aa6db
      Thara Gopinath authored
      
      
      SmartReflex modules do adaptive voltage control for real-time
      voltage adjustments. With Smartreflex the power supply voltage
      can be adapted to the silicon performance(manufacturing process,
      temperature induced performance, age induced performance etc).
      
      There are differnet classes of smartreflex implementation.
      	Class-0: Manufacturing Test Calibration
      	Class-1: Boot-Time Software Calibration
      	Class-2: Continuous Software Calibration
      	Class-3: Continuous Hardware Calibration
      	Class-4: Fully Integrated Power Management
      
      OMAP3 has two smartreflex modules one associated with VDD MPU and the
      other associated with VDD CORE.
      This patch adds support for  smartreflex driver. The driver is designed
      for Class-1 , Class-2 and Class-3 support and is  a platform driver.
      Smartreflex driver can be enabled through a Kconfig option
      "SmartReflex support" under "System type"->"TI OMAP implementations" menu.
      
      Smartreflex autocompensation feature can be enabled runtime through
      a debug fs option.
      To enable smartreflex autocompensation feature
      	echo 1 > /debug/voltage/vdd_<X>/smartreflex/autocomp
      To disable smartreflex autocompensation feature
      	echo 0 > /debug/voltage/vdd_<X>/smartreflex/autocomp
      
      where X can be mpu, core , iva etc.
      
      This patch contains code originally in linux omap pm branch.
      Major contributors to this driver are
      Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
      Nishant Menon, Kevin Hilman.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      984aa6db
    • Thara Gopinath's avatar
      OMAP: Introduce voltage domain information in the hwmod structures · 3b92408c
      Thara Gopinath authored
      
      
      This patch extends the device hwmod structure to contain
      info about the voltage domain to which the device belongs to.
      This is needed to support a device based DVFS where the
      device knows which voltage domain it belongs to.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      3b92408c
    • Thara Gopinath's avatar
      OMAP3: PM: Adding voltage driver support. · 2f34ce81
      Thara Gopinath authored
      
      
      This patch adds voltage driver support for OMAP3. The driver
      allows  configuring the voltage controller and voltage
      processors during init and exports APIs to enable/disable
      voltage processors, scale voltage and reset voltage.
      The driver maintains the global voltage table on a per
      VDD basis which contains the various voltages supported by the
      VDD along with per voltage dependent data like smartreflex
      efuse offset, errminlimit and voltage processor errorgain.
      The driver also allows the voltage parameters dependent on the
      PMIC to be passed from the PMIC file through an API.
      The driver allows scaling of VDD voltages either through
      "vc bypass method" or through "vp forceupdate method" the
      choice being configurable through the board file.
      
      This patch contains code originally in linux omap pm branch
      smartreflex driver.  Major contributors to this driver are
      Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
      Nishant Menon, Kevin Hilman. The separation of PMIC parameters
      into a separate structure which can be populated from
      the PMIC file is based on the work of Lun Chang from Motorola
      in an internal tree.
      
      Signed-off-by: default avatarThara Gopinath <thara@ti.com>
      [khilman: fixed link error for OMAP2-only defconfig]
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      2f34ce81
    • Jon Hunter's avatar
      OMAP4: clock data: Add missing fixed divisors · f17f9726
      Jon Hunter authored
      
      
      The following OMAP4 clocks have the following fixed divisors that
      determine the frequency at which these clocks operate. These
      dividers are defined by the PRCM specification and without these
      dividers the rates of the below clocks are calculated incorrectly.
      This may cause internal peripherals using these clocks to operate
      at the wrong frequency.
      
      - abe_24m_fclk (freq = divided-by-8)
      - ddrphy_ck (freq = parent divided-by-2)
      - dll_clk_div_ck (freq = parent divided-by-2)
      - per_hs_clk_div_ck (freq = parent divided-by-2)
      - usb_hs_clk_div_ck (freq = parent divided-by-3)
      - func_12m_fclk (freq = parent divided-by-16)
      - func_24m_clk (freq = parent divided-by-4)
      - func_24mc_fclk (freq = parent divided-by-8)
      - func_48mc_fclk (freq = divided-by-4)
      - lp_clk_div_ck (freq = divided-by-16)
      - per_abe_24m_fclk (freq = divided-by-4)
      
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Signed-off-by: default avatarBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      f17f9726
    • Vishwanath BS's avatar
      OMAP3: SDRC: Add comments on Errata i520 for Global SW reset · 9bf83918
      Vishwanath BS authored
      
      
      This patch adds comments on precaution to be taken if Global Warm reset is
      used as the means to trigger system reset.
      
      Signed-off-by: default avatarVishwanath BS <vishwanath.bs@ti.com>
      [paul@pwsan.com: fixed typos, one mentioned by Sanjeev]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Sanjeev Premi <premi@ti.com>
      9bf83918
  2. 21 Dec, 2010 24 commits