1. 18 6月, 2013 2 次提交
  2. 12 6月, 2013 2 次提交
    • S
      ARM: OMAP2+: add user and fifo info to mailbox platform data · fe32c1f6
      Suman Anna 提交于
      The different generations of OMAP2+ SoCs have almost the same
      mailbox IP, but the IP has configurable parameters for number
      of users (interrupts it can generate out towards processors)
      and number of fifos (the base unidirectional h/w communication
      channel). This data cannot be read from any registers, and so
      has been added to the platform data.
      
      This data together with the interrupt-type configuration can be
      used in properly figuring out the number of registers to save
      and restore in the OMAP mailbox driver code.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      fe32c1f6
    • S
      ARM: OMAP2+: mbox: remove dependencies with soc.h · b8a7cf8e
      Suman Anna 提交于
      The OMAP mailbox platform driver code has been cleaned up to
      remove the dependencies with soc.h in preparation for moving
      the mailbox code to drivers folder.
      
      The code relied on cpu_is_xxx/soc_is_xxx macros previously to
      pick the the right set of mailbox devices and register with the
      mailbox driver. This data is now represented in a concise format
      and moved to the respective omap_hwmod data files and published
      to the driver through the platform data.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NSuman Anna <s-anna@ti.com>
      b8a7cf8e
  3. 20 5月, 2013 1 次提交
  4. 31 3月, 2013 2 次提交
  5. 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
  6. 07 2月, 2013 1 次提交
  7. 01 12月, 2012 1 次提交
    • T
      ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h · 45c3eb7d
      Tony Lindgren 提交于
      Based on earlier discussions[1] we attempted to find a suitable
      location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP:
      DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion
      to dmaengine is complete.
      
      Unfortunately that was before I was able to try to test compile
      of the ARM multiplatform builds for omap2+, and the end result
      was not very good.
      
      So I'm creating yet another all over the place patch to cut the
      last dependency for building omap2+ for ARM multiplatform. After
      this, we have finally removed the driver dependencies to the
      arch/arm code, except for few drivers that are being worked on.
      
      The other option was to make the <plat-omap/dma-omap.h> path
      to work, but we'd have to add some new header directory to for
      multiplatform builds.
      
      Or we would have to manually include arch/arm/plat-omap/include
      again from arch/arm/Makefile for omap2+.
      
      Neither of these alternatives sound appealing as they will
      likely lead addition of various other headers exposed to the
      drivers, which we want to avoid for the multiplatform kernels.
      
      Since we already have a minimal include/linux/omap-dma.h,
      let's just use that instead and add a note to it to not
      use the custom omap DMA functions any longer where possible.
      
      Note that converting omap DMA to dmaengine depends on
      dmaengine supporting automatically incrementing the FIFO
      address at the device end, and converting all the remaining
      legacy drivers. So it's going to be few more merge windows.
      
      [1] https://patchwork.kernel.org/patch/1519591/#
      
      cc: Russell King <linux@arm.linux.org.uk>
      cc: Kevin Hilman <khilman@ti.com>
      cc: "Benoît Cousson" <b-cousson@ti.com>
      cc: Herbert Xu <herbert@gondor.apana.org.au>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Vinod Koul <vinod.koul@intel.com>
      cc: Dan Williams <djbw@fb.com>
      cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      cc: David Woodhouse <dwmw2@infradead.org>
      cc: Kyungmin Park <kyungmin.park@samsung.com>
      cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      cc: Hans Verkuil <hans.verkuil@cisco.com>
      cc: Vaibhav Hiremath <hvaibhav@ti.com>
      cc: Lokesh Vutla <lokeshvutla@ti.com>
      cc: Rusty Russell <rusty@rustcorp.com.au>
      cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      cc: Afzal Mohammed <afzal@ti.com>
      cc: linux-crypto@vger.kernel.org
      cc: linux-media@vger.kernel.org
      cc: linux-mtd@lists.infradead.org
      cc: linux-usb@vger.kernel.org
      cc: linux-fbdev@vger.kernel.org
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      45c3eb7d
  8. 28 11月, 2012 1 次提交
  9. 21 11月, 2012 1 次提交
  10. 15 11月, 2012 1 次提交
  11. 13 11月, 2012 3 次提交
    • J
      ARM: OMAP2+: Don't use __omap_dm_timer_reset() · 10759e82
      Jon Hunter 提交于
      Currently OMAP2+ devices are using the function __omap_dm_timer_reset() to
      configure the clock-activity, idle, wakeup-enable and auto-idle fields in the
      timer OCP_CFG register. The name of the function is mis-leading because this
      function does not actually perform a reset of the timer.
      
      For OMAP2+ devices, HWMOD is responsible for reseting and configuring the
      timer OCP_CFG register. Therefore, do not use __omap_dm_timer_reset() for
      OMAP2+ devices and rely on HWMOD. Furthermore, some timer instances do not
      have the fields clock-activity, wakeup-enable and auto-idle and so this
      function could configure the OCP_CFG register incorrectly.
      
      Currently HWMOD is not configuring the clock-activity field in the OCP_CFG
      register for timers that have this field. Commit 0f0d0807 (ARM: OMAP: DMTimer:
      Use posted mode) configures the clock-activity field to keep the f-clk enabled
      so that the wake-up capability is enabled. Therefore, add the appropriate flags
      to the timer HWMOD structures to configure this field in the same way.
      
      For OMAP2/3 devices all dmtimers have the clock-activity field, where as for
      OMAP4 devices, only dmtimer 1, 2 and 10 have the clock-activity field.
      
      Verified on OMAP2420 H4, OMAP3430 Beagle and OMAP4430 Panda that HWMOD is
      configuring the dmtimer OCP_CFG register as expected for clock-events timer.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      10759e82
    • J
      ARM: OMAP2/3: Define HWMOD software reset status for DMTIMERs · f3a13e72
      Jon Hunter 提交于
      For OMAP2/3 devices, the HWMOD data does not define a software reset status
      field for the DMTIMERs. Therefore, when HWMOD performs a soft-reset of the
      DMTIMER we don't check and wait for the reset to complete. For OMAP2/3 devices,
      the software reset status for a DMTIMER can be read from bit 0 of the DMTIMER
      TISTAT register (referred to as the SYSS register in HWMOD). Add the
      appropriate HWMOD definitions so that HWMOD will check the software reset
      status when performing a software reset of the DMTIMER.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      f3a13e72
    • J
      ARM: OMAP3: Correct HWMOD DMTIMER SYSC register declarations · 725a8fe3
      Jon Hunter 提交于
      Currently, the OMAP3 HWMOD data defines two TIOCP_CFG register structures
      (referred to as the SYSC register in the HWMOD data) where timers 1, 2 and 10
      use one of the defintions and the other timers use the other definition. For
      OMAP3 devices the structure of the DMTIMER TIOCP_CFG register is the same for
      all 12 instances of the DMTIMER. Please note that this is a difference between
      OMAP3 and OMAP4 and could be the source of the confusion.
      
      For OMAP3 devices, the DMTIMER TIOCP_CFG register has the fields,
      clock-activity, emufree, idlemode, enwakeup, softreset and autoidle for all
      12 timers. Therefore, remove one of the SYSC register definitions for the
      DMTIMERs and ensure the appropriate register fields are defined for all
      DMTIMERs.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      725a8fe3
  12. 25 10月, 2012 1 次提交
  13. 19 10月, 2012 1 次提交
  14. 18 10月, 2012 1 次提交
  15. 16 10月, 2012 4 次提交
  16. 09 10月, 2012 2 次提交
  17. 08 10月, 2012 1 次提交
    • J
      ARM: OMAP2+: hwmod data: Fix PMU interrupt definitions · 3dc3401c
      Jon Hunter 提交于
      Commit 7d7e1eba (ARM: OMAP2+: Prepare for irqs.h removal) and commit ec2c0825
      (ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ) updated the way
      interrupts for OMAP2/3 devices are defined in the HWMOD data structures to
      being an index plus a fixed offset (defined by OMAP_INTC_START). The definition
      of the PMU interrupts on OMAP2/3 devices is missing the OMAP_INTC_START offset
      and so this is causing the allocation of PMU interrupts to fail on OMAP2/3
      devices. So add the offset to fix this.
      
      This is patch is based upon Tony's master branch for OMAP.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      3dc3401c
  18. 24 9月, 2012 7 次提交
    • J
      ARM: OMAP4460/4470: PMU: Enable PMU for OMAP4460/70 · 76a5d9bf
      Jon Hunter 提交于
      OMAP4460 and OMAP4470 devices have dedicated PMU interrupts and so add these
      interrupts to the MPU HWMOD so we can use these for PMU events on these
      devices. The PMU interrupts need to be the first interrupts in the array of
      interrupts as the ARM PMU driver assumes this.
      
      By using these dedicated interrupts we only need to enable the MPU and DEBUG
      sub-systems for PMU to work. This is different to OMAP4430 that did not have
      dedicated interrupts and required other power domains in addition to the DEBUG
      sub-system to be enabled so we could route the PMU events to the CTI interrupts.
      Hence, OMAP4460 and OMAP4470 devices can use the same list of HWMODs to create
      the PMU device that is using by OMAP3.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: updated to apply]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      76a5d9bf
    • J
      ARM: OMAP2+: PMU: Convert OMAP2/3 devices to use HWMOD · ee75d95c
      Jon Hunter 提交于
      Convert OMAP2/3 devices to use HWMOD for creating a PMU device. To support PMU
      on OMAP2 devices we only need to use MPU sub-system and so we can simply use
      the MPU HWMOD to create the PMU device. To support PMU on OMAP3 devices, we need
      to use the MPU and DEBUG sub-systems and so use these HWMODs to create the PMU
      device for OMAP3.
      
      The MPU HWMOD for OMAP2/3 devices is currently missing the PMU interrupt and so
      add the PMU interrupt to the MPU HWMOD for these devices.
      
      This change also moves the PMU code out of the mach-omap2/devices.c files into
      its own pmu.c file as suggested by Kevin Hilman to de-clutter devices.c.
      
      Cc: Ming Lei <ming.lei@canonical.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: fixed checkpatch messages; updated to apply; dropped old-style
       initial filename line in header comments]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      ee75d95c
    • J
      ARM: OMAP3: hwmod data: Add debugss HWMOD data · c7dad45f
      Jon Hunter 提交于
      To enable PMU with runtime PM support on OMAP3 devices we need to be able to
      dynamically enable and disable the debug sub-system at runtime. By adding HWMOD
      data for the debug sub-system for OMAP3, we can build the PMU device using the
      debug sub-system HWMOD and control this power domain using runtime PM.
      Reviewed-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: updated to apply; added L4-EMU address space]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      c7dad45f
    • J
      ARM: OMAP: Add a timer attribute for timers that can interrupt the DSP · 5c3e4ec4
      Jon Hunter 提交于
      Some instances of the DMTIMER peripheral on OMAP devices have the ability
      to interrupt the on-chip DSP in addition to the ARM CPU. Add a DMTIMER
      attribute to indicate which timers can interrupt the DSP. By using the
      omap_dm_timer_request_by_cap() API, driver will now be able to allocate
      a DMTIMER that can interrupt the DSP based upon this attribute and not require
      the driver to know which instance has this capability.
      
      DMTIMERs that have the ability to interrupt the DSP on OMAP devices are as
      follows ...
      
      - OMAP1 (OMAP5912/16xx/17xx) devices	- All 8 DMTIMERs
      - OMAP2/3/4 devices			- DMTIMERs 5-8
      
      Please note that for OMAP3+, timer8 has the ability to interrupt the DSP and
      generate a PWM output.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      5c3e4ec4
    • A
      ARM: OMAP2/3: hwmod data: add gpmc · 49484a60
      Afzal Mohammed 提交于
      Add gpmc hwmod and associated interconnect data
      Signed-off-by: NAfzal Mohammed <afzal@ti.com>
      [paul@pwsan.com: added comments to the use of HWMOD_INIT_NO_RESET]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      49484a60
    • P
      ARM: OMAP3: hwmod data: add mmu data for iva and isp · 5486474c
      Paul Walmsley 提交于
      Add mmu hwmod data for iva and isp.
      
      Due to compatibility an ifdef CONFIG_OMAP_IOMMU_IVA2 needs to be
      propagated (previously on iommu resource info) to hwmod data in OMAP3,
      so users of iommu and tidspbridge can avoid issues of two modules
      managing mmu data/irqs/resets; this until tidspbridge can be migrated
      to iommu framework.
      
      Cc: Benoit Cousson <b-cousson@ti.com>
      Signed-off-by: NOmar Ramirez Luna <omar.luna@linaro.org>
      [paul@pwsan.com: fixed some kerneldoc and whitespace; ISP MMUs not present
       on AM35xx so restricted these hwmods to 34xx/36xx]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      5486474c
    • T
      ARM: OMAP3: hwmod data: add sad2d hwmod · 8f993a01
      Tero Kristo 提交于
      SAD2D stands for the die to die interface, and is used for communicating
      with the optional stacked modem. This hwmod is added in preparation for
      the d2d_idle move from pm34xx.c to hwmod data.
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      [paul@pwsan.com: SAD2D presumably doesn't exist on non-OMAP34xx/OMAP36xx,
       so only add it to the OMAP34xx/OMAP36xx lists]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      8f993a01
  19. 21 9月, 2012 3 次提交
  20. 19 9月, 2012 1 次提交
    • A
      ARM: omap: move platform_data definitions · 2203747c
      Arnd Bergmann 提交于
      Platform data for device drivers should be defined in
      include/linux/platform_data/*.h, not in the architecture
      and platform specific directories.
      
      This moves such data out of the omap include directories
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: "Benoît Cousson" <b-cousson@ti.com>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Ohad Ben-Cohen <ohad@wizery.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Cc: Jean Pihet <j-pihet@ti.com>
      Cc: J Keerthy <j-keerthy@ti.com>
      Cc: linux-omap@vger.kernel.org
      2203747c
  21. 13 9月, 2012 3 次提交
    • T
      ARM: OMAP: Split plat/hardware.h, use local soc.h for omap2+ · dbc04161
      Tony Lindgren 提交于
      As the plat and mach includes need to disappear for single zImage work,
      we need to remove plat/hardware.h.
      
      Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.
      
      The old plat/hardware.h already has omap1 only defines, so it gets moved
      to mach/hardware.h for omap1. For omap2+, we use the local soc.h
      that for now just includes the related SoC headers to keep this patch more
      readable.
      
      Note that the local soc.h still includes plat/cpu.h that can be dealt
      with in later patches. Let's also include plat/serial.h from common.h for
      all the board-*.c files. This allows making the include files local later
      on without patching these files again.
      
      Note that only minimal changes are done in this patch for the
      drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
      patches are needed to eventually remove cpu_is_omap usage in the drivers.
      
      Also only minimal changes are done to sound/soc/omap/* to remove the
      unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
      no need to include omap44xx.h.
      
      While at it, also sort some of the includes in the standard way.
      
      Cc: linux-watchdog@vger.kernel.org
      Cc: alsa-devel@alsa-project.org
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Acked-by: NWim Van Sebroeck <wim@iguana.be>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      dbc04161
    • T
      ARM: OMAP2+: Prepare for irqs.h removal · 7d7e1eba
      Tony Lindgren 提交于
      As the interrupts should only be defined in the platform_data, and
      eventually coming from device tree, there's no need to define them
      in header files.
      
      Let's remove the hardcoded references to irqs.h and fix up the includes
      so we don't rely on headers included in irqs.h. Note that we're
      defining OMAP_INTC_START as 0 to the interrupts. This will be needed
      when we enable SPARSE_IRQ. For some drivers we need to add
      #include <plat/cpu.h> for now until these drivers are fixed to
      remove cpu_is_omapxxxx() usage.
      
      While at it, sort som of the includes the standard way, and add
      the trailing commas where they are missing in the related data
      structures.
      
      Note that for drivers/staging/tidspbridge we just define things
      locally.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      7d7e1eba
    • T
      ARM: OMAP: Move gpio.h to include/linux/platform_data · 4b25408f
      Tony Lindgren 提交于
      This way we can remove includes of plat/gpio.h which won't work
      with the single zImage support.
      
      Note that we also remove the cpu_class_is_omap2() check
      in gpio-omap.c as the drivers should not call it as we need to
      make it local to arch/arm/mach-omap2 for single zImage support.
      
      While at it, arrange the related includes in the standard way.
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: linux-mtd@lists.infradead.org
      Cc: alsa-devel@alsa-project.org
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4b25408f