Tony Lindgren [Wed, 7 Jul 2010 12:37:26 +0000 (15:37 +0300)]
arm: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6
The TLS register is only available on ARM1136 r1p0 and later.
Set HWCAP_TLS flags if hardware TLS is available and test for
it if CONFIG_CPU_32v6K is not set for V6.
Note that we set the TLS instruction in __kuser_get_tls
dynamically as suggested by Jamie Lokier <jamie@shareable.org>.
Also the __switch_to code is optimized out in most cases as
suggested by Nicolas Pitre <nico@fluxnic.net>.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tony Lindgren [Wed, 7 Jul 2010 12:37:26 +0000 (15:37 +0300)]
arm: Make VFPv3 usable on ARMv6
MVFR0 and MVFR1 are only available starting with ARM1136 r1p0 release
according to "B.5 VFP changes" in DDI0211F_arm1136_r1p0_trm.pdf. This is
also when TLS register got added, so we can use HAS_TLS also to test for
MVFR0 and MVFR1.
Otherwise VFPFMRX and VFPFMXR access fails and we get:
Internal error: Oops - undefined instruction: 0 [#1]
PC is at no_old_VFP_process+0x8/0x3c
LR is at __und_svc+0x48/0x80
...
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Tony Lindgren [Wed, 7 Jul 2010 12:37:25 +0000 (15:37 +0300)]
USB: Remove omap_cfg_reg for 2430
This is to fix compile with the new mux code.
Felipe has a similar patch queued up.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Russell King [Wed, 7 Jul 2010 12:37:25 +0000 (15:37 +0300)]
ARM: OMAP: Convert OMAPFB and VRAM SDRAM reservation to LMB
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:25 +0000 (15:37 +0300)]
ARM: Convert platform reservations to use LMB rather than bootmem
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:25 +0000 (15:37 +0300)]
ARM: initial LMB trial
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:24 +0000 (15:37 +0300)]
ARM: OMAP: Convert to use ->reserve method to reserve boot time memory
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:24 +0000 (15:37 +0300)]
ARM: OMAP: Cleanup OMAP FB SDRAM reservation
The logic in this file is rather convoluted, but essentially:
1. region type 0 is SDRAM
2. referring to the code fragment
if (set_fbmem_region_type(&rg, OMAPFB_MEMTYPE_SDRAM,
sdram_start, sdram_size) < 0 ||
(rg.type != OMAPFB_MEMTYPE_SDRAM))
continue;
- if rg.type is not OMAPFB_MEMTYPE_SDRAM, set_fbmem_region_type()
returns zero immediately (since rg.type is non-zero), and so we
'continue'.
- if rg.type is OMAPFB_MEMTYPE_SDRAM, and rg.paddr is zero,
we fall through.
- if rg.type is OMAPFB_MEMTYPE_SDRAM, and the region lies within
SDRAM, we fall through.
- if rg.type is OMAPFB_MEMTYPE_SDRAM, and the region is not within
SDRAM, we 'continue'.
3. check_fbmem_region seems unnecessary.
- we know rg.type is OMAPFB_MEMTYPE_SDRAM
- we can check rg.size independently
- bootmem_reserve() can check for overlapping reservations itself
- we've already validated that the requested region lies within SDRAM.
4. avoid BUG()ing if the region entry is already set; print an error,
and mark the configuration invalid - at least we'll continue booting
so the error message has a chance of being logged/visible via serial
console.
With these changes in place, it makes the code much easier to understand
and hence easier to convert to LMB.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:24 +0000 (15:37 +0300)]
ARM: Move platform memory reservations out of generic code
Move the platform specific bootmem memory reservations out of
arch/arm/mm/mmu.c into their respective platform files.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:23 +0000 (15:37 +0300)]
ARM: Remove 'node' argument form arch_adjust_zones()
Since we no longer support discontigmem, node is always zero, so
remove this argument.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:23 +0000 (15:37 +0300)]
ARM: Remove DISCONTIGMEM support
Everything should now be using sparsemem rather than discontigmem, so
remove the code supporting discontigmem from ARM.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 7 Jul 2010 12:37:23 +0000 (15:37 +0300)]
ARM: Precalculate vmalloc_min
Rather than storing the minimum size of the vmalloc area, store the
maximum permitted address of the vmalloc area instead.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ajay Kumar Gupta [Wed, 7 Jul 2010 12:37:22 +0000 (15:37 +0300)]
usb: host: ehci: fix missing kfree in remove path also
Added missing kfree() in ehci_hcd_omap_remove().
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kan-Ru Chen [Tue, 6 Jul 2010 01:10:04 +0000 (01:10 +0000)]
omap: Devkit8000: Use DIE id to initialize dm9000 MAC address
The devkit8000 boards often come with empty EEPROM thus without
valid ethernet MAC address. The DIE id to MAC formula is copied from
u-boot.
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kan-Ru Chen [Tue, 6 Jul 2010 01:10:03 +0000 (01:10 +0000)]
omap: Use omap_get_die_id() to get the DIE ids
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kan-Ru Chen [Tue, 6 Jul 2010 01:10:02 +0000 (01:10 +0000)]
omap: Add new interface omap_get_die_id
Allow DIE id to be get and used by others.
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
stanley.miao [Tue, 29 Jun 2010 08:40:04 +0000 (08:40 +0000)]
OMAP3: AM3505/3517 do not have IO wakeup capability
AM3505/3517 doesn't have IO wakeup capability, so we do not need to set
the bit OMAP3430_EN_IO and the bit OMAP3430_EN_IO_CHAIN in the register
PM_WKEN_WKUP when the system enters suspend state.
Tested on AM3517EVM and OMAP3530EVM.
Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 30 Jun 2010 08:47:06 +0000 (08:47 +0000)]
omap: dma: Support for prefetch in destination synchronizedtransfer
Omap DMA controller can prefetch data in advance in case of
destination synchronized data transfer. This may increase
performance when target HW block doesn't have fifo.
Data is waiting for transfer request in DMA fifo instead of read from memory.
Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Grazvydas Ignotas [Wed, 7 Jul 2010 11:22:37 +0000 (14:22 +0300)]
omap: mux: fix multipath gpio handling
OMAP3530 CBB package can have GPIO126 muxed on 2 pins: mmc1_dat4 and
cam_strobe. This causes a problem with current multipath GPIO mux
handling, which muxes both pins as GPIO126 and makes the GPIO unusable.
Fix this by not muxing any pins if multipath GPIO is detected and
just print a warning instead. It's up to board files to set correct
mux using omap_mux_init_signal and pin name.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Mike Rapoport [Wed, 7 Jul 2010 11:22:37 +0000 (14:22 +0300)]
omap3: introduce omap3_map_io
Hi Tony,
Here's the patch. It applies on top of Sergio's patch "Unify
omap2_set_globals_3[43,6x]x functions".
Signed-off-by: Tony Lindgren <tony@atomide.com>
Sergio Aguirre [Wed, 7 Jul 2010 11:22:37 +0000 (14:22 +0300)]
omap3: Unify omap2_set_globals_3[43,6x]x functions
The only difference between them is the physical address of the
uart4 port, which is only present in 36xx chips.
We don't really need to care about keeping these 2 functions, since
the decision to use uart4 is more cleanly done later when we do have
access to omap_revision variable.
Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: added comment for the uart4_phys]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 7 Jul 2010 11:22:36 +0000 (14:22 +0300)]
omap: Add back UART MDR1 check into uncompress.h
Recent DEBUG_LL and uncompress.h changes removed the check_port()
as pointed out by Cory Maccarrone <darkstar6262@gmail.com>.
This causes some boards to not boot, so add back the MDR1 register
check. The MDR1 register tells the mode of omap uart. Based on
an earlier patch by Cory Maccarrone <darkstar6262@gmail.com>.
Tested-by: Cory Maccarrone <darkstar6262@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Steve Sakoman [Wed, 7 Jul 2010 11:22:36 +0000 (14:22 +0300)]
omap: Overo: Fix support for second ethernet port
The original patch got truncated when applied from patchwork.kernel.org
as discussed at:
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg28953.html
This patch supplies the missing chunks.
Signed-off-by: Steve Sakoman <sakoman@gmail.com>
[tony@atomide.com: added more info to the patch description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Deepak K [Wed, 7 Jul 2010 09:47:46 +0000 (12:47 +0300)]
omap2/3/4: serial: errata i202: fix for MDR1 access
Errata i202 (OMAP3430 - 1.12, OMAP3630 - 1.6):
UART module MDR1 register access can cause a dummy underrun
condition which could result in a freeze in the case of IrDA
communication or if used as UART, corrupted data.
Workaround is as follows for everytime MDR1 register is changed:
* setup all required UART registers
* setup MDR1.MODE_SELECT bit field
* Wait 5 L4 clk cycles + 5 UART functional clock cycles
* Clear the Tx and RX fifo using FCR register
Note: The following step is not done as I am assuming it is not
needed due to reconfiguration being done and there is no halted
operation perse.
* Read if required, the RESUME register to resume halted operation
Based on an earlier patch at:
http://git.omapzoom.org/?p=kernel/omap.git;a=commitdiff;h=
42d4a342c009bd9727c100abc8a4bc3063c22f0c
Signed-off-by: Deepak K <deepak.k@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Wed, 7 Jul 2010 09:47:45 +0000 (12:47 +0300)]
omap2/3/4: serial: introduce errata handling
introduce silicon specific quirks as a errata handling mechanism
as a start UART_ERRATA_FIFO_FULL_ABORT is used to handle the override
for fifo full condition for rx and tx.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Nishanth Menon [Wed, 7 Jul 2010 09:47:45 +0000 (12:47 +0300)]
omap2/3/4: serial: kill dev_attr_sleep_timeout sparse warn
Remove the following sparse warnings by declaring attr as static:
arch/arm/mach-omap2/serial.c:627:1: warning: symbol 'dev_attr_sleep_timeout'
was not declared. Should it be static?
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Nishanth Menon [Wed, 7 Jul 2010 09:47:45 +0000 (12:47 +0300)]
omap2/3/4: serial: remove initialization sparse warnings
Initialization of pointer should be done with NULL. Removes sparse
warnings:
arch/arm/mach-omap2/serial.c:566:17: warning: Using plain integer as NULL pointer
arch/arm/mach-omap2/serial.c:567:17: warning: Using plain integer as NULL pointer
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Govindraj R [Wed, 7 Jul 2010 10:39:50 +0000 (13:39 +0300)]
omap3: serial: Add context save and restore for mcr
Adds context save/restore for mcr register as state of mcr register
is lost after core off.
Signed-off-by: Govindraj R <govindraj.raja@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
David Anders [Tue, 6 Jul 2010 14:05:32 +0000 (17:05 +0300)]
omap4: Add OMAP4 Panda Support
Add initial support for the OMAP4 based Panda Board.
Signed-off-by: David Anders <x0132446@ti.com>
[tony@atomide.com: selected board by default in Kconfig]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Hemanth V [Tue, 6 Jul 2010 14:05:31 +0000 (17:05 +0300)]
OMAP4: Add GPIO LED support for SDP board
This patch adds support for GPIO LEDs present on OMAP4
SDP and Blaze boards. This basically adds platform data
required by leds-gpio driver
Signed-off-by: Hemanth V <hemanthv@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Shubhrajyoti Datta [Tue, 6 Jul 2010 14:05:31 +0000 (17:05 +0300)]
omap4: Board changes for 4430sdp tmp105 temperature sensor
Adding board configuration for the tmp105
temperature sensor. The interface to the sensor
is I2C.
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Santosh Shilimkar [Tue, 6 Jul 2010 14:05:32 +0000 (17:05 +0300)]
omap4: mmc: Fix the regulator resource for MMC2 on 4430sdp
The MMC1 and MMC2 cards have seperate LDO supplies. Current code assumes
that they are powered by same LDO.
This patch fixes the same and has VAUX1 as supply to MMC2 card.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Tested-by: Kishore Kadiyala <kishore.kadiyala@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ameya Palande [Tue, 6 Jul 2010 14:05:34 +0000 (17:05 +0300)]
omap: tsl2563 ALS support for Nokia N900
This commit will enable usage of tsl2563 ambient light sensor on Nokia N900.
Signed-off-by: Ameya Palande <ameya.palande@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 6 Jul 2010 14:05:33 +0000 (17:05 +0300)]
omap: rx51: Add supply and data for the tpa6130a2 headphoneamplifier
With these and upcoming change to tpa6130a2 driver it's possible to add
support for the TPA6130A2 headphone amplifier.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 6 Jul 2010 14:05:33 +0000 (17:05 +0300)]
omap: rx51: Use REGULATOR_SUPPLY macro when initializingregulator consumers
There is REGULATOR_SUPPLY macro available for initializing the struct
regulator_consumer_supply so use it where applicable (all other supplies
than vdds_sdi) as it improves the readability.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 6 Jul 2010 14:05:33 +0000 (17:05 +0300)]
omap: rx51: Add platform_data for tlv320aic3x with reset gpionumber
Proper operation of the tlv320aic3x audio codec requires that reset
sequencing is done in pair with supply voltages when using the regulator
framework. Add the codec reset gpio used in Nokia RX51 to tlv320aic3x
data.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Jarkko Nikula [Tue, 6 Jul 2010 14:05:32 +0000 (17:05 +0300)]
omap: rx51: Set regulator V28 always on
It seems that the battery cover sensor in Nokia N900 is powered from the
V28 domain. Now if this regulator is disabled it causes that the gpio 160
reads only zero which effectively causes uSD removal detection.
Currently the bootloader enabled V28 is kept on but this may change in the
future according to comment in
drivers/regulator/core.c: regulator_has_full_constraints.
Also if there are any consumers on the V28 domain doing regulator_enable
regulator_disable cycle the V28 will be disabled after that.
Prepare for these by defining the V28 as always_on regulator.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Grazvydas Ignotas [Tue, 6 Jul 2010 14:05:31 +0000 (17:05 +0300)]
omap3: pandora: add NAND and wifi support
Add platform data for NAND and wifi, also setup all GPIOs
needed to use the wifi chip.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Grazvydas Ignotas [Tue, 6 Jul 2010 14:05:31 +0000 (17:05 +0300)]
omap3: pandora: update gpio-keys data
Update gpio-keys setup so it matches what is on default firmware.
Also make use of debounce feature in gpio-keys instead of setting it
explicitly, as gpio-keys is now capable of using hardware debounce on
OMAPs thanks to recent gpiolib changes.
Also fix a sparce warning along the way.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ohad Ben-Cohen [Tue, 6 Jul 2010 14:05:34 +0000 (17:05 +0300)]
omap: zoom3: wlan board muxing
Add board muxing to support the wlan wl1271 chip that is
hardwired to mmc2 (third mmc controller) on the ZOOM3.
Signed-off-by: Ohad Ben-Cohen <ohadb@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Ohad Ben-Cohen [Tue, 6 Jul 2010 14:05:34 +0000 (17:05 +0300)]
omap: zoom2: wlan board muxing
Add board muxing to support the wlan wl1271 chip that is
hardwired to mmc2 (third mmc controller) on the ZOOM2.
Signed-off-by: Ohad Ben-Cohen <ohadb@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Tue, 6 Jul 2010 09:18:25 +0000 (12:18 +0300)]
Merge branch 'for_2.6.36' of git://git.pwsan.com/linux-2.6 into omap-for-linus
Thomas Weber [Mon, 5 Jul 2010 14:04:42 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Fix regulator for power supply
Devkit8000 uses the TPS65930 and not the TWL4030.
The TPS65930 uses only a subset of the power supplies
of the TWL4030.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:42 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Remove unused omap_board_config
omap_board_config is no longer used and thats why empty.
This patch removes the empty omap_board_config.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:42 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Using gpio_is_valid macro
Using the macro gpio_is_valid for check of valid gpio pins.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:41 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Using the REGULATOR_SUPPLY macro
Replacing supplies with the REGULATOR_SUPPLY macro.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:41 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Remove en-/disable for tv panel
devkit8000_panel_enable_tv and devkit8000_panel_disable_tv are already
done in DSS2 code. So they are no longer needed in board code.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:41 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Remove non existing vsim supply
The Devkit8000 uses the cost reduced variant tps65930 of the twl4030.
The TPS65930 only has vdd1, vdd2, vpll1, vio, vmmc1, vdac and vaux2.
vaux2 is not used on Devkit8000.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:41 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Remove unneeded VDVI supply
The VDVI power supply is no longer needed in
board code with the new DSS2 interface.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kan-Ru Chen [Mon, 5 Jul 2010 14:04:40 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Setup LCD reset
This patch corrects the LCD reset pin configuration.
Original code from early devkit8000 patch sets the TWL4030 GPIO_1
to EHCI_nOC and TWL4030_GPIO_MAX+1 to ledA. Indeed these two pins
are both LCD_PWREN. Setup the lcd reset_gpio properly so it can be
disabled when other display is turned on.
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Kan-Ru Chen [Mon, 5 Jul 2010 14:04:40 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Enable DVI-D output
This patch corrects the DVI-D output setup of Devkit8000
Devkit8000 has different DVI reset pin with the BeagleBoard.
On Devkit8000 the TWL4030 GPIO_7 is assigned to do the job.
Signed-off-by: Kan-Ru Chen <kanru@0xlab.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:40 +0000 (17:04 +0300)]
OMAP2: Devkit8000: change panel to generic panel
Choose the generic panel for lcd code of Devkit8000.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Thomas Weber [Mon, 5 Jul 2010 14:04:39 +0000 (17:04 +0300)]
OMAP2: Devkit8000: Cleanup for power supplies
Corrected the wrong power supplies in devkit8000 code.
Add supply for ads7846 to support the new regulator framework for
touchscreen.
Signed-off-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:55 +0000 (16:31 +0300)]
Removing dead MACH_OMAP2_H4_USB1
MACH_OMAP2_H4_USB1 doesn't exist in Kconfig, therefore removing all
references for it from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:55 +0000 (16:31 +0300)]
Removing dead MACH_OMAP_H4_OTG
MACH_OMAP_H4_OTG doesn't exist in Kconfig, therefore removing all
references for it from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:55 +0000 (16:31 +0300)]
Removing dead APM
APM doesn't exist in Kconfig, therefore removing all references for it
from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:54 +0000 (16:31 +0300)]
Replacing LEDS_OMAP_DEBUG with OMAP_DEBUG_LEDS
LEDS_OMAP_DEBUG doesn't exist in Kconfig, therefore replacing all
references for it with OMAP_DEBUG_LEDS from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:54 +0000 (16:31 +0300)]
Removing dead OMAP_STI
OMAP_STI doesn't exist in Kconfig, therefore removing all
references for it from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:54 +0000 (16:31 +0300)]
Removing dead OMAP_DSP
OMAP_DSP doesn't exist in Kconfig, therefore removing all
references for it from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
[tony@atomide.com: updated to apply on top of already queued patches]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:53 +0000 (16:31 +0300)]
Removing dead OMAP_IR
OMAP_IR doesn't exist in Kconfig, therefore removing all references
for it from the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
[tony@atomide.com: updated for new mux code]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Christoph Egger [Mon, 5 Jul 2010 13:31:53 +0000 (16:31 +0300)]
Replace dead OMAP_MUX_ERRORS with OMAP_MUX_WARNINGS
OMAP_MUX_ERRORS doesn't exist in Kconfig, therefore replacing all
references for it with OMAP_MUX_WARNINGS in the source code.
Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
Acked-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:48 +0000 (16:31 +0300)]
omap2/3/4: Add Kconfig option to compile in typical omap features
This produces a sane config that's suitable for using as the
base for most omap2/3/4 boards.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:47 +0000 (16:31 +0300)]
omap2/3/4: Select all omaps and boards by default
Select all omaps and boards by default
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:47 +0000 (16:31 +0300)]
omap2/3/4: Move Kconfig options to mach-omap2/Kconfig
Move omap2/3/4 specific Kconfig options to mach-omap2/Kconfig
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:47 +0000 (16:31 +0300)]
omap: Make omap specific features appear under Kconfig menu
This will make Kconfig look nicer for selecting omap processor type
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:46 +0000 (16:31 +0300)]
omap: Use 32KiHZ timer by default
Use 32KiHZ timer by default as this is available on all omaps
except 15xx based systems.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:46 +0000 (16:31 +0300)]
ARM: Disable VGA console for ARM in most cases
Otherwise we have to disable it manually to avoid compile errors.
Now it's only enabled only for the selected machines as suggested
by Anton Vorontsov <cbouatmailru@gmail.com>:
$ git grep VGA_CONSOLE= arch/arm/configs/
arch/arm/configs/footbridge_defconfig:CONFIG_VGA_CONSOLE=y
arch/arm/configs/integrator_defconfig:CONFIG_VGA_CONSOLE=y
arch/arm/configs/netwinder_defconfig:CONFIG_VGA_CONSOLE=y
Note that the Kconfig entry no longer needs separate entries
for ARCH_ACORN, ARCH_EBSA110 ARCH_VERSATILE.
Cc: linux-fbdev@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:40 +0000 (16:31 +0300)]
omap: mux: Remove old mux code
All mach-omap2 omaps should now use the new mux code.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:40 +0000 (16:31 +0300)]
omap: mux: Convert 2420 platform init code to use new mux code
Convert 2420 platform init code to use new mux code
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:39 +0000 (16:31 +0300)]
omap: mux: Mux 2430 USB0HS_STP in board-2430.c
Use new mux functions for that. There are no other known 2430 boards
that need this mux.
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:39 +0000 (16:31 +0300)]
omap: mux: Mux Apollon LCD power in board-apollon.c
Use the new mux function for that.
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:39 +0000 (16:31 +0300)]
omap: mux: Do keypad muxing in board-*.c files
This way we get pin muxing out of plat-omap and can convert H4 to use the
new mux functions.
Note that it should be safe to assume we can mux all the keypad pins
except on H4 which may have Menelaus connected.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:38 +0000 (16:31 +0300)]
omap: mux: Make omap2 FS USB code use new mux functions
Make omap2 FS USB code use new mux functions. Do not mux usb2_tllse0
as it has multiple options.
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:38 +0000 (16:31 +0300)]
omap: mux: Select POP package for 2430SDP
Select POP package for 2430SDP
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:38 +0000 (16:31 +0300)]
omap: mux: Select POP package for N8X0
Select POP package for N8X0
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:37 +0000 (16:31 +0300)]
omap: mux: Select POP package for Apollon
Select POP package for Apollon
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:37 +0000 (16:31 +0300)]
omap: mux: Select SIP package for H4
Select SIP package for H4
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:36 +0000 (16:31 +0300)]
omap: mux: Add data for 2430
Add data for 2430. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:36 +0000 (16:31 +0300)]
omap: mux: Add data for 2420
Add data for 2420. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:36 +0000 (16:31 +0300)]
omap: mux: Remove unncessary parens from mux34xx.c
Remove unncessary parens from mux34xx.c
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:36 +0000 (16:31 +0300)]
omap: mux: Allow compiling in new mux code on all mach-omap2 systems
Allow compiling in new mux code on all mach-omap2 systems
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:35 +0000 (16:31 +0300)]
omap: mux: Renumber package defines to make room for older 24xx packages
Only POP and SIP are known to exist for 2420, 2430 seems to only have
SIP package available.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:35 +0000 (16:31 +0300)]
omap: mux: Fix omap_mux_init_gpio for omap24xx
Looks like 24xx uses mode3 instead of mode4 for muxable GPIO pins.
This will be needed when 24xx mux code is converted to use the new
mux functions.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:30 +0000 (16:31 +0300)]
omap: Move omap1 USB platform init code into mach-omap1/usb.c
Move omap1 FS USB platform init code into mach-omap1/usb.c
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:29 +0000 (16:31 +0300)]
omap: Enable interface clock for omap2 FS USB
Looks like this code was only working on boards that had
the usb_l4_ick enabled in the bootloader.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:29 +0000 (16:31 +0300)]
omap: Move omap2 FS USB platform init code into mach-omap2/usb-fs.c
Move omap2 FS USB platform init code into mach-omap2/usb-fs.c. This will
allow further work later on to use omap hwmod for initializing the
device.
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren [Mon, 5 Jul 2010 13:31:28 +0000 (16:31 +0300)]
omap: Separate out omap2 FS USB platform init functions
We want to split old FS USB platform init code and stop doing pin multiplexing
under plat-omap. First move 24xx specific init code into omap2_usb[012]_init
functions.
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Paul Walmsley [Fri, 2 Jul 2010 15:33:50 +0000 (09:33 -0600)]
OMAP: PM constraints: add omap_pm_set_min_clk_rate()
Add omap_pm_set_min_clk_rate(). This constraint is meant for use by
device drivers to translate a certain device-specific performance
constraint (e.g., "minimum polygons per second") to a clock rate for
the driver's device, given the driver's intimate knowledge of the
device hardware (e.g., device type, device hardware revision, firmware
revision, etc.) From a general PM core perspective, clock rate is
probably the closest general analog to "performance" that is
available, but the exact mapping from a use-case-specific performance
constraint to clock rate must be done by the driver. Drivers intended for
upstream merging shouldn't hardcode specific clock rates in their code
without basing those rates on some performance criteria requested through
the driver's subsystem (ideally, from userspace).
Imre Deak <imre.deak@nokia.com> described the need and use-case for
this constraint, and discussed the implementation - thanks, Imre.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Imre Deak <imre.deak@nokia.com>
Paul Walmsley [Fri, 2 Jul 2010 15:33:49 +0000 (09:33 -0600)]
OMAP: PM constraints: add return values; add requesting device param to omap_pm_set_max_dev_wakeup_lat()
Add return values to the PM constraint functions. This allows the PM
core to provide feedback to the caller if a constraint is not
possible. Update the one upstream user of omap_pm_set_max_mpu_wakeup_lat()
to add a compatibility wrapper, needed until the driver is changed.
Update some of the documentation to conform more closely to kerneldoc style.
Add an additional device parameter to omap_pm_set_max_dev_wakeup_lat()
to identify the device requesting the constraint. This is so repeated calls
to omap_pm_set_max_dev_wakeup_lat() with the same requesting device can
override the device's previously-set constraint. Also, it allows the PM
core to make a decision as to whether or not the constraint should be
satisfied, based on the caller's identity.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Paul Walmsley [Fri, 2 Jul 2010 15:33:49 +0000 (09:33 -0600)]
OMAP2+: hwmod/device: update documentation and copyright
Update some minor documentation issues and update copyright for
omap_device/omap_hwmod code.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Paul Walmsley [Fri, 2 Jul 2010 15:33:48 +0000 (09:33 -0600)]
OMAP: hwmod/device: add omap_{device,hwmod}_get_mpu_rt_va
Add omap_device_get_mpu_rt_va(). This is intended to be used by
device drivers (currently, via a struct platform_data function
pointer) to retrieve their corresponding device's virtual base address
that the MPU should use to access the device. This is needed because
the omap_hwmod code does its own ioremap(), in order to gain access to
the module's OCP_SYSCONFIG register.
Add omap_hwmod_get_mpu_rt_va(). omap_device_get_mpu_rt_va() calls this
function to do the real work.
While here, rename struct omap_hwmod._rt_va to struct
omap_hwmod._mpu_rt_va, to reinforce that it refers to the MPU's
register target virtual address base (as opposed to, for example, the
L3's).
In the future, this belongs as a function in an omap_bus, so it is not
necessary to call this through a platform_data function pointer.
The use-case for this function was originally presented by Santosh
Shilimkar <santosh.shilimkar@ti.com>.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Paul Walmsley [Fri, 2 Jul 2010 15:33:47 +0000 (09:33 -0600)]
OMAP2: hwmod data: add IVA1 (2420), IVA2 (2430) hwmods
Add IVA1 hwmod data for OMAP2420 and IVA2 hwmod data for 2430. The data
is based on Benoît Cousson's hwmod data for the OMAP3 IVA blocks.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Kevin Hilman [Fri, 2 Jul 2010 15:33:46 +0000 (09:33 -0600)]
OMAP3: hwmod data: add data for OMAP3 IVA2
Add hwmod data for IVA2 module on OMAP3.
Naming of "iva" instead of "iva2" to be aligned with OMAP4 naming done
by Benoit Cousson.
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Kevin Hilman [Fri, 2 Jul 2010 15:33:46 +0000 (09:33 -0600)]
OMAP2&3: hwmod: Replace l3 -> l3_main
Replace all the struct that contain l3 with l3_main in order
to be consistent with the OMAP4 naming convention.
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Kevin Hilman [Fri, 2 Jul 2010 15:33:45 +0000 (09:33 -0600)]
OMAP: hwmod data: add class for IVA hwmods
Add a new hwmod class for IVA devices. To be used when hwmods
are created for IVA2 on OMAP3.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Benoît Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Kevin Hilman [Fri, 2 Jul 2010 15:33:45 +0000 (09:33 -0600)]
OMAP: PM: create omap_devices for MPU, DSP, L3
Create simple omap_devices for the main processors and busses.
This is required to support the forth-coming device-based OPP
approach, where OPPs are managed and tracked at the device level.
Also, move these common PM init functions into a common_pm_init call
that is called as a device_initcall(). The PM init is done at this level
to ensure that the driver core is initialized before initialized.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: sparse warnings cleaned up; newly-created functions moved
from mach-omap2/io.c to mach-omap2/pm.c; newly-created functions renamed
to start with "omap2" rather than "omap"]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Kevin Hilman [Fri, 2 Jul 2010 15:33:44 +0000 (09:33 -0600)]
OMAP: omap_device: ensure hwmod tracks attached omap_device pointer
The omap_hwmod struct has a field to track the omap_device that is
attached to it, but it was not being assigned. Fix by assigning omap_device
pointer when omap_device is built.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[paul@pwsan.com: use an array index rather than pointer arithmetic]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Rajendra Nayak [Fri, 2 Jul 2010 15:33:44 +0000 (09:33 -0600)]
OMAP4: hwmod: Enable omap_device build for OMAP4
Enable omap_device layer support for OMAP4, so that drivers can
use them to enable/idle/shutdown devices.
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Paul Walmsley [Fri, 2 Jul 2010 15:33:43 +0000 (09:33 -0600)]
OMAP: hwmod: allow omap_hwmod_late_init() caller to skip module idle in _setup()
On kernels that don't use the omap_device_enable() calls to enable
devices, leave all on-chip devices enabled in hwmod _setup().
Otherwise, accesses to those devices are likely to fail, crashing the
system. It's expected that kernels built without CONFIG_PM_RUNTIME
will be the primary use-case for this. This functionality is
controlled by adding an extra parameter to omap_hwmod_late_init().
This patch is based on the patch "OMAP: hwmod: don't auto-disable
hwmod when !CONFIG_PM_RUNTIME" by Kevin Hilman
<khilman@deeprootsystems.com>.
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Kevin Hilman [Fri, 2 Jul 2010 15:33:42 +0000 (09:33 -0600)]
OMAP: hwmod: add non-locking versions of enable and idle functions
Some hwmods may need to be idled/enabled in atomic context, so
non-locking versions of these functions are required.
Most users should not need these and usage of theses should be
controlled to understand why access is being done in atomic context.
For this reason, the non-locking functions are only exposed at the
hwmod level and not at the omap-device level.
The use-case that led to the need for the non-locking versions is
hwmods that are enabled/idled from within the core idle/suspend path.
Since interrupts are already disabled here, the mutex-based locking in
hwmod can sleep and will cause potential deadlocks.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>