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 -
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
25 Sep, 2010
1 commit
-
On Davinci SRAM is mapped as MT_DEVICE becasue of the section
mapping pre-requisite instead of intended MT_MEMORY_NONCACHEDSince the section mapping limitation gets fixed with first
patch in this series, the MT_MEMORY_NONCACHED can be used now.Signed-off-by: Santosh Shilimkar
Acked-by: Kevin Hilman
Signed-off-by: Russell King
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
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
...
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 -
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 -
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 because1) The reservation should be done in probe() to avoid race
with other ARM side driver trying to use EDMA2) 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 -
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 -
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 herecoming 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 -
The register base address for the second serial port (UART1) was
wrong.Signed-off-by: Thomas Koeller
Signed-off-by: Kevin Hilman
05 Aug, 2010
1 commit
31 Jul, 2010
1 commit
-
…'spear' and 'versatile' into devel
28 Jul, 2010
1 commit
-
Per the da850/omap-l138 Beta EVM SOM schematic, the DEFDCDC2 and
DEFDCDC3 lines are tied high. This leads to a 3.3V IO and 1.2V CVDD
voltage.Pass the right platform data to the TPS6507x driver so it can operate
on the DEFDCDC{2,3}_HIGH register to read and change voltage levels.Signed-off-by: Sekhar Nori
Acked-by: Mark Brown
Signed-off-by: Liam Girdwood
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
16 Jul, 2010
1 commit
-
Since we no longer support discontigmem, node is always zero, so
remove this argument.Signed-off-by: Russell King
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 -
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
22 Jun, 2010
5 commits
-
Added support for tnetv107x evaluation module.
Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
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 -
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 -
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 -
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
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 -
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 -
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
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
...
20 May, 2010
2 commits
-
Conflicts:
sound/soc/codecs/ad1938.c -
…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"
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
14 May, 2010
10 commits
-
More complete AEMIF support for boards.
Signed-off-by: Thomas Koeller
Signed-off-by: Kevin Hilman -
Added PINMUX configurations for the CLKOUT0 .. CLKOUT2
functions, for boards that want to use these clocks.Signed-off-by: Thomas Koeller
Signed-off-by: Kevin Hilman -
Board code may want to use them.
Signed-off-by: Thomas Koeller
Signed-off-by: Kevin Hilman -
This patch allows for a more flexible ioremap() interception based on iotable
contents.With this patch, the ioremap() interception code can properly translate
addresses only after davinci_soc_info has been initialized. Consequently,
in soc-specific init functions, davinci_common_init() has to happen before any
ioremap() attempts. The da8xx init sequence has been suitably modified to meet
this restriction.Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
This patch modifies the pinmux implementation so as to ioremap() the pinmux
register area on first use.Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
This patch implements the following:
- interrupt initialization uses ioremap() instead of passing a virtual address
via davinci_soc_info.- machine definitions directly point to cp_intc_init() or davinci_irq_init()
- davinci_intc_type and davinci_intc_base now get initialized in controller
specific init functions instead of davinci_common_init()- minor fix in davinci_irq_init() to use intc_irq_num instead of
DAVINCI_N_AINTC_IRQSigned-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
This patch modifies the psc and clock control code to use ioremap()ed
registers.Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
This patch eliminates IO_ADDRESS() usage for Davinci timer definitions. The
timer code has correspondingly been modified to ioremap() MMRs instead.Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
This patch replaces the jtag id base info in davinci_soc_info with a physical
address which is then ioremap()ed within common code.This patch (in combination with a similar change for PSC) will allow us to
eliminate the SYSCFG nastiness in DA8xx code.Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman -
This patch modifies the RTC unlock code to use ioremap() maps instead of
IO_ADDRESS() translation.Signed-off-by: Cyril Chemparathy
Signed-off-by: Kevin Hilman