20 Oct, 2010

2 commits

  • Since we're now using addruart to establish the debug mapping, we can
    remove the io_pg_offst and phys_io members of struct machine_desc.

    The various declarations were removed using the following script:

    grep -rl MACHINE_START arch/arm | xargs \
    sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'

    [ Initial patch was from Jeremy Kerr, example script from Russell King ]

    Signed-off-by: Nicolas Pitre
    Acked-by: Eric Miao

    Nicolas Pitre
     
  • Rather than checking the MMU status in every instance of addruart, do it
    once in kernel/debug.S, and change the existing addruart macros to
    return both physical and virtual addresses. The main debug code can then
    select the appropriate address to use.

    This will also allow us to retreive the address of a uart for the MMU
    state that we're not current in.

    Updated with fixes for OMAP from Jason Wang
    and Tony Lindgren , and fix for versatile express from
    Lorenzo Pieralisi .

    Signed-off-by: Jeremy Kerr
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Jason Wang
    Signed-off-by: Tony Lindgren
    Tested-by: Kevin Hilman

    Jeremy Kerr
     

25 Sep, 2010

1 commit


09 Aug, 2010

1 commit

  • …t/khilman/linux-davinci

    * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci:
    davinci: dm646x EVM: Specify reserved EDMA channel/slots
    davinci: da8xx/omapl EVM: Specify reserved channels/slots
    davinci: support for EDMA resource sharing
    davinci: edma: provide ability to detect insufficient CC info data
    davinci: da8xx: sparse cleanup: remove duplicate entries in irq priorities
    davinci: DM365: fixed second serial port
    Davinci: tnetv107x evm board initial support
    Davinci: tnetv107x initial gpio support
    Davinci: tnetv107x soc support
    Davinci: tnetv107x decompresser uart definitions
    Davinci: generalized debug macros

    Linus Torvalds
     

08 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
    ALSA: hda - Add pin-fix for HP dc5750
    ALSA: als4000: Fix potentially invalid DMA mode setup
    ALSA: als4000: enable burst mode
    ALSA: hda - Fix initial capsrc selection in patch_alc269()
    ASoC: TWL4030: Capture route runtime DAPM ordering fix
    ALSA: hda - Add PC-beep whitelist for an Intel board
    ALSA: hda - More relax for pending period handling
    ALSA: hda - Define AC_FMT_* constants
    ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
    ALSA: hda - Add support for HDMI HBR passthrough
    ALSA: hda - Set Stream Type in Stream Format according to AES0
    ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
    ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
    ASoC: wm9081: fix resource reclaim in wm9081_register error path
    ASoC: wm8978: fix a memory leak if a wm8978_register fail
    ASoC: wm8974: fix a memory leak if another WM8974 is registered
    ASoC: wm8961: fix resource reclaim in wm8961_register error path
    ASoC: wm8955: fix resource reclaim in wm8955_register error path
    ASoC: wm8940: fix a memory leak if wm8940_register return error
    ASoC: wm8904: fix resource reclaim in wm8904_register error path
    ...

    Linus Torvalds
     

06 Aug, 2010

6 commits

  • Not all the channels and slots available on the DM646x EVM
    are used by the devices on the EVM. These resources can be
    used by the DSP to speed up codec operations.

    This patch reserves these channels for the DSP.

    Signed-off-by: Sudhakar Rajashekhara
    Signed-off-by: Sekhar Nori
    Signed-off-by: Kevin Hilman

    Rajashekhara, Sudhakar
     
  • The drivers on da8xx/omapl EVMs do not utilize all the channels
    and slots provided by EDMA. Some of these are better utilitzed by
    the DSP on the SoC for speeding up codec operations.

    Reserve these channels/slots for the DSP.

    Signed-off-by: Sudhakar Rajashekhara
    Signed-off-by: Sekhar Nori
    Signed-off-by: Kevin Hilman

    Rajashekhara, Sudhakar
     
  • Current EDMA driver is not taking care of EDMA channels/slots
    which are allocated from other processor, say DSP. If a
    channel/slot is allocated from DSP, the existing EDMA driver
    can still allocate the same resource on ARM.

    This patch enables the user to pass the channel/slots reserved
    for DSP as platform data. EDMA driver scans this list during
    probe and prepares a bitmap of channel/slots which can be used
    on ARM side.

    Trying to reserve channels by doing a 'pre-allocate' using
    edma_alloc_{slot|channel}() API does not work because

    1) The reservation should be done in probe() to avoid race
    with other ARM side driver trying to use EDMA

    2) The alloc channel API sets up the access through shadow region
    0 which will be incorrect for DSP usage. It also sets up the
    channel queue number mapping which is not required as DSP
    will likely do its own mapping anyway.

    3) (minor) There is no API to allocate channels in bulk.

    Signed-off-by: Sudhakar Rajashekhara
    Cc: David Brownell
    Signed-off-by: Sekhar Nori
    Signed-off-by: Kevin Hilman

    Rajashekhara, Sudhakar
     
  • This patch modifies the EDMA driver to expect the channel
    controller (CC) infomation passed on by the platform as a fixed
    size (EDMA_MAX_CC) array of pointers to structures.

    Doing so helps catch errors of the sort where the resource
    structure has information for more channel controllers than
    the number channel controller info structures defined.

    Such insufficient platform data would lead to illegal memory
    accesses.

    Signed-off-by: Sekhar Nori
    Signed-off-by: Kevin Hilman

    Sekhar Nori
     
  • This patch helps get rid of the following sparse warnings
    of the type:

    CHECK arch/arm/mach-davinci/da830.c
    arch/arm/mach-davinci/da830.c:1026:3: warning: Initializer entry defined twice
    arch/arm/mach-davinci/da830.c:1027:3: also defined here

    coming from the irq priorities array init.

    Apart from one instance of genuinie repetition, most are are instances
    of multiple #defines of the same interrupt number. I have not
    removed the multiple definitions from the irq.h file in the hope
    that someone might decide to use them as shared interrupts at some
    point of time. The priority initialization however needs to be done
    only once and hence has been corrected.

    Signed-off-by: Sekhar Nori
    Signed-off-by: Kevin Hilman

    Sekhar Nori
     
  • The register base address for the second serial port (UART1) was
    wrong.

    Signed-off-by: Thomas Koeller
    Signed-off-by: Kevin Hilman

    Thomas Koeller
     

05 Aug, 2010

1 commit


31 Jul, 2010

1 commit


28 Jul, 2010

1 commit


20 Jul, 2010

1 commit

  • Currently the EDMA queue to be used by for servicing ASP through
    internal RAM is fixed to EDMAQ_0 and that to service internal RAM
    from external RAM is fixed to EDMAQ_1.

    This may not be the desirable configuration on all platforms. For
    example, on DM365, queue 0 has large fifo size and is more suitable
    for video transfers. Having audio and video transfers on the same
    queue may lead to starvation on audio side.

    platform data as defined currently passes a queue number to the driver
    but that remains unused inside the driver.

    Fix this by defining one queue each for ASP and RAM transfers in the
    platform data and using it inside the driver.

    Since EDMAQ_0 maps to 0, thats the queue that will be used if
    the asp queue number is not initialized. None of the platforms
    currently utilize ping-pong transfers through internal RAM so that
    functionality remains unchanged too.

    This patch has been tested on DM644x and OMAP-L138 EVMs.

    Signed-off-by: Sekhar Nori
    Acked-by: Liam Girdwood
    Signed-off-by: Mark Brown

    Sekhar Nori
     

16 Jul, 2010

1 commit


06 Jul, 2010

2 commits

  • i2s_accurate_sck switch can be used to have a better approximate
    sampling frequency.
    The clock is an externally visible bit clock and it is named
    i2s continuous serial clock (I2S_SCK).
    The trade off is between more accurate clock (fast clock)
    and less accurate clock (slow clock).
    The waveform will be not symmetric.
    Probably it is possible to get a better algorithm for calculating
    the divider, trying to keep a slower clock as possible.

    This patch has been developed against the
    http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
    git tree and has been tested on bmx board (similar to dm365 evm, but using
    uda1345 as external audio codec).

    Signed-off-by: Raffaele Recalcati
    Signed-off-by: Davide Bonfanti
    Acked-by: Liam Girdwood
    Acked-by: Sudhakar Rajashekhara
    Signed-off-by: Mark Brown

    Raffaele Recalcati
     
  • When McBSP peripheral gets the clock from an external pin,
    there are three possible chooses, MCBSP_CLKX, MCBSP_CLKR
    and MCBSP_CLKS.
    evm-dm365 uses MCBSP_CLKR, instead in bmx board I have a different
    hardware connection and I use MCBSP_CLKS, so I have added
    this possibility.

    This patch has been developed against the:
    http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
    git tree and has been tested on bmx board (similar to dm365 evm)

    Signed-off-by: Raffaele Recalcati
    Signed-off-by: Davide Bonfanti
    Acked-by: Liam Girdwood
    Acked-by: Sudhakar Rajashekhara
    Signed-off-by: Mark Brown

    Raffaele Recalcati
     

22 Jun, 2010

5 commits

  • Added support for tnetv107x evaluation module.

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: Kevin Hilman

    Cyril Chemparathy
     
  • This patch adds support for the tnetv107x gpio controller.

    Key differences between davinci and tnetv107x controllers:
    - register map - davinci's controller is organized into banks of 32 gpios,
    tnetv107x has a single space with arrays of registers for in, out,
    direction, etc.
    - davinci's controller has separate set/clear registers for output, tnetv107x
    has a single direct mapped register.

    This patch does not yet add gpio irq support on this controller.

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: Kevin Hilman

    Cyril Chemparathy
     
  • TNETV107X is a Texas Instruments SOC that shares a number of common features
    with the Davinci architecture. Some of the key differences between
    traditional Davincis and this new SOC are as follow:

    1. The SOCs clock architecture includes a new spread-spectrum PLL. Some
    elements of the clock architecture are reused from Davinci (e.g. LPSC), but
    the PLL related code is overridden using existing interfaces in "struct clk".

    2. The MMR layout on this SOC is substantially different from Davinci.
    Consequently, the fixed I/O map is a whole lot more convoluted (more so than
    DA8xx). The net impact here is that IO_ADDRESS() will not work on this SoC,
    and therefore all mappings have to be through ioremap().

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: Kevin Hilman

    Cyril Chemparathy
     
  • Added definitions for tnetv107x uart base addresses, and modified base address
    selection for kernel decompressor to check for tnetv107x machine type.

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: Kevin Hilman

    Cyril Chemparathy
     
  • This patch adopts a debug uart selection similar to the OMAP model. During
    the boot process, the uncompress code determines the physical and virtual base
    addresses of the board-specific debug uart. These addresses are then passed
    on to the in-kernel debug macros through a small chunk of memory placed just
    below the page tables (@0x80003ff8).

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: Kevin Hilman

    Cyril Chemparathy
     

28 May, 2010

3 commits

  • The touch screen controller in the TPS6507x chip needs values that are
    dependent on the characteristics of the touch screen hardware being used
    in the board design. In addition, the board provides version information
    that is exposed via the kernel input sub-system.

    Signed-off-by: Todd Fischer
    Signed-off-by: Kevin Hilman
    Signed-off-by: Samuel Ortiz

    Todd Fischer
     
  • Add mfd structure which refrences sub-driver initialization data. For example,
    for a giving hardware implementation, the voltage regulator sub-driver
    initialization data provides the mapping betten a voltage regulator and what
    the output voltage is being used for.

    Signed-off-by: Todd Fischer
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Todd Fischer
     
  • On some platforms like DM355, the number of EDMA parameter slots available
    for EDMA_SLOT_ANY usage are few. In such cases, if MMC/SD uses 16 slots
    for each instance of MMC controller, then the number of slots available
    for other modules will be very few.

    By passing the number of EDMA slots to be used in MMC driver from platform
    data, EDMA slots available for other purposes can be controlled.

    Most of the platforms will not use this platform data variable. But on
    DM355, as the number of EDMA resources available is limited, the number of
    scatter- gather segments used inside the MMC driver can be 8 (passed as
    platform data) instead of 16. On DM355, when the number of scatter-gather
    segments was reduced to 8, I saw a performance difference of about
    0.25-0.4 Mbytes/sec during write. Read performance variations were
    negligible.

    Signed-off-by: Sudhakar Rajashekhara
    Acked-by: Kevin Hilman
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sudhakar Rajashekhara
     

21 May, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (250 commits)
    ALSA: hda: Storage class should be before const qualifier
    ASoC: tpa6130a2: Remove CPVSS and HPVdd supplies
    ASoC: tpa6130a2: Define output pins with SND_SOC_DAPM_OUTPUT
    ASoC: sdp4430 - add sdp4430 pcm ops to DAI.
    ASoC: TWL6040: Enable earphone path in codec
    ASoC: SDP4430: Add support for Earphone speaker
    ASoC: SDP4430: Add sdp4430 machine driver
    ASoC: tlv320dac33: Avoid powering off while in BIAS_OFF
    ASoC: tlv320dac33: Use dev_dbg in dac33_hard_power function
    ALSA: sound/pci/asihpi: Use kzalloc
    ALSA: hdmi - dont fail on extra nodes
    ALSA: intelhdmi - add id for the CougarPoint chipset
    ALSA: intelhdmi - user friendly codec name
    ALSA: intelhdmi - add dependency on SND_DYNAMIC_MINORS
    ALSA: asihpi: incorrect range check
    ALSA: asihpi: testing the wrong variable
    ALSA: es1688: add pedantic range checks
    ARM: McBSP: Add support for omap4 in McBSP driver
    ARM: McBSP: Fix request for irq in OMAP4
    OMAP: McBSP: Add 32-bit mode support
    ...

    Linus Torvalds
     

20 May, 2010

2 commits

  • Conflicts:
    sound/soc/codecs/ad1938.c

    Takashi Iwai
     
  • …t/khilman/linux-davinci

    * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (48 commits)
    Revert "rtc: omap: let device wakeup capability be configured from chip init logic"
    DM365: Added more PINMUX configurations for AEMIF
    DM365: Make CLKOUTx available
    DM365: Added PINMUX definitions for GPIO30..32
    Davinci: iotable based ioremap() interception
    Davinci: pinmux - use ioremap()
    Davinci: aintc/cpintc - use ioremap()
    Davinci: psc - use ioremap()
    Davinci: timer - use ioremap()
    Davinci: jtag_id - use ioremap()
    Davinci: da8xx: rtc - use ioremap
    Davinci: gpio - use ioremap()
    davinci: edma: fix coding style issue related to breaking lines
    davinci: edma: use BIT() wherever possible
    davinci: edma: fix coding style issue related to usage of braces
    davinci: edma: use a more intuitive name for edma_info
    Davinci: serial - conditional reset via pwremu
    Davinci: serial - use ioremap()
    Davinci: serial - remove unnecessary define
    Davinci: watchdog reset separation across socs
    ...

    Fix up trivial conflict in arch/arm/Kconfig due to removal of "select
    GENERIC_TIME"

    Linus Torvalds
     

15 May, 2010

1 commit

  • DA8xx OHCI driver fails to load due to failing clk_get() call for the USB 2.0
    clock. Arrange matching USB 2.0 clock by the clock name instead of the device.
    (Adding another CLK() entry for "ohci.0" device won't do -- in the future I'll
    also have to enable USB 2.0 clock to configure CPPI 4.1 module, in which case
    I won't have any device at all.)

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Kevin Hilman

    Sergei Shtylyov
     

14 May, 2010

10 commits