15 Sep, 2011

2 commits

  • At Tony's request, remove the omap_chip bitmasks from the clockdomain
    and clockdomain dependency definitions. Instead, initialize
    clockdomains based on one or more lists that are applicable to a
    particular SoC family, variant, and silicon revision.

    Tony Lindgren found a bug in a previous version of this
    patch - thanks Tony.

    Signed-off-by: Paul Walmsley
    Cc: Tony Lindgren

    Paul Walmsley
     
  • In preparation for OMAP_CHIP() removal, split clkdm_init() into four
    functions. This allows some of them to be called multiple times: for
    example, clkdm_register_clkdms() can be called once to register
    clockdomains that are common to a group of SoCs, and once to register
    clockdomains that are specific to a single SoC.

    The appropriate order to call these functions - which is enforced
    by the code - is:

    1. clkdm_register_platform_funcs()
    2. clkdm_register_clkdms() (can be called multiple times)
    3. clkdm_register_autodeps() (optional; deprecated)
    4. clkdm_complete_init()

    Convert the OMAP2, 3, and 4 clockdomain init code to use these new
    functions.

    While here, improve documentation, and increase CodingStyle
    conformance by shortening some local variable names.

    Signed-off-by: Paul Walmsley

    Paul Walmsley
     

08 Mar, 2011

1 commit

  • This patch fixes these warnings when building kernel for OMAP3EVM
    only.

    CC arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.o
    arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c:95: warning:
    'dsp_24xx_wkdeps' defined but not used
    arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c:119: warning:
    'mpu_24xx_wkdeps' defined but not used
    arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c:147: warning:
    'core_24xx_wkdeps' defined but not used

    The problem should be noticed when building for other OMAP3
    platforms (only) as well.

    Signed-off-by: Sanjeev Premi
    Signed-off-by: Paul Walmsley

    Sanjeev Premi
     

26 Feb, 2011

2 commits

  • Define the following architecture specific funtions for omap2/3
    .clkdm_add_wkdep
    .clkdm_del_wkdep
    .clkdm_read_wkdep
    .clkdm_clear_all_wkdeps
    .clkdm_add_sleepdep
    .clkdm_del_sleepdep
    .clkdm_read_sleepdep
    .clkdm_clear_all_sleepdeps

    Convert the platform-independent framework to call these functions.
    With this also move the clkdm lookups for all wkdep_srcs and
    sleepdep_srcs at clkdm_init.

    Signed-off-by: Rajendra Nayak
    [paul@pwsan.com: fixed loop termination conditions in omap*_clkdm_clear_all_*();
    thanks to Kevin Hilman for finding and helping fix those bugs; also
    avoid re-resolving clockdomains during init; abstracted out clkdm_dep walk]
    Cc: Kevin Hilman
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     
  • Put infrastructure in place, so arch specific func pointers
    can be hooked up to the platform-independent part of the
    framework.
    This is in preparation of splitting the clockdomain framework into
    platform-independent part (for all omaps) and platform-specific
    parts.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     

28 Jan, 2011

1 commit

  • We want to have just CONFIG_ARCH_OMAP2, 3 and 4. The rest
    are nowadays just subcategories of these.

    Search and replace the following:

    ARCH_OMAP2420 SOC_OMAP2420
    ARCH_OMAP2430 SOC_OMAP2430
    ARCH_OMAP3430 SOC_OMAP3430

    No functional changes.

    Signed-off-by: Tony Lindgren
    Signed-off-by: Thomas Weber
    Acked-by: Sourav Poddar

    Tony Lindgren
     

22 Dec, 2010

4 commits

  • The OMAP clockdomain code and data is all OMAP2+-specific. This seems
    unlikely to change any time soon. Move plat-omap/include/plat/clockdomain.h
    to mach-omap2/clockdomain.h. The primary point of doing this is to remove
    the temptation for unrelated upper-layer code to access clockdomain code
    and data directly.

    DSPBridge also uses the clockdomain headers for some reason, so,
    modify it also. The DSPBridge code should not be including the
    clockdomain headers; these should be removed.

    Signed-off-by: Paul Walmsley
    Cc: Kevin Hilman
    Cc: Omar Ramirez Luna
    Cc: Felipe Contreras
    Cc: Greg Kroah-Hartman
    Tested-by: Rajendra Nayak
    Tested-by: Santosh Shilimkar

    Paul Walmsley
     
  • Reverse some of the effects of commit
    84c0c39aec31a09571fc08a752a2f4da0fe9fcf2 ("ARM: OMAP4: PM: Make OMAP3
    Clock-domain framework compatible for OMAP4"). On OMAP2/3, the
    CM_CLKSTCTRL register is at a constant offset from the powerdomain's
    CM instance.

    Also, remove some of the direct CM register access from the
    clockdomain code, moving it to the OMAP2/3 CM code instead. The
    intention here is to simplify the clockdomain code. (The long-term
    goal is to move all direct CM register access across the OMAP core
    code to the appropriate cm*.c file.)

    Signed-off-by: Paul Walmsley
    Tested-by: Rajendra Nayak
    Tested-by: Santosh Shilimkar

    Paul Walmsley
     
  • In preparation for adding OMAP4-specific PRCM accessor/mutator
    functions, split the existing OMAP2/3 PRCM code into OMAP2/3-specific
    files. Most of what was in mach-omap2/{cm,prm}.{c,h} has now been
    moved into mach-omap2/{cm,prm}2xxx_3xxx.{c,h}, since it was
    OMAP2xxx/3xxx-specific.

    This process also requires the #includes in each of these files to be
    changed to reference the new file name. As part of doing so, add some
    comments into plat-omap/sram.c and plat-omap/mcbsp.c, which use
    "sideways includes", to indicate that these users of the PRM/CM includes
    should not be doing so.

    Thanks to Felipe Contreras for comments on this
    patch.

    Signed-off-by: Paul Walmsley
    Cc: Jarkko Nikula
    Cc: Peter Ujfalusi
    Cc: Liam Girdwood
    Cc: Omar Ramirez Luna
    Acked-by: Omar Ramirez Luna
    Cc: Felipe Contreras
    Acked-by: Felipe Contreras
    Cc: Greg Kroah-Hartman
    Acked-by: Mark Brown
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Rajendra Nayak
    Tested-by: Santosh Shilimkar

    Paul Walmsley
     
  • Static data should be declared in .c files, not .h files. It should be
    possible to #include .h files at any point without creating multiple
    copies of the same data.

    We converted the clock data to .c files some time ago. This patch does
    the same for the clockdomain data.

    Signed-off-by: Paul Walmsley
    Reviewed-by: Kevin Hilman
    Tested-by: Kevin Hilman
    Tested-by: Santosh Shilimkar
    Tested-by: Rajendra Nayak

    Paul Walmsley