1. 13 11月, 2015 1 次提交
  2. 24 7月, 2015 1 次提交
  3. 16 7月, 2015 1 次提交
  4. 02 6月, 2015 1 次提交
    • T
      memory: omap-gpmc: Add Kconfig option for debug · 63aa945b
      Tony Lindgren 提交于
      We support decoding the bootloader values if DEBUG is defined.
      But we also need to change the struct omap_hwmod flags to have
      HWMOD_INIT_NO_RESET to avoid the GPMC being reset during the
      boot. Otherwise just the default timings will be displayed
      instead of the bootloader configured timings.
      
      This also allows us to clean up the various GPMC related
      hwmod flags. For debugging, we only need HWMOD_INIT_NO_RESET,
      and HWMOD_INIT_NO_IDLE is not needed.
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Roger Quadros <rogerq@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      63aa945b
  5. 26 2月, 2015 1 次提交
  6. 27 1月, 2015 1 次提交
  7. 18 1月, 2015 1 次提交
    • M
      ARM: OMAP: Work around hardcoded interrupts · 0fb22a8f
      Marc Zyngier 提交于
      Commit 9a1091ef ("irqchip: gic: Support hierarchy irq domain")
      changed the GIC driver to use a non-legacy IRQ domain on DT
      platforms. This patch assumes that DT-driven systems are getting
      all of their interrupts from device tree.
      
      Turns out that OMAP has quite a few hidden gems, and still uses
      hardcoded interrupts despite having fairly complete DTs.
      
      This patch attempts to work around these by offering a translation
      method that can be called directly from the hwmod code, if present.
      The same hack is sprinkled over PRCM and TWL.
      
      It isn't pretty, but it seems to do the job without having to add
      more hacks to the interrupt controller code.
      
      Tested on OMAP4 (Panda-ES) and OMAP5 (UEVM5432).
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      Acked-by: NNishanth Menon <nm@ti.com>
      [tony@atomide.com: updated to fix make randconfig issue]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0fb22a8f
  8. 08 1月, 2015 1 次提交
  9. 20 11月, 2014 1 次提交
  10. 18 9月, 2014 1 次提交
  11. 14 10月, 2013 1 次提交
    • A
      ARM: OMAP2+: hwmod: AM43x support · 6913952f
      Afzal Mohammed 提交于
      Add hwmod support for IP's that are present in AM43x, but not in AM335x.
      AM43x additional ones added here are,
      1. synctimer
      2. timer8-11
      3. ehrpwm3-5
      4. spi2-4
      5. gpio4-5
      
      AM43x pruss interconnect which is different as compared to AM335x, has
      been taken care.
      
      And register offsets for same hwmod's shared with AM335x is different,
      AM43x register offsets are updated appropriately.
      
      ocp clock of those in l4_wkup is fed from "sys_clkin_ck" instead of
      "dpll_core_m4_div2_ck", so "ocpif" for those in AM43x l4_wkup has been
      added seperately.
      
      hwmod's has been added for those that have main clock (wkup_m3, control,
      gpio0) and clock domain (l4_hs) different from AM335x. debugss and
      adc_tsc that have different clocks and clockdomains repectively has not
      been added due to the reasons mentioned below.
      
      AM43x also has IP's like qspi, hdq1w, vpfe, des, rng, usb, dss, debugss,
      adc_tsc. These are not handled here due to both/either of following
      reasons,
      1. To avoid churn; most of them don't have DT bindings, which would
         necessitate adding address space in hwmod, which any way would have
         to be removed once DT bindings happen with driver support.
      2. patches would come in from sources other than the author
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      Acked-by: NRajendra Nayak <rnayak@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      6913952f
  12. 23 8月, 2013 1 次提交
  13. 30 7月, 2013 2 次提交
    • A
      ARM: OMAP2+: hwmod: rt address space index for DT · 130142d9
      Afzal Mohammed 提交于
      Address space is being removed from hwmod database and DT information
      in <reg> property is being used. Currently the 0th index of device
      address space is used to map for register target address. This is not
      always true, eg. cpgmac has it's sysconfig in second address space.
      
      Handle it by specifying index of device address space to be used for
      register target. As default value of this field would be zero with
      static initialization, existing behaviour of using first address space
      for register target while using DT would be kept as such.
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      Tested-by: NMugunthan V N <mugunthanvnm@ti.com>
      [paul@pwsan.com: use u8 rather than int to save memory]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      130142d9
    • R
      ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with DEBUG_LL · 7dedd346
      Rajendra Nayak 提交于
      With commit '82702ea1' "ARM: OMAP2+:
      Fix serial init for device tree based booting" stubbing out
      omap_serial_early_init() for Device tree based booting, there was a
      crash observed on AM335x based devices when hwmod does a
      _setup_reset() early at boot.
      
      This was rootcaused to hwmod trying to reset console uart while
      earlycon was using it.  The way to tell hwmod not to do this is to
      specify the HWMOD_INIT_NO_RESET flag, which were infact set by the
      omap_serial_early_init() function by parsing the cmdline to identify
      the console device.
      
      Parsing the cmdline to identify the uart used by earlycon itself seems
      broken as there is nothing preventing earlycon to use a different one.
      
      This patch, instead, attempts to populate the requiste flags for hwmod
      based on the CONFIG_DEBUG_OMAPxUARTy FLAGS. This gets rid of the need
      for cmdline parsing in the DT as well as non-DT cases to identify the
      uart used by earlycon.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Reported-by: NMark Jackson <mpfj-list@newflow.co.uk>
      Reported-by: NVaibhav Bedia <vaibhav.bedia@ti.com>
      Tested-by: NMark Jackson <mpfj-list@newflow.co.uk>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      7dedd346
  14. 09 6月, 2013 1 次提交
    • B
      ARM: OMAP5: hwmod data: Create initial OMAP5 SOC hwmod data · 08e4830d
      Benoit Cousson 提交于
      Adding the hwmod data for OMAP54xx SOCs.
      
      Additional changes done on top of initial SOC data files.
      - The IO resource information like dma request lines, irq number and
      ocp address space can be populated via dt blob. So such data is stripped
      from OMAP5 SOC hwmod data file.
      
      - SDMA IO resource information is still kept since dmaengine work
      is till ongoing. Once the legacy dma platform driver becomes obsolete,
      SDMA io space information can be removed.
      
      - The devices like dss, aess, usb which are missing the device tree bindings,
      hwmod data is not added since OMAP5 is DT only build. When such devices add
      the dt bindings, respective hwmod data can be added along with it.
      
      With above update, we now need about ~2000 loc vs ~6000 loc with previous
      version of the patch for OMAP5 hwmod data file. Ofcourse with addition of
      few more drivers it can go upto ~2400 loc which is still better than the
      earlier version.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      08e4830d
  15. 20 5月, 2013 2 次提交
  16. 01 4月, 2013 1 次提交
  17. 13 3月, 2013 1 次提交
    • G
      ARM: OMAP3: hwmod data: keep MIDLEMODE in force-standby for musb · 092bc089
      Grazvydas Ignotas 提交于
      For some unknown reason, allowing hwmod to control MIDLEMODE causes
      core_pwrdm to not hit idle states for musb in DM3730 at least.
      I've verified that setting any MIDLEMODE value other than "force
      standby" before enabling the device causes subsequent suspend
      attempts to fail with core_pwrdm not entering idle states, even
      if the driver is unloaded and "force standby" is restored before
      suspend attempt. To recover from this, soft reset can be used, but
      that's not suitable solution for suspend.
      
      Keeping the register set at force standby (reset value) makes it work
      and device still functions properly, as musb has driver-controlled
      OTG_FORCESTDBY register that controls MSTANDBY signal.
      Note that TI PSP kernels also have similar workarounds.
      
      This patch also fixes HWMOD_SWSUP_MSTANDBY documentation to match the
      actual flag name.
      Signed-off-by: NGrazvydas Ignotas <notasas@gmail.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      092bc089
  18. 11 2月, 2013 2 次提交
    • P
      ARM: OMAP4+: AESS: enable internal auto-gating during initial setup · c02060d8
      Paul Walmsley 提交于
      Enable the AESS auto-gating control bit during AESS hwmod setup.  This
      fixes the following boot warning on OMAP4:
      
      omap_hwmod: aess: _wait_target_disable failed
      
      Without this patch, the AESS IP block does not indicate to the PRCM
      that it is idle after it is reset.  This prevents some types of SoC
      power management until something sets the auto-gating control bit.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NSebastien Guiriec <s-guiriec@ti.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Péter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      c02060d8
    • P
      ARM: OMAP2+: hwmod: add enable_preprogram hook · 6d266f63
      Paul Walmsley 提交于
      After setup/enable, some IP blocks need some additional setting to
      indicate the PRCM that they are inactive until they are configured.
      Some examples on OMAP4 include the AESS and FSUSB IP blocks.
      
      To fix this cleanly, this patch adds another optional function
      pointer, enable_preprogram, to the IP block's hwmod data.  The function
      that is pointed to is called by the hwmod code immediately after the
      IP block is reset.
      
      This version of the patch includes a patch description fix from Felipe.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NSebastien Guiriec <s-guiriec@ti.com>
      Cc: Benoît Cousson <b-cousson@ti.com>
      Cc: Péter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Felipe Balbi <balbi@ti.com>
      6d266f63
  19. 07 2月, 2013 1 次提交
    • P
      ARM: OMAP2+: hwmod: add support for blocking WFI when a device is active · db27c0c0
      Paul Walmsley 提交于
      Apparently, on some OMAPs, the MPU can't be allowed to enter WFI while
      certain peripherals are active.  It's not clear why, and it's likely
      that there is simply some other bug in the driver or integration code.
      But since the likelihood that anyone will have the time to track these
      problems down in the future seems quite small, we'll provide a
      flag, HWMOD_BLOCK_WFI, to mark these issues in the hwmod data.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      db27c0c0
  20. 26 1月, 2013 1 次提交
    • P
      ARM: OMAP2+: hwmod: add support for blocking WFI when a device is active · fa200222
      Paul Walmsley 提交于
      Apparently, on some OMAPs, the MPU can't be allowed to enter WFI while
      certain peripherals are active.  It's not clear why, and it's likely
      that there is simply some other bug in the driver or integration code.
      But since the likelihood that anyone will have the time to track these
      problems down in the future seems quite small, we'll provide a
      flag, HWMOD_BLOCK_WFI, to mark these issues in the hwmod data.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      fa200222
  21. 22 11月, 2012 2 次提交
    • P
      ARM: OMAP2+: hwmod: Add possibility to count hwmod resources based on type · dad4191d
      Peter Ujfalusi 提交于
      Add flags parameter for omap_hwmod_count_resources() so users can tell which
      type of resources they are interested when counting them in hwmod database.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Acked-by: NBenoît Cousson <b-cousson@ti.com>
      [paul@pwsan.com: updated to apply]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      dad4191d
    • R
      ARM: OMAP2+: hwmod: Add support for per hwmod/module context lost count · e6d3a8b0
      Rajendra Nayak 提交于
      OMAP4 has module specific context lost registers which makes it now
      possible to have module level context loss count, instead of relying
      on the powerdomain level context count.
      
      Add 2 private hwmod api's to update/clear the hwmod/module specific
      context lost counters/register.
      
      Update the module specific context_lost_counter and clear the hardware
      bits just after enabling the module.
      
      omap_hwmod_get_context_loss_count() now returns the hwmod context loss
      count them on platforms where they exist (OMAP4), else fall back on
      the pwrdm level counters for older platforms.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      [paul@pwsan.com: added function kerneldoc, fixed structure kerneldoc,
       rearranged structure to avoid memory waste, marked fns as OMAP4-specific,
       prevent fn entry on non-OMAP4 chips, reduced indentation, merged update
       and clear, merged patches]
      [t-kristo@ti.com: added support for arch specific hwmod ops, and changed
       the no context offset indicator to USHRT_MAX]
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      [paul@pwsan.com: use NO_CONTEXT_LOSS_BIT flag rather than USHRT_MAX;
       convert unsigned context lost counter to int to match the return type;
       get rid of hwmod_ops in favor of the existing soc_ops mechanism;
       move context loss low-level accesses to the PRM code]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      e6d3a8b0
  22. 19 10月, 2012 2 次提交
  23. 24 9月, 2012 3 次提交
    • T
      ARM: OMAP4: hwmod: flag hwmods/modules not supporting module level context status · 46b3af27
      Tero Kristo 提交于
      On OMAP4 most modules/hwmods support module level context status. On
      OMAP3 and earlier, we relied on the power domain level context status.
      Identify all modules that don't support 'context_offs' by adding a
      flag bit, HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT.  Rest have a valid
      'context_offs' populated in .prcm structure already.
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      [paul@pwsan.com: add flag bit rather than overloading .context_offs;
       update changelog message]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      46b3af27
    • T
      ARM: OMAP4: hwmod data: add support for lostcontext_mask · ce80979a
      Tero Kristo 提交于
      Currently hwmod only provides the offset for the context lose
      register, and if we attempt to share the same register between two or
      more hwmods, the resulting context loss counts get wrong. Thus, we
      need a way to specify which bits are used for the context loss
      information for each.  This is accomplished by adding a new field to
      the omap4 prcm struct, 'lostcontext_mask', which specifies a bit-mask
      to use for filtering the register.
      
      Mark the affected hwmods appropriately.  'l4_abe' hwmod uses the
      LOSTMEM_AESSMEM bit of RM_ABE_AESS_CONTEXT register, as l4_abe doesn't
      have its own dedicated register for this purpose. This register is
      shared with 'aess' hwmod, thus both hwmods must also specify which
      bits of the register are used for them.
      
      This patch only adds the hwmod data, but a future patch should add
      code support such that only the specified bits are read and cleared by
      the context lose counter update code. If a hwmod doesn't specify
      'lostcontext_mask' (default behavior), the whole contents of the
      context register should be used without any filtering.
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      [paul@pwsan.com: updated to apply after conversion to use flag bit for
       missing module context-loss register; combined data and code patches;
       dropped code change due to serial driver breakage]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      ce80979a
    • I
      ARM: OMAP: hwmod code: remove unused hwmod function prototypes · c9e49024
      Igor Grinberg 提交于
      Several hwmod function prototypes appear to not have an implementation
      because the corresponding functions were removed or renamed.
      Those prototypes are unneeded anymore - remove them.
      Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il>
      [paul@pwsan.com: tweaked subject]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      c9e49024
  24. 12 9月, 2012 1 次提交
    • V
      ARM: OMAP3+: hwmod: Add AM33XX HWMOD data · a2cfc509
      Vaibhav Hiremath 提交于
      This patch adds HWMOD data for all the peripherals of
      AM335X device and also hooks up to the existing OMAP framework.
      
      hwmod data has been already been cleaned up for the recent
      changes in clocktree, where all leaf nodes have been removed,
      since with modulemode based control, both clock and hwmod
      interface does same thing. This reduces the code size to large
      extent and also avoids duplication of same control.
      So instead of specifying module's leaf node as a main_clk,
      now we are relying on parent clock of module's functional clock.
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      Signed-off-by: NVaibhav Bedia <vaibhav.bedia@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      [paul@pwsan.com: removed period in hwmod device names; changed mmc2 main_clk
       to mmc_clk at Vaibhav's request; added trailing commas to structure
       records at Tony's request to deal with some rmk parsing issues; added
       OMAP_INTC_START to facilitate sparse-IRQ conversion]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      a2cfc509
  25. 08 9月, 2012 1 次提交
    • V
      ARM: OMAP: omap_device: Do not overwrite resources allocated by OF layer · b82b04e8
      Vaibhav Hiremath 提交于
      With the new devices (like, AM33XX and OMAP5) we now only support
      DT boot mode of operation and now it is the time to start killing
      slowly the dependency on hwmod, so with this patch, we are starting
      with device resources.
      The idea here is implemented considering to both boot modes -
        - DT boot mode
          OF framework will construct the resource structure (currently
          does for MEM & IRQ resource) and we should respect/use these
          resources, killing hwmod dependency.
          If pdev->num_resources > 0, we assume that MEM & IRQ resources
          have been allocated by OF layer already (through DTB).
      
          Once DMA resource is available from OF layer, we should
          kill filling any resources from hwmod.
      
        - Non-DT boot mode
          Here, pdev->num_resources = 0, and we should get all the
          resources from hwmod (following existing steps)
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      [b-cousson@ti.com: Fix some checkpatch CHECK issues]
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      b82b04e8
  26. 06 7月, 2012 1 次提交
  27. 04 7月, 2012 4 次提交
  28. 19 6月, 2012 1 次提交
    • K
      ARM: OMAP2+: hwmod: use init-time function ptrs for enable/disable module · 9ebfd285
      Kevin Hilman 提交于
      The enable/disable module functions are specific to SoCs with
      OMAP4-class PRCM.  Rather than use cpu_is* checks at runtime inside
      the enable/disable module functions, use cpu_is at init time to
      initialize function pointers only for SoCs that need them.
      
      NOTE: the cpu_is* check for _enable_module was different than
            the one for _disable_module, and this patch uses
            cpu_is_omap44xx() for both.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      [paul@pwsan.com: moved soc_ops function pointers to be per-kernel rather than
       per-hwmod since they do not vary by hwmod; added kerneldoc]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      9ebfd285
  29. 20 4月, 2012 1 次提交
  30. 19 4月, 2012 1 次提交