20 May, 2013

2 commits

  • With the OMAP serial driver sysc cleanup patches in this series, we can
    now remove the hwmod external apis for sysc fiddling.

    While at this, also remove unused sysc auto idle api from hwmod code.

    Tested-by: Vaibhav Bedia
    Tested-by: Sourav Poddar
    Signed-off-by: Rajendra nayak
    Signed-off-by: Santosh Shilimkar
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman # OMAP4/Panda
    Signed-off-by: Paul Walmsley

    Santosh Shilimkar
     
  • Some IPs (like UART) need the sidle mode to be controlled in SW only
    while they are active. Once they go inactive, they need the IP to be
    put back in HW control so they are also wakeup capable.

    The flag HWMOD_SWSUP_SIDLE takes care of IPs which need the sidle
    mode to be *always* controlled in SWSUP. We now have a need to control
    IPs sidle mode in SWSUP only while its active.

    So define a new flag 'HWMOD_SWSUP_SIDLE_ACT' to help the framework
    know about these new IP requirements.

    Tested-by: Vaibhav Bedia
    Tested-by: Sourav Poddar
    Signed-off-by: Rajendra Nayak
    Signed-off-by: Santosh Shilimkar
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman # OMAP4/Panda
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     

02 May, 2013

1 commit

  • Pull ARM SoC non-critical fixes from Olof Johansson:
    "Here is a collection of fixes (and some intermixed cleanups) that were
    considered less important and thus not included in the later parts of
    the 3.9-rc cycle.

    It's a bit all over the map, contents wise. A series of ux500 fixes
    and cleanups, a bunch of various fixes for OMAP and tegra, and some
    for Freescale i.MX and even Qualcomm MSM.

    Note that there's also a patch on this branch to globally turn off
    -Wmaybe-uninitialized when building with -Os. It's been posted
    several times by Arnd and no dissent was raised, but nobody seemed
    interested to pick it up. So here it is, as the topmost patch."

    * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
    Turn off -Wmaybe-uninitialized when building with -Os
    ARM: orion5x: include linux/cpu.h
    ARM: tegra: call cpu_do_idle from C code
    ARM: u300: fix ages old copy/paste bug
    ARM: OMAP2+: add dependencies on ARCH_MULTI_V6/V7
    ARM: tegra: solve adr range issue with THUMB2_KERNEL enabled
    ARM: tegra: fix relocation truncated error when THUMB2_KERNEL enabled
    ARM: tegra: fix build error when THUMB2_KERNEL enabled
    ARM: msm: Fix uncompess.h tx underrun check
    ARM: vexpress: Remove A9 PMU compatible values for non-A9 platforms
    ARM: cpuimx27 and mbimx27: prepend CONFIG_ to Kconfig macro
    ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS"
    ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD"
    ARM: mach-imx: mach-imx6q: Fix sparse warnings
    ARM: mach-imx: src: Include "common.h
    ARM: mach-imx: gpc: Include "common.h"
    ARM: mach-imx: avic: Staticize *avic_base
    ARM: mach-imx: tzic: Staticize *tzic_base
    ARM: mach-imx: clk: Include "clk.h"
    ARM: mach-imx: clk-busy: Staticize clk_busy_mux_ops
    ...

    Linus Torvalds
     

01 Apr, 2013

1 commit


13 Mar, 2013

1 commit

  • 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: Grazvydas Ignotas
    Signed-off-by: Paul Walmsley

    Grazvydas Ignotas
     

13 Feb, 2013

1 commit

  • …kernel/git/tmlind/linux-omap into late/omap

    From Tony Lindgren:
    omap4 pm changes via Paul Walmsley <paul@pwsan.com>:

    Some OMAP4 power management fixes and audio device integration
    patches. This pull request contains a fix for an issue discovered during
    branch integration.

    Basic test logs are available at:

    http://www.pwsan.com/omap/testlogs/omap4_prcm_devel_a_3.9/20130210112717/

    * tag 'omap-for-v3.9/pm-omap4-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP4: hwmod data: Enable AESS hwmod device
    ARM: OMAP4: hwmod data: Update AESS data with memory bank area
    ARM: OMAP4+: AESS: enable internal auto-gating during initial setup
    ASoC: TI AESS: add autogating-enable function, callable from architecture code
    ARM: OMAP2+: hwmod: add enable_preprogram hook
    ARM: OMAP2+: PM: Fix the dt return condition in pm_late_init()
    ARM: OMAP4: PM: Warn users about usage of older bootloaders

    Olof Johansson
     

11 Feb, 2013

2 commits

  • 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: Paul Walmsley
    Signed-off-by: Sebastien Guiriec
    Cc: Benoît Cousson
    Cc: Péter Ujfalusi
    Cc: Tony Lindgren

    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: Paul Walmsley
    Signed-off-by: Sebastien Guiriec
    Cc: Benoît Cousson
    Cc: Péter Ujfalusi
    Cc: Felipe Balbi

    Paul Walmsley
     

26 Jan, 2013

1 commit

  • 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: Paul Walmsley

    Paul Walmsley
     

30 Nov, 2012

1 commit

  • …x/kernel/git/tmlind/linux-omap into next/pm2

    From Tony Lindgren:

    omap prcm changes via Paul Walmsley <paul@pwsan.com>:

    Some miscellaneous OMAP hwmod changes for 3.8, along with a PRM
    change needed for one of the hwmod patches to function.

    Basic test logs for this branch on top of Tony's
    omap-for-v3.8/clock branch at commit
    558a0780b0a04862a678f7823215424b4e5501f9 are here:

    http://www.pwsan.com/omap/testlogs/hwmod_devel_a_3.8/20121121161522/

    However, omap-for-v3.8/clock at 558a0780 does not include some fixes
    that are needed for a successful test. With several reverts,
    fixes, and workarounds applied, the following test logs were
    obtained:

    http://www.pwsan.com/omap/testlogs/TEST_hwmod_devel_a_3.8/20121121162719/

    which indicate that the series tests cleanly.

    * tag 'omap-for-v3.8/devel-prcm-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (49 commits)
    ARM: OMAP2+: omap_device: Correct resource handling for DT boot
    ARM: OMAP2+: hwmod: Add possibility to count hwmod resources based on type
    ARM: OMAP2+: hwmod: Add support for per hwmod/module context lost count
    ARM: OMAP2+: PRM: initialize some PRM functions early
    ARM: OMAP2+: clock: Cleanup !CONFIG_COMMON_CLK parts
    ARM: OMAP2xxx: clock: drop obsolete clock data
    ARM: OMAP2: clock: Cleanup !CONFIG_COMMON_CLK parts
    ARM: OMAP3+: DPLL: drop !CONFIG_COMMON_CLK sections
    ARM: AM33xx: clock: drop obsolete clock data
    ARM: OMAP3xxx: clk: drop obsolete clock data
    ARM: OMAP3: clock: Cleanup !CONFIG_COMMON_CLK parts
    ARM: OMAP44xx: clock: drop obsolete clock data
    ARM: OMAP4: clock: Cleanup !CONFIG_COMMON_CLK parts
    ARM: OMAP: hwmod: Cleanup !CONFIG_COMMON_CLK parts
    ARM: OMAP: clock: Switch to COMMON clk
    ARM: OMAP2: clock: Add 24xx data using common struct clk
    ARM: OMAP3: clock: Add 3xxx data using common struct clk
    ARM: AM33XX: clock: add clock data in common clock format
    ARM: OMAP4: clock: Add 44xx data using common struct clk
    ARM: OMAP2+: clock: add OMAP CCF convenience macros to mach-omap2/clock.h
    ...

    Some context conflicts due to nearby changes resolved in
    arch/arm/mach-omap2/io.c.

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

26 Nov, 2012

1 commit

  • Merging in mainline back to next/cleanup since it has collected a few
    conflicts between fixes going upstream and some of the cleanup patches.
    Git doesn't auto-resolve some of them, and they're mostly noise so let's
    take care of it locally.

    Conflicts are in:
    arch/arm/mach-omap2/omap_hwmod_44xx_data.c
    arch/arm/plat-omap/i2c.c
    drivers/video/omap2/dss/dss.c

    Signed-off-by: Olof Johansson

    Olof Johansson
     

22 Nov, 2012

2 commits

  • 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: Peter Ujfalusi
    Acked-by: Benoît Cousson
    [paul@pwsan.com: updated to apply]
    Signed-off-by: Paul Walmsley

    Peter Ujfalusi
     
  • 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: Rajendra Nayak
    [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: Tero Kristo
    [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: Paul Walmsley

    Rajendra Nayak
     

19 Oct, 2012

2 commits