1. 05 7月, 2012 6 次提交
  2. 04 7月, 2012 9 次提交
    • K
      ARM: OMAP2+: hwmod code: add support to set dmadisable in hwmod framework · 6668546f
      Kishon Vijay Abraham I 提交于
      The DMADISABLE bit is a semi-automatic bit present in sysconfig register
      of some modules. When the DMA must perform read/write accesses, the
      DMADISABLE bit is cleared by the hardware. But when the DMA must stop for power
      management, software must set the DMADISABLE bit back to 1.
      
      In cases where the ROMCODE/BOOTLOADER uses dma, the hardware clears the
      DMADISABLE bit (but the romcode/bootloader might not set it back to 1).
      In order for the kernel to start in a clean state, it is
      necessary for the kernel to set DMADISABLE bit back to 1 (irrespective
      of whether it's been set to 1 in romcode or bootloader).
      
      During _reset of the (hwmod)device, the DMADISABLE bit is set so that it
      does not prevent idling of the system. (NOTE: having DMADISABLE to 0,
      prevents the system to idle)
      
      DMADISABLE bit is present in usbotgss module of omap5.
      
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NKishon Vijay Abraham I <kishon@ti.com>
      [paul@pwsan.com: updated to apply; fixed checkpatch warnings]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      6668546f
    • R
      ARM: OMAP2+: PRM/CM: Move the stubbed prm and cm functions to prcm.c file and make them __weak · 3f4990f4
      R Sricharan 提交于
      Some prm and cm registers read/write and status functions
      are built only for some custom OMAP2+ builds and are stubbed
      in header files for other builds under ifdef statements.
      But this results in adding new CONFIG_ARCH_OMAPXXX
      checks when SOCs are added in the future. So move them
      to a common place for OMAP2+ and make them 'weak' implementations.
      
      This way no new ifdefs would be required in the future and also
      cleans up the existing code.
      Signed-off-by: NR Sricharan <r.sricharan@ti.com>
      [paul@pwsan.com: unsplit quoted strings; moved PRM functions to
       mach-omap2/prm_common.c; resolved sparse warnings]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      3f4990f4
    • T
      ARM: OMAP2+: hwmod: add omap_hwmod_get_main_clk() API · bed9d1bb
      Tarun Kanti DebBarma 提交于
      Add an API to get main clock name associated with a given @oh.
      This will avoid the need to construct fclk names during early
      initialization in order to get fclk handle using clk_get().
      Signed-off-by: NTarun Kanti DebBarma <tarun.kanti@ti.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      bed9d1bb
    • V
      ARM: OMAP3+: dpll: optimize noncore dpll locking logic · 55ffe163
      Vikram Pandita 提交于
      If the dpll is already locked, code can be optimized
      to return much earlier than doing redundent set of lock mode
      and wait on idlest.
      
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Jon Hunter <jon-hunter@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Mike Turquette <mturquette@ti.com>
      Signed-off-by: NVikram Pandita <vikram.pandita@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      55ffe163
    • S
      ARM: OMAP3: control: add definition for CONTROL_CAMERA_PHY_CTRL · f0d3d821
      Sakari Ailus 提交于
      The register is used to configure the behaviour of the CSI-2 and CCP-2
      receivers. This register is available only in OMAP3630.
      
      The original patch was submitted by Vimarsh Zutshi.
      Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi>
      Cc: Vimarsh Zutshi <vimarsh.zutshi@gmail.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      f0d3d821
    • J
      ARM: OMAP2+: powerdomain code: Fix Wake-up power domain power status · d49cae92
      Jon Hunter 提交于
      The wake-up power domain is an alway-on power domain and so this power domain
      does not have a power state status (PM_PWSTST_xxx) register that indicates the
      current state. However, during the registering of the wake-up power domain the
      state of the domain is queried by calling pwrdm_read_pwrst(). This actually
      tries to read a register that does not exist and returns a value of 0 that
      indicates that the current state is OFF. The OFF state count of the wake-up
      power domain is then set to 1 and the current state to OFF. Both of which are
      incorrect.
      
      To fix this, if a power domain only supports the ON state, do not attempt to
      read the power state status register and simply return ON as the current power
      state.
      
      This is based upon Tony's current linux-omap master branch.
      
      Testing:
      - Boot tested on OMAP4460 panda.
      - Boot tested on OMAP3430 beagle and validated CORE RET still working (using
        Paul's 32k timer patch [1]).
      
      [1] http://marc.info/?l=linux-omap&m=134000053229888&w=2Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by: NKevin Hilman <khilman@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      [paul@pwsan.com: edited commit message slightly]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      d49cae92
    • J
      ARM: OMAP4: clockdomain/CM code: Update supported transition modes · 65aa94b2
      Jon Hunter 提交于
      For OMAP3+ devices, the clock domains (CLKDMs) support one or more of the
      following transition modes ...
      
      NO_SLEEP (0x0) - A clock domain sleep transition is never initiated,
      		 irrespective of the hardware conditions.
      SW_SLEEP (0x1) - A software-forced sleep transition. The transition is initiated
      		 when the associated hardware conditions are satisfied
      SW_WKUP  (0x2) - A software-forced clock domain wake-up transition is initiated,
      		 irrespective of the hardware conditions.
      HW_AUTO  (0x3) - Hardware-controlled automatic sleep and wake-up transition is
      		 initiated by the PRCM module when the associated hardware
      		 conditions are satisfied.
      
      For OMAP4 devices, SW_SLEEP is equivalent to HW_AUTO and NO_SLEEP is equivalent
      to SW_WKUP. The only difference between HW_AUTO and SW_SLEEP for OMAP4 devices
      is that the PRM_IRQSTATUS_MPU.TRANSITION_ST interrupt status is set in case of
      SW_SLEEP transition, and not set in case of HW_AUTO transition.
      
      For OMAP4 devices, all CLKDMs support HW_AUTO and therefore we can place the
      CLKDMs in the HW_AUTO state instead of the SW_SLEEP mode. Hence, we do not
      need to use the SW_SLEEP mode. With regard to NO_SLEEP and SW_WKUP it is
      preferred to use SW_WKUP mode if the CLKDM supports it and so use this mode
      instead of NO_SLEEP where possible.
      
      For a software perspective the above 4 modes are represented by the following
      flags to indicate what modes are supported by each of the CLKDMs.
      
      CLKDM_CAN_DISABLE_AUTO	--> NO_SLEEP
      CLKDM_CAN_ENABLE_AUTO	--> HW_AUTO
      CLKDM_CAN_FORCE_SLEEP	--> SW_SLEEP
      CLKDM_CAN_FORCE_WAKEUP	--> SW_WKUP
      
      By eliminating the SW_SLEEP mode the the mapping of the flags for OMAP4 devices
      can becomes ...
      
      CLKDM_CAN_DISABLE_AUTO	--> NO_SLEEP
      CLKDM_CAN_ENABLE_AUTO	--> HW_AUTO
      CLKDM_CAN_FORCE_SLEEP	--> HW_AUTO
      CLKDM_CAN_FORCE_WAKEUP	--> SW_WKUP
      
      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>
      Reviewed-by: NBenoit Cousson <b-cousson@ti.com>
      Reviewed-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      65aa94b2
    • V
      ARM: OMAP3/4: omap_hwmod: Add rstst_offs field to struct omap_hwmod_omap4_prcm · 768c69f5
      Vaibhav Hiremath 提交于
      In case of AM33XX device, XXX_RSTST register offset is not
      consistent across PRM modules/instances,
      
      PRM_XXX            RSTST
      =========================
      PRM_PER_MOD:       0x04
      PRM_WKUP_MOD:      0x0C
      PRM_MPU_MOD:       NA
      PRM_DEVICE_MOD:    0x08
      
      This means, we need to pass on XXX_RSTST register offset
      information through omap_hwmod data, similar to XXX_RSTCTRL.
      
      Currently, this field is only applicable and used for AM33XX
      devices.
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      768c69f5
    • V
      ARM: OMAP2+: hwmod: Add new sysc_type3 into omap_hwmod required for am33xx · 248b3b3d
      Vaibhav Hiremath 提交于
      In case of AM33xx family of devices (like cpsw) have different sysc
      bit field offsets defined,
      
      sysc_type3:
      |  3     2  |  1    0  |
      | STDBYMODE | IDLEMODE |
      
      So introduce new sysc_type3 in omap_hwmod common data.
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Signed-off-by: NVaibhav Bedia <vaibhav.bedia@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      248b3b3d
  3. 01 7月, 2012 1 次提交
  4. 29 6月, 2012 7 次提交
  5. 28 6月, 2012 2 次提交
  6. 27 6月, 2012 2 次提交
    • J
      ARM: OMAP4470: Fix OMAP4470 boot failure · e90b833e
      Jon Hunter 提交于
      OMAP4470 currently fails to boot, printing various messages such as ...
      
      omap_hwmod: mpu: cannot clk_get main_clk dpll_mpu_m2_ck
      omap_hwmod: mpu: cannot _init_clocks
      ------------[ cut here ]------------
      WARNING: at arch/arm/mach-omap2/omap_hwmod.c:2062 _init+0x2a0/0x2e4()
      omap_hwmod: mpu: couldn't init clocks
      Modules linked in:
      [<c001c7fc>] (unwind_backtrace+0x0/0xf4) from [<c0043c64>] (warn_slowpath_common+0x4c/0x64)
      [<c0043c64>] (warn_slowpath_common+0x4c/0x64) from [<c0043d10>] (warn_slowpath_fmt+0x30/0x40)
      [<c0043d10>] (warn_slowpath_fmt+0x30/0x40) from [<c0674208>] (_init+0x2a0/0x2e4)
      [<c0674208>] (_init+0x2a0/0x2e4) from [<c067428c>] (omap_hwmod_setup_one+0x40/0x60)
      [<c067428c>] (omap_hwmod_setup_one+0x40/0x60) from [<c0674280>] (omap_hwmod_setup_one+0x34/0x60)
      [<c0674280>] (omap_hwmod_setup_one+0x34/0x60) from [<c06726f4>] (omap_dm_timer_init_one+0x30/0x250)
      [<c06726f4>] (omap_dm_timer_init_one+0x30/0x250) from [<c0672930>] (omap2_gp_clockevent_init+0x1c/0x108)
      [<c0672930>] (omap2_gp_clockevent_init+0x1c/0x108) from [<c0672c60>] (omap4_timer_init+0x10/0x5c)
      [<c0672c60>] (omap4_timer_init+0x10/0x5c) from [<c066c418>] (time_init+0x20/0x30)
      [<c066c418>] (time_init+0x20/0x30) from [<c0668814>] (start_kernel+0x1b0/0x304)
      [<c0668814>] (start_kernel+0x1b0/0x304) from [<80008044>] (0x80008044)
      ---[ end trace 1b75b31a2719ed1c ]---
      
      The problem is that currently none of the clocks are being registered for
      OMAP4470 devices and so on boot-up no clocks can be found and the kernel panics.
      
      This fix allows the kernel to boot without failure using a simple RAMDISK file
      system on OMAP4470 blaze board.
      
      Per feedback from Paul and Benoit the 4470 clock data is incomplete for new
      modules such as the 2D graphics block that has been added to the 4470.
      Therefore add a warning to indicate that the clock data is incomplete.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [tony@atomide.com: updated comments]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e90b833e
    • S
      ARM: EXYNOS: Fix EXYNOS_DEV_DMA Kconfig entry · 58c553d4
      Sachin Kamat 提交于
      Commit 20ef9e08 ("ARM: EXYNOS: Support DMA for EXYNOS5250 SoC")
      renamed EXYNOS4_DEV_DMA to EXYNOS_DEV_DMA. But some machine entries
      still had EXYNOS4_DEV_DMA. Changed them to EXYNOS_DEV_DMA.
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      58c553d4
  7. 26 6月, 2012 4 次提交
  8. 25 6月, 2012 3 次提交
    • M
      ARM: dma-mapping: fix buffer chunk allocation order · 593f4735
      Marek Szyprowski 提交于
      IOMMU-aware dma_alloc_attrs() implementation allocates buffers in
      power-of-two chunks to improve performance and take advantage of large
      page mappings provided by some IOMMU hardware. However current code, due
      to a subtle bug, allocated those chunks in the smallest-to-largest
      order, what completely killed all the advantages of using larger than
      page chunks. If a 4KiB chunk has been mapped as a first chunk, the
      consecutive chunks are not aligned correctly to the power-of-two which
      match their size and IOMMU drivers were not able to use internal
      mappings of size other than the 4KiB (largest common denominator of
      alignment and chunk size).
      
      This patch fixes this issue by changing to the correct largest-to-smallest
      chunk size allocation sequence.
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      593f4735
    • G
      m68knommu: define a local devm_clk_get() function · 19a1d332
      Greg Ungerer 提交于
      Commit f4d40de3 ("net fec: do not depend
      on grouped clocks") breaks compilation of the FEC driver for non iMX
      platforms in linux-3.5-rc1. For example when compiling for ColdFire I get:
      
            LD      vmlinux
          drivers/built-in.o: In function `fec_probe':
          fec.c:(.devinit.text+0x1e0): undefined reference to `devm_clk_get'
      
      Define a simple devm_clk_get() function for the m68knommu architecture.
      Signed-off-by: NGreg Ungerer <gerg@uclinux.org>
      19a1d332
    • A
      Fix typo in printed messages · 02b7d834
      Anatol Pomozov 提交于
      Coult -> Could
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      02b7d834
  9. 24 6月, 2012 3 次提交
  10. 23 6月, 2012 1 次提交
  11. 22 6月, 2012 2 次提交
    • R
      ARM: OMAP4: hwmod data: Force HDMI in no-idle while enabled · dc57aef5
      Ricardo Neri 提交于
      As per the OMAP4 documentation, audio over HDMI must be transmitted in
      no-idle mode. This patch adds the HWMOD_SWSUP_SIDLE so that omap_hwmod uses
      no-idle/force-idle settings instead of smart-idle mode.
      
      This is required as the DSS interface clock is used as functional clock
      for the HDMI wrapper audio FIFO. If no-idle mode is not used, audio could
      be choppy, have bad quality or not be audible at all.
      Signed-off-by: NRicardo Neri <ricardo.neri@ti.com>
      [b-cousson@ti.com: Update the subject and align the .flags
      location with the script template]
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      dc57aef5
    • P
      ARM: OMAP2+: mux: fix sparse warning · 65e25976
      Paul Walmsley 提交于
      Commit bbd707ac ("ARM: omap2: use
      machine specific hook for late init") resulted in the addition of this
      sparse warning:
      
      arch/arm/mach-omap2/mux.c:791:12: warning: symbol 'omap_mux_late_init' was not declared. Should it be static?
      
      Fix by including the header file containing the prototype.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: Tony Lindgren <tony@atomide.com>
      65e25976