1. 22 8月, 2011 1 次提交
  2. 10 8月, 2011 2 次提交
  3. 06 8月, 2011 1 次提交
  4. 21 7月, 2011 2 次提交
  5. 20 7月, 2011 1 次提交
  6. 13 7月, 2011 3 次提交
  7. 11 7月, 2011 2 次提交
    • P
      ASoC: omap: McBSP: fix build breakage on OMAP1 · 69d042d1
      Paul Walmsley 提交于
      After commits d1358657 ("OMAP: McBSP:
      implement functional clock switching via clock framework") and
      cf4c87ab ("OMAP: McBSP: implement
      McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c"), any OMAP1
      board (such as the AMS Delta) that uses the ASoC McBSP driver will no
      longer build:
      
      sound/built-in.o: In function `omap_mcbsp_dai_set_dai_sysclk':
      last.c:(.text+0x24ff8): undefined reference to `omap2_mcbsp1_mux_clkr_src'
      last.c:(.text+0x2500c): undefined reference to `omap2_mcbsp1_mux_fsr_src'
      make: *** [vmlinux] Error 1
      
      Fix by defining three OMAP1-only dummy functions for
      omap2_mcbsp1_mux_clkr_src(), omap2_mcbsp1_mux_fsr_src(), and
      omap2_mcbsp_set_clks_src().
      
      Normally, code that is OMAP SoC-revision-specific like this should go
      under the arch/arm/*omap* directories, and get abstracted away from
      drivers via struct platform_data function pointers.  This doesn't work
      in this case since there doesn't appear to be any convenient way to access
      struct platform_data (or something like it) in the current design of
      the sound/soc/omap/omap-mcbsp.c driver.
      
      Reported by Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> and Tony Lindgren
      <tony@atomide.com>.  Janusz also posted a patch to fix this at:
      
         http://www.spinics.net/lists/linux-omap/msg39560.html
      
      (among other places), but the following approach seems less dependent
      on compiler behavior.
      
      This patch passes build tests for ams_delta_defconfig and omap2plus_defconfig,
      but since I don't have an AMS Delta here, I can't boot test it on that
      platform.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Jarkko Nikula <jhnikula@gmail.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Liam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      69d042d1
    • R
      Convert OMAPs 32kHz clocksource implementation to use the generic MMIO · 354a183f
      Russell King - ARM Linux 提交于
      clocksource support.  This achieves several things:
      
      1. It means we get rid of all these helper functions which frankly should
         never have been necessary.
      2. It means omap_readl() inside these helper functions does not appear in
         ftrace output.
      
      Another plus is that we avoid the overhead of calculating the address to
      read each time, but a minus is that we use readl() which has a barrier.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      [tony@atomide.com: updated to use ioremap]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      354a183f
  8. 10 7月, 2011 19 次提交
    • J
      OMAP: Add debugfs node to show the summary of all clocks · a5302572
      Jon Hunter 提交于
      Add a debugfs node called "summary" to /sys/kernel/debug/clock/
      that displays a quick summary of all clocks registered in the
      "clocks" structure. The format of the output from this node is:
      
      <clock-name> <parent-name> <rate> <usecount>
      
      This debugfs node was very helpful for taking a quick snapshot of
      the linux clock tree for OMAP and ensuring clock frequencies
      calculated by the kernel were indeed correct. This patch helped
      uncover some bugs in the linux clock tree for OMAP4.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      a5302572
    • B
      OMAP4: hwmod data: Add modulemode entry in omap_hwmod structure · 03fdefe5
      Benoit Cousson 提交于
      Add a new field to provide the mode supported by the module.
      The mode will control the way mandatory clocks are managed by the PRCM.
      
        0 : Module is temporarily disabled by SW. OCP access to module are stalled.
            Can be used to change timing parameter of GPMC module.
        1 : Module is managed automatically by HW according to clock domain
            transition. A clock domain sleep transition put module into idle.
            A wakeup domain transition put it back into function.
            If CLKTRCTRL=3, any OCP access to module is always granted.
            Module clocks may be gated according to the clock domain state.
        2 : Module is explicitly enabled. Interface clock (if not used for
            functions) may be gated according to the clock domain state.
            Functional clocks are guarantied to stay present. As long as
            in this configuration, power domain sleep transition cannot happen.
      
      Some modules will have a modulemode initialized at 1 (HWCTRL) by default.
      This is the case for interconnect and simple module like GPIO, WDT, MAILBOX.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      03fdefe5
    • B
      OMAP4: hwmod data: Add PRM context register offset · 27bb00b5
      Benoit Cousson 提交于
      Add a 'context_offs' entry in the prcm.omap4 structure to all
      IPs when applicable.
      The offset will be used to retrieve the per module context lost
      information now available on OMAP4.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      27bb00b5
    • B
      OMAP4: hwmod: Replace RSTCTRL absolute address with offset macros · eaac329d
      Benoit Cousson 提交于
      The RSTCTRL register was accessed using an absolute address.
      The usage of hardcoded macros to calculate virtual address from physical
      one should be avoided as much as possible.
      The usage of an offset will allow future improvement like migration from
      the current architecture code toward a module driver.
      
      Update prm_xxx accessors, move definition to the proper header file and
      update copyrights.
      Change the s16 register offset parameter to u16.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      [paul@pwsan.com: use '_prminst_' in function names that are part of the
       prminst44xx.c file]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      eaac329d
    • B
      OMAP4: hwmod: Replace CLKCTRL absolute address with offset macros · d0f0631d
      Benoit Cousson 提交于
      The CLKCTRL register was accessed using an absolute address.
      The usage of hardcoded macros to calculate virtual address from physical
      one should be avoided as much as possible.
      The usage of a offset will allow future improvement like migration from
      the current architecture code toward a module driver.
      
      Update cm_xxx accessor, move definition to the proper header file and
      update copyrights.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Todd Poynor <toddpoynor@google.com>
      [paul@pwsan.com: renamed 'omap4_cm_' fns to 'omap4_cminst_'; removed empty
       fn prototype section from cm44xx.h; incorporated comments from Todd;
       documented some functions]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      d0f0631d
    • B
      OMAP2+: hwmod: Init clkdm field at boot time · 6ae76997
      Benoit Cousson 提交于
      At boot time, lookup the clkdm_name to get the clkdm
      structure pointer for further usage.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      6ae76997
    • B
      OMAP4: hwmod data: Add clock domain attribute · a5322c6f
      Benoit Cousson 提交于
      In OMAP PRCM terminology, the clock domain is defined as a group of IPs
      that share some clocks and most of the time an interface clock.
      Every IP does belong to a clockdomain.
      For the moment the clock domain attribute is affected to a clock node.
      The issue with that approach, is that a clock might or not belong to a
      clock domain. Moreover during module transition, it is up to a module
      to handle properly the clock domain state and not to a clock node.
      
      Create a clkdm_name attribute to provide this information per hwmod.
      
      Populate this attribute for every OMAP4 hwmod entries.
      
      Future cleanup series with remove that information from the OMAP4 clock
      when it is relevant.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      [paul@pwsan.com: fix the mpuss_clkdm name]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      a5322c6f
    • B
      OMAP: omap_device: Create clkdev entry for hwmod main_clk · bf1e0776
      Benoit Cousson 提交于
      Extend the existing function to create clkdev for every optional
      clocks to add a well one "fck" alias for the main_clk of the
      omap_hwmod.
      It will allow to remove these static clkdev entries from the
      clockXXX_data.c file.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Todd Poynor <toddpoynor@google.com>
      [paul@pwsan.com: remove all of the "fck" role clkdev aliases from the
       clock data files; fixed error message]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      bf1e0776
    • A
      OMAP: hwmod: fix the i2c-reset timeout during bootup · 6d3c55fd
      Avinash.H.M 提交于
      The sequence of _ocp_softreset doesn't work for i2c. The i2c module has a
      special sequence to reset the module. The sequence is
       - Disable the I2C.
       - Write to SOFTRESET bit.
       - Enable the I2C.
       - Poll on the RESETDONE bit.
      The sequence is implemented as a function and the i2c_class is updated with
      the correct 'reset' pointer.  omap_hwmod_softreset function is implemented
      which triggers the softreset by writing into sysconfig register. On following
      this sequence, i2c module resets properly and timeouts are not seen.
      
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NAvinash.H.M <avinashhm@ti.com>
      [paul@pwsan.com: combined this patch with a patch to remove
       HWMOD_INIT_NO_RESET from the 44xx hwmod flags; change register
       offset conditional code to use the IP block revision; minor code
       cleanup]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      6d3c55fd
    • A
      I2C: OMAP2+: Introduce I2C IP versioning constants · d72fe788
      Andy Green 提交于
      These represent the two kinds of (incompatible) OMAP I2C
      peripheral unit in use so far.
      
      The constants are in linux/i2c-omap.h so the omap i2c driver can have
      them too.
      
      Cc: patches@linaro.org
      Cc: Ben Dooks <ben-linux@fluff.org>
      Reported-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NAndy Green <andy.green@linaro.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      d72fe788
    • A
      I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32 · 73002721
      Andy Green 提交于
      As part of removing cpu_...() from the OMAP I2C driver, we need to
      convert the CPU tests into functionality flags that are set by
      hwmod class in the same way the IP revision is.
      
      More flags are needed than will fit in the existing u8 flags
      member of omap_i2c_dev_attr.
      
      These flags can refer to options inside the IP block but they are
      most needed for information about cpu implementation specific
      options that are not part of the IP block itself.  For example,
      how the CPU data bus is wired to the IP block databus differs
      between OMAP cpus and affects how you must shift the address in
      the IP block, but is not a feature of the IP block itself.
      
      Cc: patches@linaro.org
      Cc: Ben Dooks <ben-linux@fluff.org>
      Reported-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NAndy Green <andy.green@linaro.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      73002721
    • J
      OMAP PM: remove OMAP_PM_NONE config option · 476e5be7
      Jean Pihet 提交于
      The current code base is not linking with the OMAP_PM_NONE
      option set.
      Since the option OMAP_PM_NOOP provides a no-op/debug layer,
      OMAP_PM_NONE can be removed.
      OMAP_PM_NOOP is enabled by default by Kconfig.
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      476e5be7
    • K
      OMAP: omap_device: replace _find_by_pdev() with to_omap_device() · 8f0d69de
      Kevin Hilman 提交于
      The omap_device layer currently has two ways of getting an omap_device
      pointer from a platform_device pointer.
      
      Replace current usage of _find_by_pdev() with to_omap_device() since
      to_omap_device() is more familiar to the existing to_platform_device()
      used when getting a platform_device pointer from a struct device pointer.
      
      Cc: Felipe Balbi <balbi@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Reviewed-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      8f0d69de
    • B
      OMAP4: clock data: Fix max mult and div for USB DPLL · 628479a8
      Benoit Cousson 提交于
      The DPLL USB can generate higher speed (x2) than the regular ones.
      The max multiplication value is then twice the previous value.
      
      Fix both max_mult and max_div with that correct values.
      
      Change the max_div variable type to u16 to allow storing up to 256.
      
      Replace as well the define with the value to avoid
      unneeded indirection and provide a better readability.
      
      Remove the defines that become useless.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      628479a8
    • P
      omap_hwmod: use a terminator record with omap_hwmod_dma_info arrays · bc614958
      Paul Walmsley 提交于
      Previously, struct omap_hwmod_dma_info arrays were unterminated; and
      users of these arrays used the ARRAY_SIZE() macro to determine the
      length of the array.  However, ARRAY_SIZE() only works when the array
      is in the same scope as the macro user.
      
      So far this hasn't been a problem.  However, to reduce duplicated
      data, a subsequent patch will move common data to a separate, shared
      file.  When this is done, ARRAY_SIZE() will no longer be usable.
      
      This patch removes ARRAY_SIZE() usage for struct omap_hwmod_dma_info
      arrays and uses a sentinel value (irq == -1) as the array terminator
      instead.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      bc614958
    • P
      omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs arrays · 212738a4
      Paul Walmsley 提交于
      Previously, struct omap_hwmod_mpu_irqs arrays were unterminated; and
      users of these arrays used the ARRAY_SIZE() macro to determine the
      length of the array.  However, ARRAY_SIZE() only works when the array
      is in the same scope as the macro user.
      
      So far this hasn't been a problem.  However, to reduce duplicated
      data, a subsequent patch will move common data to a separate, shared
      file.  When this is done, ARRAY_SIZE() will no longer be usable.
      
      This patch removes ARRAY_SIZE() usage for struct omap_hwmod_mpu_irqs
      arrays and uses a sentinel value (irq == -1) as the array terminator
      instead.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      212738a4
    • P
      omap_hwmod: use a null structure record to terminate omap_hwmod_addr_space arrays · 78183f3f
      Paul Walmsley 提交于
      Previously, struct omap_hwmod_addr_space arrays were unterminated; and
      users of these arrays used the ARRAY_SIZE() macro to determine the
      length of the array.  However, ARRAY_SIZE() only works when the array
      is in the same scope as the macro user.
      
      So far this hasn't been a problem.  However, to reduce duplicated
      data, a subsequent patch will move common data to a separate, shared
      file.  When this is done, ARRAY_SIZE() will no longer be usable.
      
      This patch removes ARRAY_SIZE() usage for struct omap_hwmod_addr_space
      arrays and uses a null structure member as the array terminator
      instead.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      
      
      
      
      78183f3f
    • B
      OMAP2+: hwmod: Fix smart-standby + wakeup support · 724019b0
      Benoit Cousson 提交于
      The commit 86009eb3 was adding
      the wakeup support for new OMAP4 IPs. This support is incomplete for
      busmaster IPs that need as well to use smart-standby with wakeup.
      
      This new standbymode is suported on HSI and USB_HOST_FS for the moment.
      
      Add the new MSTANDBY_SMART_WKUP flag to mark the IPs that support this
      capability.
      
      Enable this new mode when applicable in _enable_wakeup, _disable_wakeup,
      _enable_sysc and _idle_sysc.
      
      The omap_hwmod_44xx_data.c will have to be updated to add this new flag.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NDjamil Elaidi <d-elaidi@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      724019b0
    • P
      OMAP: dmtimer: add missing include · a7cd4b08
      Paul Walmsley 提交于
      After commit caf64f2f ("omap: Make a subset
      of dmtimer functions into inline functions"),
      arch/arm/plat-omap/include/plat/dmtimer.h is missing an include of linux/io.h
      - add it.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      a7cd4b08
  9. 08 7月, 2011 5 次提交
  10. 05 7月, 2011 3 次提交
  11. 04 7月, 2011 1 次提交