24 Feb, 2010

3 commits

  • Different boards benefit differently from the available
    seven C-states for cpu idle. In most cases, only few,
    properly spaced (in terms of consumption and latency)
    C-states are required to make the power management
    optimal. Hence we need a possibility to pass which
    C-states are actually used for each board.

    So added the valid field to cpuidle_params and added
    support to 3430sdp, which uses the paramenter passing.

    Signed-off-by: Kalle Jokiniemi
    Signed-off-by: Kevin Hilman

    Kalle Jokiniemi
     
  • The CPUidle C state latencies and thresholds are dependent on various
    board specific details. This patch makes it possible to configure
    these values from the respective board files.

    omap3_pm_init_cpuidle() can now be optionally called from board files
    to pass board specific cpuidle parameters. If the board files do not
    use this function to pass the params default values are used which
    might cause higher consumption dur to wrong state selection by the
    governor.

    This patch only updates the 3430sdp board files to use
    omap3_pm_init_cpuidle().

    From Kalle, in addition to original patch from Rajendra:

    Building without CONFIG_CPU_IDLE or CONFIG_PM causes build to fail if
    cpu idle parameters are tried to pass using omap3_pm_init_cpuidle
    function.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Kalle Jokiniemi
    Signed-off-by: Kevin Hilman

    Kevin Hilman
     
  • When 'enable_off_mode' is 0, the target power state for MPU
    and CORE was locally changed to PWRDM_POWER_RET but, the
    statistics are updated for idle state originally selected
    by the governor.

    This patch 'invalidates' the idle states that lead either of
    MPU or Core to PWRDM_POWER_OFF state when 'enable_off_mode'
    is '0'. The states are valid once 'enable_off_mode' is set
    to '1'.

    Added function next_valid_state() to check if current state
    is valid; else get the next valid state. It is called from
    omap3_enter_idle_bm().

    Signed-off-by: Sanjeev Premi
    Signed-off-by: Kevin Hilman

    Sanjeev Premi
     

18 Feb, 2010

2 commits

  • Tony Lindgren
     
  • The check for a valid mux name should be performed regardless of whether
    DEBUG_FS is enabled or not. Otherwise without DEBUG_FS, we get:

    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = c0004000
    [00000000] *pgd=00000000
    Internal error: Oops: 5 [#1]
    last sysfs file:
    Modules linked in:
    CPU: 0 Not tainted (2.6.33-rc8 #10)
    PC is at strcmp+0x18/0x40
    LR is at omap_mux_init_signal+0x68/0x14c
    ...

    This fixes the issue currently seen with boards not booting up
    if DEBUG_FS is not enabled in defconfig.

    Note that the earlier ifndef + ifdef now becomes simpler ifdef else:
    If CONFIG_OMAP_MUX is selected, we use pin names. If it's not selected,
    we only want the GPIO to mux register mapping.

    Signed-off-by: Ranjith Lohithakshan
    Signed-off-by: Tony Lindgren

    Ranjith Lohithakshan
     

16 Feb, 2010

35 commits

  • Add platform device for McPDM interface in OMAP4 and register
    its memory and irq resources.

    Signed-off-by: Jorge Eduardo Candelaria
    Signed-off-by: Tony Lindgren

    Jorge Eduardo Candelaria
     
  • Define McPDM physical and L3 base address for OMAP4

    Signed-off-by: Jorge Eduardo Candelaria
    Signed-off-by: Tony Lindgren

    Jorge Eduardo Candelaria
     
  • Support for McPDM IRQs in OMAP4

    Signed-off-by: Jorge Eduardo Candelaria
    Signed-off-by: Tony Lindgren

    Jorge Eduardo Candelaria
     
  • sdp4430_uart_config isn't used anywhere, so remove it.

    Signed-off-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     
  • Signed-off-by: Vaibhav Hiremath
    Signed-off-by: Tony Lindgren

    Vaibhav Hiremath
     
  • AM3517/05 has few additional control module registers to control
    the new IP's, like VPFE, USBOTG, CPGMAC.

    This patch adds the bit defination for INTR_CLR and SW_RST control
    register.

    Signed-off-by: Vaibhav Hiremath
    Signed-off-by: Tony Lindgren

    Vaibhav Hiremath
     
  • Add base address definations for new AM35xx IPSS modules, like
    VPFE, USBOTG, CPGMAC.

    Please note that the OMAP34xx IVA2 memory space is being used for
    AM35xx IPSS modules.

    Signed-off-by: Vaibhav Hiremath
    Signed-off-by: Sriramakrishnan
    Signed-off-by: Tony Lindgren

    Vaibhav Hiremath
     
  • Changes for setting the padconf value for sys_nirq line which is
    connected to T2 INTR1. This will fix the T2 keypad wakeup.

    Signed-off-by: Lesly A M
    Signed-off-by: Teerth Reddy
    Signed-off-by: Tony Lindgren

    Lesly A M
     
  • Get rid of the ifdeffery in omap_mux_init by creating
    omap_mux_init_package and omap_mux_init_signals functions.

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • It is still possible to use the omap_hsmmc module
    without the regulator framework. Accordingly, ifdef
    out regulator-specific functions.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • EMMC can have two voltage supplies, Vcc and VccQ
    which are implemented in the code as consumer
    supplies vmmc and vmmc_aux.

    If the regulator that supplies vmmc_aux is shared
    with other consumers, then sending it to sleep
    will disrupt those consumers. However, the
    TWL4030-family regulators may have OFF remapped
    to SLEEP, in which case 'regulator_disable()'
    will put the regulator to sleep only when all
    consumers are disabled - which is the desired
    behaviour.

    This patch adds a platform data field to allow
    that option.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • Stop using 'regulator_is_enabled()' and just pair enables
    with disables so that the regulator reference counts can
    work correctly.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • Disable timeouts are in msecs not jiffies.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • An eMMC may be always powered on, so that the lowest
    power saving state possible is sleeping. Add a field
    to the platform data to indicate that.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • It has been discovered that, when eMMC is powered off, current
    will flow from OMAP eMMC data pull-ups to the eMMC voltage supply.
    Configuring pads for OMAP off-mode does not help because eMMC is
    powered off independently of OMAP off-mode. Hence the pads are
    now re-configured when eMMC is powered on or off.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • Call the PM context-loss count function, now that there
    is a prototype for it.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • hsmmc.[ch] no longer has any dependency on twl4030
    and variable names should be renamed to reflect that.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • mmc-twl4030.[ch] no longer has any dependency on twl4030
    and should be renamed to reflect that.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • This patch moves the setup code for GPIO's and Voltage
    Regulators from the board file mmc-twl4030.c to the
    driver omap_hsmmc.c. PBIAS and other system control
    configuration remains in the board file.

    Moving GPIO code to the driver makes the board initialisation
    code independent of when GPIO's are defined. That makes the
    board initialisation now entirely independent of its original
    twl4030 roots.

    Moving Voltage Regulator code to the driver allows for further
    development of regulator support in the core MMC code. It also
    permits the MMC core to be compiled as a module, because the
    board code no longer calls MMC core functions.

    Signed-off-by: Adrian Hunter
    Signed-off-by: Tony Lindgren

    Adrian Hunter
     
  • This patch adds support for flashes on 3430SDP boards. All three
    NAND, NOR and OneNAND are supported. I have tested it on
    3430SDP (ES2 and ES3.1).

    This patch can be treated as an example to "how to utilize":
    'gpmc-nand.c' and 'board-sdp-flash.c'.

    Similar patches can be created for 2430sdp and 3630sdp or any other
    similar board.

    Signed-off-by: Vimal Singh
    Signed-off-by: Tony Lindgren

    Vimal Singh
     
  • This patch adds 'board-sdp-flash.c', which could be utilized
    by boards similar to 3430SDP. (For ex: 2430sdp, 36030sdp).

    This file does initialization for all three flash devices present
    in SDP boards (NOR, NAND, OneNAND), by finding there 'cs' number
    dynamically using switch setting information (S8: 1-4).
    This also expects partition information from core board files (for
    ex: board-3430sdp.c). Which allows to choose different default
    partitions for different boards.

    A new structure is created for this purpose: 'flash_partitions'
    in 'mach/board-sdp.h'. This has two members:
    1. struct mtd_partition *parts
    2. int nr_parts

    A board file is expected to fill this structure and pass it to
    'sdp-flsash-init'. Partition information should be passed in
    structure array of 'flash_partitions'. Partition information should
    be passed in below sequence in array:
    NOR
    OneNAND
    NAND

    Signed-off-by: Vimal Singh
    Signed-off-by: Tony Lindgren

    Vimal Singh
     
  • Introducing 'gpmc-nand.c' for GPMC specific NAND init.
    For example: GPMC timing parameters and all.
    This patch also migrates gpmc related calls from 'nand/omap2.c'
    to 'gpmc-nand.c'.

    Signed-off-by: Vimal Singh
    Signed-off-by: Tony Lindgren

    Vimal Singh
     
  • No logical code change

    Fix coding style indentaion as per checkpatch.pl
    Fix multi-line comment style reported by Nishanth Menon

    Signed-off-by: Vikram Pandita
    Cc: Nishanth Menon
    Acked-by: Kevin Hilman
    Signed-off-by: Tony Lindgren

    vikram pandita
     
  • trivial patch, no functional changes.

    Signed-off-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     
  • Get rid of the following warnings:

    arch/arm/mach-omap2/gpmc.c:550:30: warning: non-ANSI
    function declaration of function 'omap3_gpmc_save_context'

    arch/arm/mach-omap2/gpmc.c:581:33: warning: non-ANSI
    function declaration of function 'omap3_gpmc_restore_context'

    Signed-off-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     
  • Change %d to %ld to avoid the compile warning.

    Signed-off-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     
  • use ioremap and remove unused variable to get rid
    of compile warnings.

    Signed-off-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Felipe Balbi
     
  • Change the way McBSP registers are updated: use cached values instead of
    relying upon those read back from the device.

    With this patch, I have finally managed to get rid of all random
    playback/recording hangups on my OMAP1510 based Amstrad Delta hardware. Before
    that, values read back from McBSP registers to be used for updating them
    happened to be errornous.

    From the hardware side, the issue appeared to be caused by a relatively high
    power requirements of an external USB adapter connected to the board's printer
    dedicated USB port.

    I think there is one important point that makes this patch worth of applying,
    apart from my hardware quality. With the current code, if it ever happens to
    any machine, no matter if OMAP1510 or newer, to read incorrect value from a
    McBSP register, this wrong value will get written back without any checking.
    That can lead to hardware damage if, for example, an input pin is turned into
    output as a result.

    Applies on top of patch 3 from this series:
    [PATCH v9 3/4] OMAP: McBSP: Introduce caching in register write operations

    Tested on OMAP1510 based Amstrad Delta using linux-omap for-next, commit
    fb7380d70e041e4b3892f6b19dff7efb609d15a4 (2.6.33-rc3+ dated 2010-01-11).
    Compile-tested with omap_3430sdp_defconfig.

    Signed-off-by: Janusz Krzysztofik
    Acked-by: Peter Ujfalusi
    Acked-by: Jarkko Nikula
    Signed-off-by: Tony Lindgren

    Janusz Krzysztofik
     
  • Determine cache size required per McBSP port at init time, based on
    processor type running on.

    Allocate space for storing cached copies of McBSP register values at
    port request.

    Modify omap_msbcp_write() function to update the cache with every
    register write operation.

    Modify omap_mcbsp_read() to support reading from cache or hardware.

    Update MCBSP_READ() macro for modified omap_mcbsp_read() function API.

    Introduce a new macro that reads from the cache.

    Tested on OMAP1510 based Amstrad Delta using linux-omap for-next, commit
    fb7380d70e041e4b3892f6b19dff7efb609d15a4 (2.6.33-rc3+ dated 2010-01-11).
    Compile-tested with: omap_perseus2_730_defconfig, omap_generic_1610_defconfig,
    omap_generic_2420_defconfig, omap_2430sdp_defconfig, omap_3430sdp_defconfig,
    omap_4430sdp_defconfig with CONFIG_OMAP_MCBSP=y selected.

    Signed-off-by: Janusz Krzysztofik
    Acked-by: Peter Ujfalusi
    Acked-by: Jarkko Nikula
    Signed-off-by: Tony Lindgren

    Janusz Krzysztofik
     
  • OMAP_MCBSP_READ()/_WRITE() macros and omap_mcbsp_read()/_write() functions
    accept McBSP register base address as an argument. In order to support
    caching, that must be replaced with an address of the omap_mcbsp structure
    that would provide addresses for both register AND cache access.

    Since OMAP_ prefix seems obvious in macro names, drop it off in order to
    minimize line wrapping throughout the file.

    Tested on OMAP1510 based Amstrad Delta using linux-omap for-next, commit
    fb7380d70e041e4b3892f6b19dff7efb609d15a4 (2.6.33-rc3+ dated 2010-01-11).
    Compile-tested with omap_3430sdp_defconfig.

    Signed-off-by: Janusz Krzysztofik
    Acked-by: Peter Ujfalusi
    Acked-by: Jarkko Nikula
    Signed-off-by: Tony Lindgren

    Janusz Krzysztofik
     
  • There are several places where readw()/writew() functions are used instead of
    OMAP_MCBSP_READ()/WRITE() macros for manipulating McBSP registers. Replace
    them with macros to ensure consistent behaviour after caching is introduced.

    Tested on OMAP1510 based Amstrad Delta.
    Compile-tested with omap_3430sdp_defconfig.

    Signed-off-by: Janusz Krzysztofik
    Acked-by: Peter Ujfalusi
    Acked-by: Jarkko Nikula
    Signed-off-by: Tony Lindgren

    Janusz Krzysztofik
     
  • There was a potential risk that the following "memset" could override
    its range if a given address was not the 1st entry of a
    largepage. This is not the case for "iovmm".

    Reported-by: Hari Nagalla
    Signed-off-by: Hiroshi DOYU
    Signed-off-by: Hari Nagalla
    Signed-off-by: Tony Lindgren

    Hiroshi DOYU
     
  • There was a potential risk that the following "memset" could override
    its range if a given address was not the 1st entry of a
    supersection. This is not the case for "iovmm".

    Signed-off-by: Hiroshi DOYU
    Signed-off-by: Hari Nagalla
    Signed-off-by: Tony Lindgren

    Hiroshi DOYU
     
  • This is just a cleanup, but adds a few macros here, which can be used
    in the proceeding patches.

    Signed-off-by: Hiroshi DOYU
    Signed-off-by: Tony Lindgren

    Hiroshi DOYU
     
  • All OMAP boards are now using physmap-flash.

    Cc: linux-mtd@lists.infradead.org
    Signed-off-by: Ladislav Michl
    Signed-off-by: Tony Lindgren

    Ladislav Michl