aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-01omap2/3: Update revision identificationSanjeev Premi2-42/+66
The existing definitions for cpu revision used upper nibble in the bits[15:08]. With OMAP3630, definitions use lower nibble. This patch unifies the definitions to start at lower nibble. Signed-off-by: Sanjeev Premi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-10-01omap: Fix omap_mux_init_signal not to trash muxnameTony Lindgren2-7/+8
Otherwise the muxname passed to the function will get truncated. Based on an earlier patch by [email protected]. Reported-by: [email protected] Signed-off-by: Tony Lindgren <[email protected]>
2010-10-01OMAP: PM: Fix build when CONFIG_PM_DEBUG isn't setLoïc Minier1-3/+4
Since 6cdee91257bee23a46dc869ca62469b67cba2c7e the references to enable_off_mode and sleep_while_idle can't be resolved when CONFIG_PM_DEBUG isn't set: arch/arm/mach-omap2/built-in.o: In function `omap_uart_restore_context': arch/arm/mach-omap2/serial.c:253: undefined reference to `enable_off_mode' arch/arm/mach-omap2/built-in.o: In function `omap3_can_sleep': arch/arm/mach-omap2/pm34xx.c:479: undefined reference to `sleep_while_idle' Simply #define these in pm.h just like omap2_pm_debug. Signed-off-by: Loïc Minier <[email protected]> [khilman: moved down into existing #ifdef section] Signed-off-by: Kevin Hilman <[email protected]>
2010-10-01OMAP3: CPUidle: remove redundant setting of PER next power stateKevin Hilman1-3/+1
When checking how to program the next powerstate for the PER powerdomain, the next state of PER powerdomain was written twice. Remove the duplicate write. Reported-by: Santosh Shilimkar <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-10-01manual merge for pm-hwmod-uart due to conflictsKevin Hilman22-296/+2707
2010-10-01Merge branch 'pm-hwmod-wdog' into pm-hwmodsKevin Hilman8-76/+400
2010-09-29OMAP3: SERIAL: Initialize all omap-uarts for zoom boardsGovindraj.R2-1/+1
Initialize all omap-uarts for zoom boards. Now zoom_peripheral_init will initialise all uarts for 3630. 3630sdp_board_init call zoom_peripheral_init so we can now remove serial_init from 3630sdp board init as zoom_peripheral_init now will do that the same. Signed-off-by: Anand Gadiyar <[email protected]> Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP: SERIAL: Enable omap-serial driver in KconfigGovindraj.R1-3/+8
Enable omap-serial driver in /mach-omap2/Kconfig and move 8250 driver selection for zoom boards. With omap-serial driver addition all omap-uarts can be handled with omap-serial driver. With addition of omap-serial driver console parameter needs be changed in bootargs from ttyS* should be replaced with ttyO* [O --> OMAP not ZERO] For example: ttyS0[UART1 on 3430SDP] changes to ttyO0. But with some boards that do not use omap-uart as console uart. we need to handle them with 8250 driver. Ex: ZOOM2/3. For zoom2/3 board we need to use 8250 serial driver and console parameter will remain ttyS0 which basically uses a Quad uart placed on the debug board connected through a gpio line. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29serial: Add OMAP high-speed UART driverGovindraj.R5-0/+1493
This patch adds driver support for OMAP2/3/4 high speed UART. The driver is made separate from 8250 driver as we cannot over load 8250 driver with omap platform specific configuration for features like DMA, it makes easier to implement features like DMA and hardware flow control and software flow control configuration with this driver as required for the omap-platform. This patch involves only the core driver and its dependent. Cc: Tony Lindgren <[email protected]> Signed-off-by: Govindraj.R <[email protected]> Acked-by: Alan Cox <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP3: serial: Fix uart4 handling for 3630Govindraj.R1-1/+5
This patch makes the following: - Adds missing wakeup padding register handling. - Fixes a hardcode to use PER module ONLY on UART3. Signed-off-by: Sergio Aguirre <[email protected]> Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP3: PM: Add prepare idle and resume idle call for uart4Govindraj.R1-0/+2
Add prepare idle and resume idle call for uart4 used by 3630. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regsGovindraj.R4-2/+18
To standarize among other uarts (1 to 3), we shall now: - Enable uart4 autodile bit. - Enable uart4 wakeup in PER. - Allow uart4 to wakeup the MPU. Signed-off-by: Sergio Aguirre <[email protected]> Signed-off-by: Govindraj.R <[email protected]> Acked-by: Paul Walmsley <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP clock: Add uart4_ick/fck definitions for 3630Govindraj.R1-0/+22
This is only valid for omap 36xx family of chips. Signed-off-by: Sergio Aguirre <[email protected]> Signed-off-by: Govindraj.R <[email protected]> Acked-by: Paul Walmsley <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP: UART: use non-locking versions of hwmod enable/idle functionsKevin Hilman1-2/+21
Since the UART enable/idle is done during the idle path (with interrupts disabled), use the non-locking versions of the hwmod enable/idle functions. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP: UART: don't do automatic bus-level suspend/resumeKevin Hilman1-2/+6
Since the omap_device for UART is currently managed inside the idle path itself, don't let the bus-level code suspend/resume the UART. To prevent this, pm_runtime_get() is used when preparing for suspend and pm_runtime_put() is used when finished with suspend. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP2: UART: remove set_uart_globalsGovindraj.R3-22/+0
Remove set_uart_globals function as this will not be needed as physical address for uarts will be taken from hwmod data file. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP: UART: omap_device conversions, remove implicit 8520 assumptionsKevin Hilman1-269/+260
Major rework of OMAP UART init for omap_device conversion as well as use with either 8250 driver or new omap-serial driver. In preparation for a new omap-serial driver, remove 8250 assumptions and dependencies from the serial core. Convert UART core and PM support to use omap_device layer. Also add support for both console on 8250 or omap-serial driver. omap_device conversion: - Convert clock API calls to omap_device calls - Remove all static platform_data setup and configuration. This is all done by the omap_device build phase. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP2/3: UART: add omap_hwmod data for UARTs 1-4Kevin Hilman6-2/+644
This patch adds omap_hwmod data for UARTs on OMAP2 and OMAP3 platforms. UART4 support for 3630 and OMAP2 hwmod data added by Govindraj R. Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP4: UART: Add uart1-4 hwmods data for omap4Benoit Cousson1-0/+235
Add uart1-4 hwmod data into omap4_hwmod data file. Signed-off-by: Benoit Cousson <[email protected]> Signed-off-by: Govindraj.R <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP: WDT: Use PM runtime APIs instead of clk FW APIsVaradarajan, Charulatha1-35/+7
Call runtime pm APIs pm_runtime_put_sync() and pm_runtime_get_sync() for enabling/disabling the clocks, sysconfig settings instead of using clock FW APIs. Signed-off-by: Charulatha V <[email protected]> Acked-by: Cousson, Benoit <[email protected]> Acked-by: Wim Van Sebroeck <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP: WDT: Split OMAP1 and OMAP2PLUS device registrationVaradarajan, Charulatha3-41/+66
This patch splits omap_init_wdt() into separate omap_init_wdt() functions under mach-omap1 and mach-omap2 and set them up with subsys_initcall. Also it uses omap_device_build() API instead of platform_device_register() for watchdog timer device registration for OMAP2plus chips. For OMAP2plus chips, the device specific data defined in centralized hwmod database will be used. Signed-off-by: Charulatha V <[email protected]> Acked-by: Cousson, Benoit <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP4: hwmod data: Add watchdog timerBenoit Cousson1-0/+133
Add watchdog timer hwmod data for OMAP4 chip Note: wd_timer3 in enabled in the hwmod list but it is not yet supported by the watchdog driver. Signed-off-by: Benoit Cousson <[email protected]> Signed-off-by: Charulatha V <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP2430: hwmod data: Add watchdog timerVaradarajan, Charulatha1-0/+64
Add watchdog timer hwmod data for OMAP2430 chip Signed-off-by: Charulatha V <[email protected]> Acked-by: Cousson, Benoit <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP2420: hwmod data: Add watchdog timerVaradarajan, Charulatha1-0/+64
Add watchdog timer hwmod data for OMAP2420 chip Signed-off-by: Charulatha V <[email protected]> Acked-by: Cousson, Benoit <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP3: hwmod data: Add watchdog timerVaradarajan, Charulatha1-0/+66
Add watchdog timer hwmod data for OMAP3 chip Signed-off-by: Charulatha V <[email protected]> Acked-by: Cousson, Benoit <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
2010-09-29OMAP2+: defconfig: disable CPUfreqKevin Hilman1-4/+0
Disable CPUfreq since 1) is not yet supported in mainline, and 2) the current driver fails to suspend properly Signed-off-by: Kevin Hilman <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-29OMAP2+: defconfig: modularize bluetooth, audio and WLANKevin Hilman1-15/+15
In working towards a smaller default kernel, only devices used for early boot should be built in. Toward that end, build the following as modules by default: - bluetooth - audio: ALSA, ASoC - WLAN Uncompressed kernel size comparison: Before: text data bss dec hex filename 6557576 465088 5616024 12638688 c0d9e0 vmlinux After: text data bss dec hex filename 5616572 436448 5610800 11663820 b1f9cc vmlinux Signed-off-by: Kevin Hilman <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-28ARM: OMAP3LOGIC: Added SMSC Ethernet board supportTim Nordell1-0/+65
Enable SMSC911x Ethernet driver for LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board. Signed-off-by: Tim Nordell <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-28ARM: OMAP3LOGIC: Add generic smsc911x support when connected to GPMCTim Nordell3-0/+151
Introduce of a generic way to setup smsc911x based Ethernet controller connected to GPMC similar to gpmc-smc91x but without timing setup. Signed-off-by: Tim Nordell <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-28ARM: OMAP3LOGIC: Adding SDMMC supportTim Nordell1-1/+38
Add low-level initialization for hsmmc controller for LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board. Signed-off-by: Tim Nordell <[email protected]> [[email protected]: updated for the recent mmc platform init changes] Signed-off-by: Tony Lindgren <[email protected]>
2010-09-28ARM: OMAP3LOGIC: Adding LogicPD OMAP3 board supportTim Nordell4-0/+169
Adding support for LogicPD's OMAP 3530 LV SOM and OMAP 35x Torpedo board. Signed-off-by: Tim Nordell <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-28arm: remove cast from void*matt mooney1-4/+4
Unnecessary cast from void* in assignment. Signed-off-by: matt mooney <[email protected]> Acked-by: Hiroshi DOYU <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-27omap3: cm-t3517: add support for TI HECCIgor Grinberg1-0/+45
add support for TI HECC. Signed-off-by: Igor Grinberg <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-27omap3: cm-t3517: add support for NAND flashIgor Grinberg1-0/+54
add support for NAND flash. Signed-off-by: Igor Grinberg <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-27omap3: cm-t3517: add support for usb hostIgor Grinberg1-0/+50
add support for hsusb host ports 1, 2 and on-module usb hub. Signed-off-by: Igor Grinberg <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-27omap3: cm-t3517: add support for v3020 rtcIgor Grinberg1-0/+36
add support for v3020 rtc. Signed-off-by: Igor Grinberg <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-27omap3: Introduce CompuLab CM-T3517 moduleIgor Grinberg4-0/+118
Add basic suppot, enable uart and led. Signed-off-by: Igor Grinberg <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2010-09-27Merge branch 'omap4_and_sdrc_2.6.27' of git://git.pwsan.com/linux-2.6 into ↵Tony Lindgren18-1782/+4499
omap-for-linus
2010-09-27omap3: Prevent SDRC deadlock when L3 is changing frequencyJon Hunter1-1/+5
When changing the L3 clock frequency, the CPU is executing from internal RAM and the SDRC clock is disabled. During this time accesses made to external DDR are stalled. If the ARM subsystem attempts to access the DDR while the SDRC clock is disabled this will stall the CPU until the access to the SDRC timeouts. A timeout on the SDRC should never occur. Once a timeout occurs all the following accesses will be aborted and the DDR is no longer accessible. Although the code being executed in the internal RAM does not directly access the DDR, it was found that the branch prediction logic in the CPU may cause the CPU to prefetch code from a DDR location while the SDRC clock is disabled. This was causing an SDRC timeout which resulted in a system hang. This patch fixes this problem by ensuring the branch prediction logic is disabled while changing the L3 clock frequency. The branch prediction logic is disabled by clearing the Z-bit in the ARM CTRL register. Disabling the branch prediction logic does not have any noticable impact on the execution time of this code section. The hardware observability signals were used to monitor the sdrc idle time with and without this patch when operating at different CPU frequencies (150MHz, 500MHz and 600MHz) and the total sdrc idle time when changing frequenct was in the range of 9-11us. This was measured on an omap3430 SDP running the omapzoom p-android-omap-2.6.29 branch. Signed-off-by: Jon Hunter <[email protected]> Signed-off-by: Paul Walmsley <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: Richard Woodruff <[email protected]> Cc: Tony Lindgren <[email protected]>
2010-09-27omap4: control: Fix the control module register accessesSantosh Shilimkar4-56/+38
This patch has multiple fixes together. To ensure that git bisect work across commits, all changes are clubbed together 1. Move the common control base address to control core 2. Remove the manually coeded defines and use the ones from headers. 3. Fix the the status register define in id.c for OMAP4 4. Fix all the register define in hsmmc.c 5. Use the control pad accessor API for omap4 hsmmc register accesses Signed-off-by: Benoit Cousson <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2010-09-27omap4: control: Add the register definition headersSantosh Shilimkar5-0/+2132
On OMAP4, control module is divided into 4 separate IPs - OMAP44XX_CTRL_MODULE_CORE - OMAP44XX_CTRL_MODULE_PAD_CORE - OMAP44XX_CTRL_MODULE_WKUP - OMAP44XX_CTRL_MODULE_PAD_WKUP This patch adds all the omap4 control module register data and includes them in the common control.h The register data is autogenerated from the codebase thanks to Benoit Cousson efforts Signed-off-by: Benoit Cousson <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2010-09-27omap4: control: Add accessor api's for pad control moduleSantosh Shilimkar2-0/+22
On OMAP4 control pad are not addressable from control core base. So the common omap_ctrl_read/write APIs breaks Hence export separate APIs to manage the omap4 pad control registers. This APIs will work only for OMAP4 Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2010-09-27omap4: control: Add ctrl_pad_base to omap_globalsSantosh Shilimkar3-1/+10
On omap4 control module is divided in four IP blocks. - CTRL_MODULE_CORE 0x4a002000 - CTRL_MODULE_PAD_CORE 0x4a100000 - CTRL_MODULE_WKUP 0x4a30c000 - CTRL_MODULE_PAD_WKUP 0x4a31e000 Addressing all the modules with single base address is not possible considering 16 bit offsets. The mux code manages the pad core and pad wakeup related base address inside the mux framework. For other usage only control core and control pad bases are necessary. So this patch maps only needed pad control base address which is used by device drivers and infrastructure code The main control core base is still kept same in this patch to keep git-bisect working. This will be fixed in the relevant patch in this series. Signed-off-by: Benoit Cousson <[email protected]> Signed-off-by: Santosh Shilimkar <[email protected]> Signed-off-by: Paul Walmsley <[email protected]>
2010-09-27OMAP4: clocks: Fix ES2 clock issuesBenoit Cousson1-33/+55
Fix a few OMAP4430 clock tree problems after the recent manual merge of the various ES2 clock patches: - usim optional clock and its parent had the same name, rename the parent usim_fclk -> usim_ck - OPTFCLKEN_CLK32K is not handled anymore by the USBPHYOCP2SCP module in ES2 Create a new clock that belongs to CM_ALWON_USBPHY_CLKCTRL register This patch depends on some of the PRCM macro updates from Rajendra. Signed-off-by: Benoit Cousson <[email protected]> [[email protected]: tweaked patch description] Signed-off-by: Paul Walmsley <[email protected]> Cc: Rajendra Nayak <[email protected]>
2010-09-27OMAP4: powerdomain: Update DSS logic state for ES2Rajendra Nayak2-1/+2
DSS on ES2 supports only OSWR, hence remove the support for CSWR from the powerdomain framework. Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Benoît Cousson <[email protected]> Signed-off-by: Paul Walmsley <[email protected]> Cc: Kevin Hilman <[email protected]>
2010-09-27OMAP4: PM: Define additional registers for ES2Rajendra Nayak2-8/+96
4430 ES2 has a few new registers added and a few modified from ES1. This patch adds all the register changes in PRM and CM for OMAP4430 ES2. Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Benoît Cousson <[email protected]> Signed-off-by: Paul Walmsley <[email protected]> Cc: Kevin Hilman <[email protected]>
2010-09-27OMAP4: CM & PRM: Update PRCM register bitshifts and masks for ES2Rajendra Nayak2-1216/+1385
This patch updates the PRM and CM register bitshifts and masks for OMAP4430 ES2.0. Replace as well the BITFIELD macro with the shift operator in order to be consistent with the previous OMAP2 & 3 format. Sort the register list in comments in order to have a consistent register order and avoid futur change during code generation. Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Benoît Cousson <[email protected]> Signed-off-by: Paul Walmsley <[email protected]> Cc: Kevin Hilman <[email protected]>
2010-09-27OMAP4: clock: Add optional clock nodesBenoit Cousson1-60/+417
OMAP4 IP optional clocks require explicit enable in module CTRLCLK register. In order to allow that we have to create artificial clock nodes that represent this clock inputs in the IP. Notes: - Temporary use OMAP3 names for GPIO optional clocks until the GPIO hwmod convertion is done. It will enforce the usage of OMAP4 names as the reference. - Temporary use OMAP3 names for TIMER main clock (gptX_fck) until TIMER hwmod convertion is done. During that convertion, the new name will have to be used. Signed-off-by: Benoit Cousson <[email protected]> Signed-off-by: Paul Walmsley <[email protected]> Cc: Kevin Hilman <[email protected]> Cc: Rajendra Nayak <[email protected]>
2010-09-27OMAP4: clock: Fix clock names and align with hwmod namesBenoit Cousson1-355/+310
The OMAP4 hwmod data introduced the new naming convention for TI IPs (See patch OMAP4: hwmod: Add partial hwmod support for OMAP4430 ES1.0) The leaf clock names are using the same IP name and thus must be modified to match the clock populated in the hwmod data. - Fix some leaf clocks nodes that were using a _iclk instead of the _fclk prefix. - Fix some wrong interface clock name for master IPs connected to interconnect. Please not that due to the fact that nodes are sorted by name, the name change will introduce a quite ugly diff a little bit hard to follow. Timers clock con_id is still using the old gptX_fck name until the gptimer driver is updated to omap_device framework. Timers entries in hwmods DB are still disabled until the migration if timer to platform_driver + omap_hwmod. Signed-off-by: Benoit Cousson <[email protected]> [[email protected]: manually resolved conflicts with Rajendra's clock patch] Signed-off-by: Paul Walmsley <[email protected]> Cc: Rajendra Nayak <[email protected]>
2010-09-27OMAP4: clocks: Update clock tree for ES2Rajendra Nayak1-98/+74
This patch updates the clock tree with all the changes in OMAP4430 ES2. clock nodes added -1- tie_low_clock_ck -2- abe_dpll_bypass_clk_mux_ck clock nodes deleted -1- dpll_sys_ref_clk -2- per_sgx_fclk -3- usbphyocp2scp_ick Signed-off-by: Rajendra Nayak <[email protected]> Signed-off-by: Benoît Cousson <[email protected]> [[email protected]: added comment re ES1 clocks to top of file] Signed-off-by: Paul Walmsley <[email protected]> Cc: Kevin Hilman <[email protected]>