1. 10 7月, 2011 1 次提交
    • S
      OMAP4: clock data: Keep GPMC clocks always enabled and hardware managed · 93cac2ad
      Santosh Shilimkar 提交于
      On OMAP4, CPU accesses on unmapped addresses are redirected to GPMC by
      L3 interconnect. Because of CPU speculative nature, such accesses are
      possible which can lead to indirect access to GPMC and if it's clock is
      not running, it can result in hang/abort on the platform.
      
      Above makes access to GPMC unpredictable during the execution, so it's
      module mode needs to be kept under hardware control instead of software
      control.
      Since the auto gating is supported for GPMC, there isn't any power impact
      because of this change.
      
      The issue was un-covered with security middleware running along with HLOS.
      In this case GPMC had a valid MMU descriptor on secure side where as HLOS
      didn't map the GMPC because it isn't being used.
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      [b-cousson@ti.com: Update subject and fix typos in the changelog]
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      93cac2ad
  2. 21 4月, 2011 1 次提交
    • T
      OMAP4: clock data: Change DSS clock aliases · 2df122f5
      Tomi Valkeinen 提交于
      DSS driver has used fck and ick clocks on OMAP2/3 to get DSS HW up and
      running, and also to get the pixel clock's source clock rate from the
      fck.
      
      On OMAP4 the clock data is set up in a different way, as there's no ick,
      dss_fck points to a fake clock which just affects DSS's MODULEMODE, and
      dss_dss_clk if the DSS_FCK.
      
      >From DSS driver's point of view the dss_fck sounds like an ick, and
      dss_dss_clk is the fck. While this is not entirely correct from HW point
      of view, especially for the ick, configuring the clock aliases that way
      makes DSS "just work" with OMAP4's clock setup.
      
      In the (hopefully near) future DSS driver will be reworked to use
      pm_runtime support which should clean up the clock code.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      2df122f5
  3. 11 3月, 2011 2 次提交
  4. 02 3月, 2011 1 次提交
  5. 01 3月, 2011 1 次提交
  6. 26 2月, 2011 3 次提交
  7. 19 1月, 2011 1 次提交
    • F
      OMAP: PRCM: remove duplicated headers · bc9fcaf3
      Felipe Balbi 提交于
      A few headers are included twice, remove them.
      
      Found the following errors using make includecheck:
      arch/arm/mach-omap2/clock44xx_data.c: prm44xx.h is
      included more than once.
      arch/arm/mach-omap2/clockdomains44xx_data.c: cm1_44xx.h
      is included more than once.
      arch/arm/mach-omap2/clockdomains44xx_data.c: cm2_44xx.h
      is included more than once.
      arch/arm/mach-omap2/powerdomain2xxx_3xxx.c: prm-regbits-34xx.h
      is included more than once.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      [paul@pwsan.com: dropped lists from patch cc:s; tweaked subject line]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      bc9fcaf3
  8. 23 12月, 2010 1 次提交
    • J
      OMAP4: clock data: Add missing fixed divisors · f17f9726
      Jon Hunter 提交于
      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: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      f17f9726
  9. 22 12月, 2010 11 次提交
  10. 21 12月, 2010 1 次提交
  11. 10 12月, 2010 2 次提交
  12. 01 12月, 2010 1 次提交
  13. 09 10月, 2010 1 次提交
    • P
      OMAP: control: move plat-omap/control.h to mach-omap2/control.h · 4814ced5
      Paul Walmsley 提交于
      Only OMAP2+ platforms have the System Control Module (SCM) IP block.
      In the past, we've kept the SCM header file in plat-omap.  This has
      led to abuse - device drivers including it; includes being added that
      create implicit dependencies on OMAP2+ builds; etc.
      
      In response, move the SCM headers into mach-omap2/.
      
      As part of this, remove the direct SCM access from the OMAP UDC
      driver.  It was clearly broken.  The UDC code needs an indepth review for
      use on OMAP2+ chips.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Cory Maccarrone <darkstar6262@gmail.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      4814ced5
  14. 28 9月, 2010 4 次提交
    • B
      OMAP4: clocks: Fix ES2 clock issues · 0edc9e85
      Benoit Cousson 提交于
      Fix a few OMAP4430 clock tree problems after the recent manual merge of the
      various ES2 clock patches:
      
      - usim optional clock and its parent had the same name, rename the parent
      usim_fclk -> usim_ck
      
      - OPTFCLKEN_CLK32K is not handled anymore by the USBPHYOCP2SCP module in ES2
      Create a new clock that belongs to CM_ALWON_USBPHY_CLKCTRL register
      
      This patch depends on some of the PRCM macro updates from Rajendra.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      [paul@pwsan.com: tweaked patch description]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      0edc9e85
    • B
      OMAP4: clock: Add optional clock nodes · 1c03f42f
      Benoit Cousson 提交于
      OMAP4 IP optional clocks require explicit enable in module CTRLCLK
      register. In order to allow that we have to create artificial clock
      nodes that represent this clock inputs in the IP.
      
      Notes:
      - Temporary use OMAP3 names for GPIO optional clocks until the GPIO hwmod
      convertion is done. It will enforce the usage of OMAP4 names as the reference.
      - Temporary use OMAP3 names for TIMER main clock (gptX_fck) until TIMER hwmod
      convertion is done. During that convertion, the new name will have to be used.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      1c03f42f
    • B
      OMAP4: clock: Fix clock names and align with hwmod names · 0e433271
      Benoit Cousson 提交于
      The OMAP4 hwmod data introduced the new naming convention for TI
      IPs (See patch OMAP4: hwmod: Add partial hwmod support for OMAP4430 ES1.0)
      
      The leaf clock names are using the same IP name and thus must be
      modified to match the clock populated in the hwmod data.
      
      - Fix some leaf clocks nodes that were using a _iclk instead of the _fclk
      prefix.
      - Fix some wrong interface clock name for master IPs connected to
      interconnect.
      
      Please not that due to the fact that nodes are sorted by name, the name
      change will introduce a quite ugly diff a little bit hard to follow.
      
      Timers clock con_id is still using the old gptX_fck name until the
      gptimer driver is updated to omap_device framework.
      Timers entries in hwmods DB are still disabled until the migration
      if timer to platform_driver + omap_hwmod.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      [paul@pwsan.com: manually resolved conflicts with Rajendra's clock patch]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      0e433271
    • R
      OMAP4: clocks: Update clock tree for ES2 · 76cf5295
      Rajendra Nayak 提交于
      This patch updates the clock tree with all the
      changes in OMAP4430 ES2.
      
      clock nodes added
      -1- tie_low_clock_ck
      -2- abe_dpll_bypass_clk_mux_ck
      
      clock nodes deleted
      -1- dpll_sys_ref_clk
      -2- per_sgx_fclk
      -3- usbphyocp2scp_ick
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NBenoît Cousson <b-cousson@ti.com>
      [paul@pwsan.com: added comment re ES1 clocks to top of file]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      76cf5295
  15. 17 6月, 2010 1 次提交
  16. 21 5月, 2010 1 次提交
  17. 24 4月, 2010 1 次提交
  18. 25 2月, 2010 6 次提交
    • S
      OMAP4: clock: Add dummy clock nodes for interface clocks · 7c43d547
      Santosh Shilimkar 提交于
      On OMAP4 platform the iclk control is completly under hardware control
      and no software control is available.
      
      This difference w.r.t previous OMAP's needs all the common driver
      accross OMAP's , cpu_is_xxxx() checks. To avoid poulluting the
      drivers dummy clock nodes are created (The autogeneration
      script has been updated accordingly).
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      [paul@pwsan.com: made OMAP1 dummy_ck common and edited patch to reuse that]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      7c43d547
    • R
      OMAP4: clock: Rename leaf clock nodes to end with a _ick or _fck · 54776050
      Rajendra Nayak 提交于
      All leaf clock nodes are renamed for OMAP4 to have a clk name which
      end with a _ick or a _fck. This is done so that the naming convention
      is same as that followed on older OMAPs.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      54776050
    • P
      OMAP4 clock: drop the ALWAYS_ENABLED clock flag · 53c92d8f
      Paul Walmsley 提交于
      Get rid of the ALWAYS_ENABLED clock flag - it doesn't actually do anything.
      (The OMAP4 clock autogeneration scripts have been updated accordingly.)
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      53c92d8f
    • P
      OMAP3/4 clock: split into per-chip family files · 657ebfad
      Paul Walmsley 提交于
      clock34xx_data.c now contains data for the OMAP34xx family, the
      OMAP36xx family, and the OMAP3517 family, so rename it to
      clock3xxx_data.c.  Rename clock34xx.c to clock3xxx.c, and move the
      chip family-specific clock functions to clock34xx.c, clock36xx.c, or
      clock3517.c, as appropriate.  So now "clock3xxx.*" refers to the OMAP3
      superset.
      
      The main goal here is to prepare to compile chip family-specific clock
      functions only for kernel builds that target that chip family.  To get to
      that point, we also need to add CONFIG_SOC_* options for those other
      chip families; that will be done in future patches, planned for 2.6.35.
      
      OMAP4 is also affected by this.  It duplicated the OMAP3 non-CORE DPLL
      clkops structure.  The OMAP4 variant of this clkops structure has been
      removed, and since there was nothing else currently in clock44xx.c, it
      too has been removed -- it can always be added back later when there
      is some content for it.  (The OMAP4 clock autogeneration scripts have been
      updated accordingly.)
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Ranjith Lohithakshan <ranjithl@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      657ebfad
    • P
      OMAP4 clock: drop the CLOCK_IN_OMAP4430 clock flag · c78a05e8
      Paul Walmsley 提交于
      The CLOCK_IN_OMAP4430 clock flag is not currently needed in the OMAP4
      ES1 clock tree, and platform discrimination via clock flags is
      deprecated in favor of the clkdev mechanism, so, drop it.  (The OMAP4
      clock tree autogeneration script has been updated accordingly.)
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      c78a05e8
    • P
      OMAP2/3/4 clock: fix DPLL multiplier value errors; also copyrights, includes, documentation · 93340a22
      Paul Walmsley 提交于
      The maximum DPLL multiplier (M) values for OMAP2xxx and OMAP3xxx are
      one increment higher than they should be.  See for example the
      OMAP242x TRM Rev X Section 5.10.6 "Clock Generator Registers" and the
      OMAP36xx TRM Rev C Table 3-202 "CM_CLKSEL1_PLL".  Programming a 0 into
      the DPLL's M register bitfield is valid for OMAP2/3 and indicates that
      the DPLL should enter MN-bypass mode.  Also, increase the minimum
      multiplier (M) value for the DPLL rate rounding code from 1 to 2, to
      ensure that it does not inadvertently put the DPLL into bypass.
      
      Note that the register documentation in the OMAP2xxx and OMAP3xxx TRMs
      does not make clear that the actual DPLL divider value (the "N") is
      the content of the appropriate register bitfield for the N value,
      _plus one_.  (In other words, an N register bitfield of 0 indicates a
      DPLL divider value of 1.)  This is only clearly documented in the
      OMAP4430 TRM, in, for example, OMAP4430 TRM Rev A Table 3-1167
      "CM_CLKSEL_DPLL_USB".
      
      While here, update copyrights, add kerneldoc for struct dpll_data,
      drop the unused struct dpll_data.max_tolerance field, remove some
      unnecessary #includes in DPLL-related code, and replace the #include
      of <linux/module.h> with <linux/list.h>, which is what was really
      needed.  The OMAP4 clock autogenerator script has been updated
      accordingly.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      93340a22