]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - sitara-epos/sitara-epos-kernel.git/log
sitara-epos/sitara-epos-kernel.git
12 years agoARM: OMAP: AM33XX: NET: cpsw: Add suspend resume support
Mugunthan V N [Thu, 8 Mar 2012 12:21:47 +0000 (17:51 +0530)]
ARM: OMAP: AM33XX: NET: cpsw: Add suspend resume support

Need to reset all sub-components of CPGMAC to gate the clock

Moved omap_dm_timer enable and configure to cpsw_ndo_open and disabled the
timer in cpsw_ndo_close so that during suspend/resume timer will be disabled
and enabled respectively

Added timer omap_dm_timer_free in cpsw_ndo_remove to free the dm_timer while
removing the module

Added wait_for_clock_enable to ensure that CPGMAC clock is enabled before
accessing the CPGMAC registers

TODO: Currently driver doesnot support pm runtime, so hack for wait for cpgmac
clock enable is done. Once PM runtime support is done then the hack will be
removed

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
12 years agoARM: OMAP: AM33XX: NET: cpsw: fix memory lead during device open close.
Mugunthan V N [Thu, 8 Mar 2012 04:12:02 +0000 (09:42 +0530)]
ARM: OMAP: AM33XX: NET: cpsw: fix memory lead during device open close.

Rx descriptors are not freed during cpdma close in device close.

cpdma_ctlr_stop should be called after netif_carrier_off. so that
cpsw_rx_handler knows that we are shutting down the network device
and free the Rx descriptor memory

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
12 years agoARM: OMAP2+: nand: Fix build breakage
Vaibhav Bedia [Fri, 9 Mar 2012 14:30:05 +0000 (20:00 +0530)]
ARM: OMAP2+: nand: Fix build breakage

...introduced by recent NAND related changes

In file included from arch/arm/mach-omap2/board-omap3beagle.c:54:0:
arch/arm/mach-omap2/board-flash.h:50:1: error: expected identifier or '(' before '{' token
arch/arm/mach-omap2/board-flash.h:48:1: warning: 'omap_nand_init' used but never defined
make[1]: *** [arch/arm/mach-omap2/board-omap3beagle.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from arch/arm/mach-omap2/board-am335xevm.c:61:0:
arch/arm/mach-omap2/board-flash.h:50:1: error: expected identifier or '(' before '{' token
arch/arm/mach-omap2/board-flash.h:48:1: warning: 'omap_nand_init' used but never defined
make[1]: *** [arch/arm/mach-omap2/board-am335xevm.o] Error 1

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agovideo: da8xx-fb: correct suspend/resume sequence
Patil, Rachna [Fri, 9 Mar 2012 12:45:37 +0000 (18:15 +0530)]
video: da8xx-fb: correct suspend/resume sequence

1. correct suspend/resume sequence
for LCD.
2. add msleep in suspend/resume, to allow
LCD to finish transmitting all the frames.
3. remove enabling/disabling of clocks in
interrupt handler. This sequence was wrong.
Trying to disable clocks and write to a register
was wrong.
4. correct LCD context save sequence

Signed-off-by: Patil, Rachna <rachna@ti.com>
12 years agovideo: da8xx-fb: enable sync and underflow error interrupts
Patil, Rachna [Thu, 8 Mar 2012 11:41:49 +0000 (17:11 +0530)]
video: da8xx-fb: enable sync and underflow error interrupts

This patch enables LCD sync and underflow error interrupts.

Signed-off-by: Patil, Rachna <rachna@ti.com>
12 years agommc: omap_hsmmc: set dto to 14 for all devices
Chase Maupin [Fri, 9 Mar 2012 13:13:05 +0000 (18:43 +0530)]
mmc: omap_hsmmc: set dto to 14 for all devices

* With certain SD cards timeouts like the following have been seen
  due to an improper calculation of the dto value:
    mmcblk0: error -110 transferring data, sector 4126233, nr 8,
    card status 0xc00
* By removing the dto calculation and setting the timeout value
  to the maximum specified by the SD card specification part A2
  section 2.2.15 these timeouts can be avoided.
* This change has been used by beagleboard users as well as the
  Texas Instruments SDK without a negative impact.
* There are multiple discussion threads about this but the most
  relevant ones are:
    * http://talk.maemo.org/showthread.php?p=1000707#post1000707
    * http://www.mail-archive.com/linux-omap@vger.kernel.org/msg42213.html
* Original proposal for this fix was done by Sukumar Ghoral of
  Texas Instruments

* Tested using a Texas Instruments AM335x EVM

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
12 years agoARM: OMAP: AM33XX: Fix build breakage when CONFIG_SUSPEND=n
Sekhar Nori [Fri, 9 Mar 2012 12:47:50 +0000 (18:17 +0530)]
ARM: OMAP: AM33XX: Fix build breakage when CONFIG_SUSPEND=n

Fix the following build error:

arch/arm/mach-omap2/pm33xx.c: In function 'am33xx_pm_init':
arch/arm/mach-omap2/pm33xx.c:462:2: error: 'cefuse_pwrdm' undeclared (first use in this function)
arch/arm/mach-omap2/pm33xx.c:462:2: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-omap2/pm33xx.c:468:2: error: 'gfx_pwrdm' undeclared (first use in this function)
arch/arm/mach-omap2/pm33xx.c:472:2: error: 'gfx_l3_clkdm' undeclared (first use in this function)
arch/arm/mach-omap2/pm33xx.c:476:2: error: 'gfx_l4ls_clkdm' undeclared (first use in this function)

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
12 years agoARM: OMAP2+: timer: Switch dmtimer1/clocksource to RTC32k source for am33xx
Vaibhav Hiremath [Wed, 7 Mar 2012 06:55:10 +0000 (12:25 +0530)]
ARM: OMAP2+: timer: Switch dmtimer1/clocksource to RTC32k source for am33xx

In case of AM33xx support, currently the system timer is configured
as -
- clockevent - dmtimer2 (peripheral domain)
- clocksource - dmtimer1 (wakeup domain)

Both are getting input from OSC clock, which is 24MHz input clock.
In order to keep dmtimer1/clocksource active during system
suspend/resume, we must use RTC32K clock.
This patch enables the RTC32K clock by writting RTC registers and
switches clocksource/dmtimer1 input clock to RTC32k/clk_32768_ck.

Also, during testing it has been observed that, RTC clock need couple
of seconds delay to stabilize the RTC clock; and such a huge delay is not
acceptable in kernel and will also impact quick/fast boot use-case.
So, RTC32k OSC enable code has been shifted to SPL/first-bootloader,
and in order to support older u-boot, we have adopted fallback mechanism;
where, if timer goes to bad state OR becomes idle, then we again switch
back to main/default sys_ck_in (24MHz).

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3+: am33xx_clockdata: Fix wrong rtc parent clock
Vaibhav Hiremath [Wed, 7 Mar 2012 07:05:10 +0000 (12:35 +0530)]
ARM: OMAP3+: am33xx_clockdata: Fix wrong rtc parent clock

Fix -
- Corrected RTC32K clock defination
- Wrong parent was configured to RTC
- Wrong clock domain to USB module.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP: AM33XX: Manipulate GFX domain during suspend
Vaibhav Bedia [Wed, 7 Mar 2012 20:39:27 +0000 (02:09 +0530)]
ARM: OMAP: AM33XX: Manipulate GFX domain during suspend

In order to save as much power as possible, attempt to
put the GFX domain to OFF state during suspend.

At the same time, update the A<->M3 interaction to reduce
any chance of race conditions between A8 suspend routine
and the M3 acknowledgement interrupt.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP: AM33XX: Don't idle during suspend
Vaibhav Bedia [Tue, 6 Mar 2012 15:48:02 +0000 (21:18 +0530)]
ARM: OMAP: AM33XX: Don't idle during suspend

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP: AM335x evm: Getting rid of memory accessors with barriers
Vaibhav Bedia [Tue, 6 Mar 2012 06:42:07 +0000 (12:12 +0530)]
ARM: OMAP: AM335x evm: Getting rid of memory accessors with barriers

We should be using readl/writel since they have barriers in place

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP: PM: Skip omap3_init_voltage for AM33XX
Vaibhav Bedia [Tue, 6 Mar 2012 05:40:13 +0000 (11:10 +0530)]
ARM: OMAP: PM: Skip omap3_init_voltage for AM33XX

Right now this helps to get rid of the following warnings during
bootup

[...]
omap2_set_init_voltage: unable to get clk dpll1_ck
omap2_set_init_voltage: unable to set vdd_mpu_iva
omap2_set_init_voltage: unable to find boot up OPP for vdd_core
omap2_set_init_voltage: unable to set vdd_core
[...]

We need to explore whether an AM33XX specific init_voltage is
required or we can make do with that OMAP3/4 has to offer.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP3+: am33xx_clkdomain: Add CLKDM_NO_AUTODEPS flag
Vaibhav Bedia [Tue, 6 Mar 2012 04:53:54 +0000 (10:23 +0530)]
ARM: OMAP3+: am33xx_clkdomain: Add CLKDM_NO_AUTODEPS flag

...since it's not available in hardware.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP: am33xx: Keep the CLKDIV32K running for now
Vaibhav Bedia [Mon, 5 Mar 2012 15:24:08 +0000 (20:54 +0530)]
ARM: OMAP: am33xx: Keep the CLKDIV32K running for now

The debounce clk for GPIO is derived from CLKDIV32K.
Without enabling this module the DBCLK activity bit
of GPIO3 alone is not getting cleared even though the
clock has been disabled. For now enable the module.

TODO: Check if the clock tree dependency to have the module
enabled when the debounce feature is correct. If it is,
then GPIO3 usage needs to be looked at. Since the mainline
code of GPIO has undergone significant changes, it would
perhaps make sense to pull in those patches and then look
into this issue.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP2+: sys_timer: Add suspend/resume callback api's to sys_timer
Vaibhav Hiremath [Mon, 5 Mar 2012 05:52:39 +0000 (11:22 +0530)]
ARM: OMAP2+: sys_timer: Add suspend/resume callback api's to sys_timer

In case of AM335x, we do not 32k_counter available, which
is actually being used as source timer in OMAP family of devices.
AM335x has 8 timer modules, 2 timer modules are in wakeup/always-on
domain, and out of these 2, 1 timer is secure timer; which
leaves SW to use only 1 timer which can run in off/suspend state.
And we need 2 timers, one for clockevent and another for clocksource.

The suspend/resume callbacks are available on sys_timer and
clocksource, but due to unknown reason clocksource callbacks are
not working. TODO: WE MUST DEBUG FURTHER ON THIS.

So as of now, enable sys_timer suspend/resume callback.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: TIME: Enable sys_timer suspend/resume callback api's
Vaibhav Hiremath [Mon, 5 Mar 2012 05:23:00 +0000 (10:53 +0530)]
ARM: TIME: Enable sys_timer suspend/resume callback api's

In case of AM335x, we do not 32k_counter available, which
is actually being used as source timer in OMAP family of devices.
AM335x has 8 timer modules, 2 timer modules are in wakeup/always-on
domain, and out of these 2, 1 timer is secure timer; which leaves
SW to use only 1 timer which can run in off/suspend state. And
we need 2 timers, one for clockevent and another for clocksource.

The suspend/resume callbacks are available on sys_timer and
clocksource, but due to unknown reason clocksource callbacks are
not working. TODO: WE MUST DEBUG FURTHER ON THIS.

The sys_timer suspend/resume callback api's are supressed
under config option !defined(CONFIG_GENERIC_CLOCKEVENTS),
enable it, required for AM335x suspend/resume funtionality.
Not sure, why it is not enabled and appliable to ARM arch, will
have to follow up it with community.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3+: am33xx_hwmod: Correct the usb clkdm_name
Vaibhav Hiremath [Mon, 5 Mar 2012 14:27:26 +0000 (19:57 +0530)]
ARM: OMAP3+: am33xx_hwmod: Correct the usb clkdm_name

Correct the usb clock domain name to "l3s_clkdm".

The USB peripheral doesn't have any seperate clock domain of its
own, it falls under "l3s_clkdm".

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP: AM33XX: Cleanup usb hwmod
Ajay Kumar Gupta [Mon, 27 Feb 2012 09:42:34 +0000 (15:12 +0530)]
ARM: OMAP: AM33XX: Cleanup usb hwmod

Updated the hwmod data for usb pm support.
Changes:
- updated the sysc type to type2
- Added the interface and functional clock and removed opt clocks

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agoARM: OMAP: AM33XX: Update the sleep code for DS0
Vaibhav Bedia [Thu, 9 Feb 2012 17:37:26 +0000 (23:07 +0530)]
ARM: OMAP: AM33XX: Update the sleep code for DS0

Add some error handling and update the code to
make use of DeepSleep0 mode.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP: AM33XX: Update the flags in HWMOD
Vaibhav Bedia [Thu, 9 Feb 2012 17:34:02 +0000 (23:04 +0530)]
ARM: OMAP: AM33XX: Update the flags in HWMOD

For the modules which require special handling, update
the flags in the hwmod data. WIth this done, the PM
framework takes care of the special handling for the
modules.

Note: With HWMOD_SWSUP_MSTANDBY set, the module goes
to standby during boot. Unless the driver makes use
of runtime PM APIs the module will stay in standby
which is not desired. For now we disable idling
this modules during the boot. When the drivers start
making use of runtime PM this workaround must be
removed.

All this should eventually make its way into the
appropriate drivers.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoARM: OMAP: AM33XX: Make use of DMTIMER0 for now
Vaibhav Bedia [Thu, 9 Feb 2012 17:31:12 +0000 (23:01 +0530)]
ARM: OMAP: AM33XX: Make use of DMTIMER0 for now

Need to check how to do this reliably

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
12 years agoRevert "arm:omap:gpio - Handle Clocks properly in Suspend/Resume"
Vaibhav Bedia [Thu, 9 Feb 2012 09:33:01 +0000 (15:03 +0530)]
Revert "arm:omap:gpio - Handle Clocks properly in Suspend/Resume"

This reverts commit bbfb01e1cc06c1f041060258ca93b260e0c83c41.

12 years agovideo: da8xx-fb: correct read/write API's used.
Patil, Rachna [Thu, 8 Mar 2012 11:22:28 +0000 (16:52 +0530)]
video: da8xx-fb: correct read/write API's used.

This patch replaces raw read/write with readl/writel.

Signed-off-by: Patil, Rachna <rachna@ti.com>
12 years agoMTD: OMAP2: Add support for low power sleep for NAND
Philip, Avinash [Thu, 16 Feb 2012 07:05:41 +0000 (12:35 +0530)]
MTD: OMAP2: Add support for low power sleep for NAND

Support for NAND low power done by
1. Waiting for ongoing MTD operation to finish before entering low power
mode.
2. Invokes GPMC callbacks to handle GPMC low power transitions.
3. ELM suspend activity waiting for ongoing MTD transfer to finish and
handle ELM low power transition cycle by configuring.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: gpmc: Add low power support
Philip, Avinash [Mon, 27 Feb 2012 06:00:40 +0000 (11:30 +0530)]
ARM: OMAP2+: gpmc: Add low power support

This patch adds Callback functions to support low power transitions by
adding
1. pm_runtime API's to handle GPMC power transitions
2. GPMC save/restore context.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: gpmc: Handle clock by pm_runtime API
Philip, Avinash [Mon, 5 Mar 2012 14:19:36 +0000 (19:49 +0530)]
ARM: OMAP2+: gpmc: Handle clock by pm_runtime API

This patch updates clock API to pm_runtime API for GPMC clock
activity. This will use HWMOD data which is preferred upon regular
clk_[disable/enable].

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: nand: Changing SPL and U-boot partition permission
Philip, Avinash [Fri, 18 Nov 2011 09:18:39 +0000 (14:48 +0530)]
ARM: OMAP2+: nand: Changing SPL and U-boot partition permission

SPL and U-boot partition provided with write permission in order to
update SPL and U-boot from kernel.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoMTD: omap2: 14 byte ECC support for BCH8
Philip, Avinash [Thu, 17 Nov 2011 14:43:56 +0000 (20:13 +0530)]
MTD: omap2: 14 byte ECC support for BCH8

14 bytes of ECC is provided for every 512 byte even though 13 byte is the
actual requirement. This is to synchronize the ECC layout with U-boot.
Extra byte is cleared to 0.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP2+: am335x: Enables BCH8 support for NAND
Philip, Avinash [Tue, 6 Mar 2012 05:55:10 +0000 (11:25 +0530)]
ARM: OMAP2+: am335x: Enables BCH8 support for NAND

Enables BCH8 ECC support on AM335x SOC.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoMTD: omap2: Corrects BCH8 support
Philip, Avinash [Tue, 6 Mar 2012 05:54:39 +0000 (11:24 +0530)]
MTD: omap2: Corrects BCH8 support

This patch
1. Adds separate read path to handle BCH ECC scheme.
2. Adds macros to support BCH8 ECC scheme.
3. Adds ECC correction path for BCH8 ECC scheme.
4. Corrects the ECC layout for BCH8.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: gpmc: Corrects BCH8 support
Philip, Avinash [Tue, 6 Mar 2012 05:54:00 +0000 (11:24 +0530)]
ARM: OMAP2+: gpmc: Corrects BCH8 support

Corrects the GPMC configuration to support BCH8 ECC scheme.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: am335x: Enable ELM feature.
Philip, Avinash [Tue, 6 Mar 2012 05:36:53 +0000 (11:06 +0530)]
ARM: OMAP2+: am335x: Enable ELM feature.

Enable support for ELM on AM335x SOC

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoMTD: OMAP2+: elm: Initialize ELM module when needed
Philip, Avinash [Mon, 20 Feb 2012 12:11:55 +0000 (17:41 +0530)]
MTD: OMAP2+: elm: Initialize ELM module when needed

This patch configures ELM module for BCH8 ECC scheme on platforms where it is
being used.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: elm: Correct ELM device instance
Philip, Avinash [Thu, 16 Feb 2012 09:40:38 +0000 (15:10 +0530)]
ARM: OMAP2+: elm: Correct ELM device instance

This patch
1. Corrects the device id for ELM device to -1 as only one instance of ELM
is present, previously it was 1.
2. Adds error handling for failure cases.
3. Provides __init macros to free the memory once initialization done.
4. Corrects to make use inline function definition to remove unnecessary
calls.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: nand: Flag to support ELM feature on platforms.
Philip, Avinash [Wed, 22 Feb 2012 07:53:03 +0000 (13:23 +0530)]
ARM: OMAP2+: nand: Flag to support ELM feature on platforms.

This patch introduces a platform data flag to selectively enable/disable
ELM feature for NAND. On platforms where ELM support is present, this
flag needs to be set as true.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoMTD: OMAP2: elm: Add ELM module support
Philip, Avinash [Mon, 20 Feb 2012 08:19:43 +0000 (13:49 +0530)]
MTD: OMAP2: elm: Add ELM module support

This patch adds
1. ELM feature support for BCH ECC error correction.
2. Configuration API support for BCH8 ECC scheme.
3. Exports symbols to support module build.

TODO:
Updating to pm_ops
Handling multiple SYNDROME Calculation and page mode support.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoMTD: Fixes Coding style
Philip, Avinash [Wed, 29 Feb 2012 12:50:42 +0000 (18:20 +0530)]
MTD: Fixes Coding style

Fixes coding style Error in Makefile "\ No newline at end of file"

Signed-off-by: Philip, Evania's <avinashphilip@ti.com>
12 years agoARM: OMAP2+: nand: BCH8 support definitions
Philip, Avinash [Tue, 6 Mar 2012 05:28:30 +0000 (10:58 +0530)]
ARM: OMAP2+: nand: BCH8 support definitions

This patch adds
1. Enum variable for BCH type
2. Macro definitions to support BCH8 ECC scheme
3. Function declarations.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: nand: Updated JFFS2 clean marker offset.
Philip, Avinash [Mon, 17 Oct 2011 06:21:25 +0000 (11:51 +0530)]
ARM: OMAP2+: nand: Updated JFFS2 clean marker offset.

JFFS2 clean marker offset used by Linux in case of 8-bit NAND device was
0x1 omap2 NAND driver. But 1st 2 bytes is used to indicate bad blocks by
manufacturers. So offset for JFFS2 clean markers is fixed to 0x2 in
omap2 NAND driver irrespective of 8/16 bit device.

Introduced new macro : JFFS2_CLEAN_MARKER_OFFSET to indicate 0x2 offset
for JFFS2 clean marker.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP2+: nand: Synching HAMMING ECC layout with that of U-boot.
Vaibhav Hiremath [Sat, 26 Nov 2011 20:22:47 +0000 (01:52 +0530)]
ARM: OMAP2+: nand: Synching HAMMING ECC layout with that of U-boot.

For OOb_64, offset is fixed to 40 for kernel/fs, by changing
kernel code to calculate hw_ecc layout considering these:
1) 12 bytes in case of 512 byte access and 24 bytes in case of 256 byte
access in OOB_64 can be supported.
2) Ecc bytes lie to the end of OOB area.
Introducing a new macro : MAX_HWECC_BYTES_OOB_64 which is the maximum
number of eccbytes supported for OOB_64n Hamming ECC mode.

Signed-off-by: Hrishikesh Bhandiwad <hrishikesh.b@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP2+: nand: Support for BCH
Philip, Avinash [Tue, 6 Mar 2012 04:57:03 +0000 (10:27 +0530)]
ARM: OMAP2+: nand: Support for BCH

Patch is derived from "omap3: nand: bch ecc support added"
available at:
http://arago-project.org/git/projects/?p=linux-omap3.git;a=commit;
f=arch/arm/mach-omap2/gpmc.c;hb=79f5ddc6

This patch has the following modification
1. Removes the BCH4 support as it is not tested.
2. Configures GPMC for BCH ECC support.
3. Adds BCH ECC layout definitions.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: am335x: Selects HAMMING ECC scheme.
Philip, Avinash [Tue, 6 Mar 2012 04:36:26 +0000 (10:06 +0530)]
ARM: OMAP2+: am335x: Selects HAMMING ECC scheme.

Selects ECC scheme to Hamming code for NAND.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: am335x: GPMC device registration
Philip, Avinash [Tue, 6 Mar 2012 04:06:27 +0000 (09:36 +0530)]
ARM: OMAP2+: am335x: GPMC device registration

Registers GPMC device using HWMOD API. Also provides the platform data
for the devices connected on GPMC controller, in this case NAND flash
device.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: hwmod: Corrects GPMC HWMOD data
Philip, Avinash [Thu, 23 Feb 2012 11:06:56 +0000 (16:36 +0530)]
ARM: OMAP2+: hwmod: Corrects GPMC HWMOD data

Corrects the GPMC HWMOD data for idle mode usage.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: gpmc: Adapt to HWMOD
Afzal Mohammed [Fri, 2 Mar 2012 06:07:33 +0000 (11:37 +0530)]
ARM: OMAP2+: gpmc: Adapt to HWMOD

Create API for platforms to adapt gpmc to HWMOD

Signed-off-by: Afzal Mohammed <afzal@ti.com>
12 years agoARM: OMAP2+: gpmc: nand support
Afzal Mohammed [Mon, 27 Feb 2012 13:52:54 +0000 (19:22 +0530)]
ARM: OMAP2+: gpmc: nand support

gpmc driver probe will check the capability of the
devices passed via platform data. Upon finding nand
device, gpmc nand initialization would be done. The
initialization function will internally create
platform device for nand.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
12 years agoARM: OMAP2+: gpmc: initial driver support
Afzal Mohammed [Mon, 27 Feb 2012 13:52:54 +0000 (19:22 +0530)]
ARM: OMAP2+: gpmc: initial driver support

Migrate gpmc code to driver. Initially driver probe
has to initialize device connected to gpmc using
their respective initialization function (based on
the flag passed by platform data). At this stage
platform devices will be created by respective
device initialization function itself.

Later creating platfrom devices would be separated
from device initialization. Once this is done,
driver would be moved to mfd. Then in mfd probe
only device specific initialization would be done,
and would let mfd infrastruture to create platform
devices for the gpmc connected peripherals.

TODO:
1. Is BUG() required to be called on clk_get failure
2. Try not to limit GPMC use cases
3. Revisit GPMC driver conversion patch sequence

Signed-off-by: Afzal Mohammed <afzal@ti.com>
12 years agoARM: OMAP2+: nand: Unify initialization functions
Afzal Mohammed [Wed, 29 Feb 2012 12:41:56 +0000 (18:11 +0530)]
ARM: OMAP2+: nand: Unify initialization functions

Unify the two existing nand initialization functions

This makes gpmc migration to driver easier

From now on, platforms has to call omap_nand_init
to initialize platform nand structures, it's fields.
They have the liberty of directly updating platform
specific nand data also instead of calling it.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
12 years agoARM: OMAP2+: nand: board_nand_init timing arguement
Afzal Mohammed [Wed, 29 Feb 2012 12:41:56 +0000 (18:11 +0530)]
ARM: OMAP2+: nand: board_nand_init timing arguement

Modify board_nand_init to take additional arguement,
timings for gpmc. Also rename the function to
omap_nand_init & let it return pointer to structure
of omap_nand_platform_data.

A prerequisite for combining different board nand
initialization functions.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoARM: OMAP2+: nand: Acquire CS in gpmc_nand_init
Afzal Mohammed [Wed, 29 Feb 2012 12:41:56 +0000 (18:11 +0530)]
ARM: OMAP2+: nand: Acquire CS in gpmc_nand_init

Prerequisite to merging different board nand functions to one

Signed-off-by: Afzal Mohammed <afzal@ti.com>
12 years agoARM: OMAP2+: am335x: Removes NAND device registration
Philip, Avinash [Tue, 6 Mar 2012 03:59:05 +0000 (09:29 +0530)]
ARM: OMAP2+: am335x: Removes NAND device registration

Removes NAND device registration to make the way for new NAND device
registration API.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
12 years agoRevert "arm:omap:am335x - Selects HAMMING ECC scheme."
Philip, Avinash [Tue, 6 Mar 2012 03:57:26 +0000 (09:27 +0530)]
Revert "arm:omap:am335x - Selects HAMMING ECC scheme."

This reverts commit 1abf3aa04758ab4b061f7731392f51974c327558.

12 years agoRevert "arm:omap:nand - BCH ecc support added"
Philip, Avinash [Tue, 6 Mar 2012 03:57:09 +0000 (09:27 +0530)]
Revert "arm:omap:nand - BCH ecc support added"

This reverts commit 48a09a90588b40f671447d0e8e782fc01ff7d51c.

12 years agoRevert "arm:omap:nand - Synching HAMMING ECC layout with that of U-boot."
Philip, Avinash [Tue, 6 Mar 2012 03:56:51 +0000 (09:26 +0530)]
Revert "arm:omap:nand - Synching HAMMING ECC layout with that of U-boot."

This reverts commit b60fadc071d76154972513623cf7e784a3af1d00.

12 years agoRevert "arm:omap:nand - Updated JFFS2 clean marker offset."
Philip, Avinash [Tue, 6 Mar 2012 03:56:36 +0000 (09:26 +0530)]
Revert "arm:omap:nand - Updated JFFS2 clean marker offset."

This reverts commit e536110d5dd555a2f67131a16a111505da8280e6.

12 years agoRevert "arm:omap:nand - Fix for NAND module build support"
Philip, Avinash [Tue, 6 Mar 2012 03:56:23 +0000 (09:26 +0530)]
Revert "arm:omap:nand - Fix for NAND module build support"

This reverts commit c2e6066cd2a4b5a584541c2ae16bda779d536e4b.

12 years agoRevert "arch:arm:nand - ELM Module is added"
Philip, Avinash [Tue, 6 Mar 2012 03:55:15 +0000 (09:25 +0530)]
Revert "arch:arm:nand - ELM Module is added"

This reverts commit 9b5f5456fd3b1c2b858e429e5a10fdf01abfabf3.

12 years agoRevert "arm:omap:nand - Enable BCH8 support"
Philip, Avinash [Tue, 6 Mar 2012 03:54:56 +0000 (09:24 +0530)]
Revert "arm:omap:nand - Enable BCH8 support"

This reverts commit f6c154410ab3b0169e92274b9e983091997986ff.

12 years agoRevert "arch:arm:nand - 14 byte ECC support for BCH8"
Philip, Avinash [Tue, 6 Mar 2012 03:54:39 +0000 (09:24 +0530)]
Revert "arch:arm:nand - 14 byte ECC support for BCH8"

This reverts commit 5a03f252fe0052cc5515ab1ba722c21c6f070ac3.

12 years agoRevert "arch:arm:nand - Changing SPL and U-boot partition permission"
Philip, Avinash [Tue, 6 Mar 2012 03:54:24 +0000 (09:24 +0530)]
Revert "arch:arm:nand - Changing SPL and U-boot partition permission"

This reverts commit c5fa750b5c0de616f38719e5c8f8272768a0bff5.

12 years agoRevert "arm:omap:nand - Add support for suspend/resume"
Philip, Avinash [Tue, 6 Mar 2012 03:54:12 +0000 (09:24 +0530)]
Revert "arm:omap:nand - Add support for suspend/resume"

This reverts commit 38f1ae3d786e532574ec3a21e243a72afb54458a.

12 years agoRevert "arm:omap:am33xx - GPMC timings"
Philip, Avinash [Tue, 6 Mar 2012 03:53:57 +0000 (09:23 +0530)]
Revert "arm:omap:am33xx - GPMC timings"

This reverts commit 9c1c234986af93c8478bfcbde64ee61250b9c322.

12 years agoI2C: OMAP: correct SYSC register offset for OMAP4
Alexander Aring [Thu, 8 Dec 2011 14:43:53 +0000 (15:43 +0100)]
I2C: OMAP: correct SYSC register offset for OMAP4

Correct OMAP_I2C_SYSC_REG offset in omap4 register map.
Offset 0x20 is reserved and OMAP_I2C_SYSC_REG has 0x10 as offset.

Signed-off-by: Alexander Aring <a.aring@phytec.de>
[khilman@ti.com: minor changelog edits]
Cc: stable@vger.kernel.org
Signed-off-by: Kevin Hilman <khilman@ti.com>
12 years agoARM: OMAP: AM33XX: CAN: d_can: Add suspend resume support
AnilKumar Ch [Tue, 6 Mar 2012 15:08:00 +0000 (20:38 +0530)]
ARM: OMAP: AM33XX: CAN: d_can: Add suspend resume support

This patch adds suspend resume support to DCAN module. Adds
one flag for knowing the status of DCAN module, whether it
is opened or not.

TODO: Make dcan driver as single file instead of multiple

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agoARM: OMAP: AM33XX: CAN: d_can: fix DCAN raminit issue
AnilKumar Ch [Tue, 6 Mar 2012 13:54:35 +0000 (19:24 +0530)]
ARM: OMAP: AM33XX: CAN: d_can: fix DCAN raminit issue

This patch fixes the DCAN raminit problem

Details:
DCAN RAM initialization is not complete and clock disable
is not working as expected after doing the d_can_open().

Before this patch, implementation is like doing DCAN RAM init
first and then enabling the clocks. This was done this way
because RAM init bits are from the control module register.

Workaround:
DCAN clocks should be enable first and then DCAN ram
initialization

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agoARM: OMAP: AM33XX: CAN: d_can: Add pm runtime support
AnilKumar Ch [Tue, 6 Mar 2012 13:51:08 +0000 (19:21 +0530)]
ARM: OMAP: AM33XX: CAN: d_can: Add pm runtime support

This patch adds the pm_runtime support to DCAN driver by
replacing clock APIs with pm_runtime APIs.

This patch also cleans up the driver by removing the un-wanted
platform data/parameters

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agoARM: OMAP: AM33XX: CAN: d_can: Platform data clean-up
AnilKumar Ch [Tue, 6 Mar 2012 07:36:59 +0000 (13:06 +0530)]
ARM: OMAP: AM33XX: CAN: d_can: Platform data clean-up

This patch cleans up the d_can driver platform specific initilization
data after adding the am33xx hwmod data. Modifies the d_can clock table
entries, modified data includes dev_id and con_id

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agoARM: OMAP: AM33XX: CAN: d_can: Add hwmod data for am33xx device
AnilKumar Ch [Tue, 6 Mar 2012 07:32:19 +0000 (13:02 +0530)]
ARM: OMAP: AM33XX: CAN: d_can: Add hwmod data for am33xx device

This patch adds the hwmod data needed by the driver. By adding
DCAN base addresses, interrupt numbers for two d_can instances.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agoARM: OMAP2+: I2C: hwmod: set flag to restore context
Hebbar, Gururaja [Tue, 6 Mar 2012 18:11:17 +0000 (23:41 +0530)]
ARM: OMAP2+: I2C: hwmod: set flag to restore context

Restore of i2c context is not done for am335x due to missing flag. This
patch adds the OMAP_I2C_FLAG_RESET_REGS_POSTIDLE in the am335x
hwmod data which activates the restore.
This also solves the problem shown below of i2c instances not resuming
correctly from suspend. (especially those not in wakeup domain)

[   42.610146] omap_i2c omap_i2c.2: XRDY IRQ while no data to send
[   43.611192] omap_i2c omap_i2c.2: controller timed out

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agoARM: OMAP2+: HSMMC: fix the platform setup for am335x
Hebbar, Gururaja [Fri, 2 Mar 2012 08:25:47 +0000 (13:55 +0530)]
ARM: OMAP2+: HSMMC: fix the platform setup for am335x

AM335x don't have the register CONTROL_PBIAS_LITE, so we set a
noop "set_power" function for it. This was already been done
for MMC0 instance. This patch applies this to instance 1 as well.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agousb: musb: pm: turn on/off timers during suspend/resume
Ajay Kumar Gupta [Tue, 6 Mar 2012 13:59:52 +0000 (19:29 +0530)]
usb: musb: pm: turn on/off timers during suspend/resume

There are two timers per usb port and they need to be disabled (if active)
before suspend and reenabled after resume.

12 years agousb: musb: cppi41dma: use transparent mode for g_mass_stoarge
Ajay Kumar Gupta [Tue, 6 Mar 2012 07:51:48 +0000 (13:21 +0530)]
usb: musb: cppi41dma: use transparent mode for g_mass_stoarge

USB MSC as a device need to use transparent mode of CPPI4.1 DMA
and the same was getting done for g_file_storage. Updated it
for g_mass_storage also.

Merge to:
commit e141f0a5ab310a5d5ec9a937070577c7e5b0f4a7
musb:cppi41: use GRNDIS mode for rx-dma except file-storage gadget

12 years agoARM: OMAP3+: am33xx_clkdomain: Remove usb clkdomain entry
Vaibhav Hiremath [Mon, 5 Mar 2012 14:52:47 +0000 (20:22 +0530)]
ARM: OMAP3+: am33xx_clkdomain: Remove usb clkdomain entry

The USB peripheral doesn't have any seperate clock domain of its
own, so remove it.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3+: am33xx_hwmod: Correct the usb clkdm_name
Vaibhav Hiremath [Mon, 5 Mar 2012 14:27:26 +0000 (19:57 +0530)]
ARM: OMAP3+: am33xx_hwmod: Correct the usb clkdm_name

Correct the usb clock domain name to "l3s_clkdm".

The USB peripheral doesn't have any seperate clock domain of its
own, it falls under "l3s_clkdm".

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb: musb: ti81xx: save and restore DMA registers
Ajay Kumar Gupta [Mon, 27 Feb 2012 11:26:24 +0000 (16:56 +0530)]
usb: musb: ti81xx: save and restore DMA registers

CPPI4.1 DMA register save and restore is added in common core file
cppi41.c so that same can be used by other platforms.

Restore functions writes to scheduler control register at end after
initializing the scheduler table.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agousb: musb: ti81xx: add support for save and restore
Ajay Kumar Gupta [Thu, 23 Feb 2012 08:00:30 +0000 (13:30 +0530)]
usb: musb: ti81xx: add support for save and restore

Added register context save and restore to support usb pm.
TODO:
- Add save and restore for cppi dma registers

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agousb: musb: replace __raw_read/writel by readl/write
Ajay Kumar Gupta [Fri, 2 Mar 2012 08:58:51 +0000 (14:28 +0530)]
usb: musb: replace __raw_read/writel by readl/write

Using readl and writel so that data is written to memory even on
a weakly ordered memory model of arm-v7 based platforms.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agousb: musb: host: release dma channels if no active io
Ajay Kumar Gupta [Fri, 2 Mar 2012 11:02:19 +0000 (16:32 +0530)]
usb: musb: host: release dma channels if no active io

Currently DMA channels are allocated and they remain allocated
even if there is no active data transfer. Added channel_release()
whenever there is no pending request.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agousb: musb: ti81xx: use runtime pm API for clock
Ajay Kumar Gupta [Mon, 27 Feb 2012 09:55:41 +0000 (15:25 +0530)]
usb: musb: ti81xx: use runtime pm API for clock

Also has cleanup for pm support

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agoARM: OMAP: AM33XX: Cleanup usb hwmod
Ajay Kumar Gupta [Mon, 27 Feb 2012 09:42:34 +0000 (15:12 +0530)]
ARM: OMAP: AM33XX: Cleanup usb hwmod

Updated the hwmod data for usb pm support.
Changes:
- updated the sysc type to type2
- Added the interface and functional clock and removed opt clocks

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agoARM: OMAP: AM335X evm: remove default initialization
Maupin, Chase [Mon, 5 Mar 2012 19:55:22 +0000 (01:25 +0530)]
ARM: OMAP: AM335X evm: remove default initialization

* Remove the code that assumes a default board during the
  seutp call.  Instead give a more descriptive error message and
  then call machine_halt to halt the boot.
* This is to prevent trying to configure and boot unknown
  hardware configurations, and instead guide users to the area
  of the kernel they will need to modify.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
12 years agoARM: OMAP2+: edma: use runtime PM
Hebbar, Gururaja [Thu, 23 Feb 2012 10:56:28 +0000 (16:26 +0530)]
ARM: OMAP2+: edma: use runtime PM

Convert the OMAP edma driver to use runtime PM. This will use HWMOD data
which is preferred upon regular clk_[disable/enable]

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agoARM: OMAP2+: edma: use omap_device api for registration
Hebbar, Gururaja [Fri, 24 Feb 2012 12:25:00 +0000 (17:55 +0530)]
ARM: OMAP2+: edma: use omap_device api for registration

Convert the old-style device registration code for edma to use
omap_device.  This will allow the driver to be converted to use PM
runtime and to take advantage of the OMAP IP block management
infrastructure (hwmod, PM, etc.).

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agoARM: OMAP2+: edma: add support for suspend/resume
Hebbar, Gururaja [Thu, 9 Feb 2012 13:18:40 +0000 (18:48 +0530)]
ARM: OMAP2+: edma: add support for suspend/resume

This patch adds suspend/resume support along with context save and
restore to edma module. All registers updated during probe, channel,
event allocation, param-set, interrupts are saved and restored.

This patch is tested on AM335x Beagle bone HS-MMC module.

TODO:
Currently all register are backed up and restored irrespective whether
there was any change from the values that was programmed or not.
This is likely to negatively impact the overall suspend/resume time.

Param-set saving can be optimized by looking at the actual usage. A
caching mechanism can be implemented and values can be cached when they
are changed. This way noting needs to be saved & restore is just a copy
from the cache.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agoARM: OMAP2+: edma: move edma clock setup to edma driver
Hebbar, Gururaja [Thu, 9 Feb 2012 12:55:08 +0000 (18:25 +0530)]
ARM: OMAP2+: edma: move edma clock setup to edma driver

Let edma driver handle clock setup. Earlier this was handled during
edma device registration

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agoARM: OMAP2+: edma: correct edma HWMOD data
Hebbar, Gururaja [Fri, 10 Feb 2012 13:46:48 +0000 (19:16 +0530)]
ARM: OMAP2+: edma: correct edma HWMOD data

This patch
1. adds edma base address defines to hwmod file. Tomorrow when DT is
introduced, this file can be removed completely
2. groups edma related declarations together. Also, updates hwmod data
for tpcc/tptc instances.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agovideo: da8xx-fb: save and restore LCDC context on power management
Manjunathappa, Prakash [Mon, 20 Feb 2012 13:27:05 +0000 (18:57 +0530)]
video: da8xx-fb: save and restore LCDC context on power management

Save and restore register context of LCDC before suspend and after resume.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
12 years agovideo: da8xx-fb: rely on pm_runtime API for clock operations
Manjunathappa, Prakash [Mon, 20 Feb 2012 10:42:36 +0000 (16:12 +0530)]
video: da8xx-fb: rely on pm_runtime API for clock operations

Replace clk_enable/clk_disable by pm_runtime_get_sync/pm_runtime_put_sync
to enable and disable interface and functional clocks.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
12 years agoARM: OMAP2+: am33xx: Register LCD device via HWMOD data
Manjunathappa, Prakash [Thu, 16 Feb 2012 16:07:54 +0000 (21:37 +0530)]
ARM: OMAP2+: am33xx: Register LCD device via HWMOD data

Make necessary changes to register LCDC device via HWMOD data.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
12 years agoARM: OMAP3: am33xx_hwmod: Do not idle/reset debugss module
Vaibhav Hiremath [Fri, 24 Feb 2012 11:41:25 +0000 (17:11 +0530)]
ARM: OMAP3: am33xx_hwmod: Do not idle/reset debugss module

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP2+: control: Add missing defination for AM33XX_CTRL_REGADDR
Vaibhav Hiremath [Fri, 24 Feb 2012 11:24:47 +0000 (16:54 +0530)]
ARM: OMAP2+: control: Add missing defination for AM33XX_CTRL_REGADDR

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3: am33xx_hwmod: Merge upstream changes
Vaibhav Hiremath [Fri, 24 Feb 2012 11:22:38 +0000 (16:52 +0530)]
ARM: OMAP3: am33xx_hwmod: Merge upstream changes

Based on community feedback/developement,
      - Hardcode baseaddr and irq nos.
      - Some cleanup, arrangement of code, etc...

12 years agoARM: OMAP2+: Makefile: Remove build rule for deleted files
Vaibhav Hiremath [Fri, 24 Feb 2012 11:19:25 +0000 (16:49 +0530)]
ARM: OMAP2+: Makefile: Remove build rule for deleted files

Remove the references (or build rule) for the deleted source
files, prminst, cminst, etc...

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3: cminstam33xx: Merge upstream changes
Vaibhav Hiremath [Fri, 24 Feb 2012 11:16:07 +0000 (16:46 +0530)]
ARM: OMAP3: cminstam33xx: Merge upstream changes

Based on community feedback/developement,
      - New clock tree data, exact replica of HW clock tree.
        Used exactly naming conventions as per HW clock tree.
      - Consolidate AM33xx and OMAP4 cminst code
      - Remove cminst33xx.c & cm33xx.c files
      - Define seperate clkdm_ops for am33xx

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3: prmam33xx: Merge upstream changes
Vaibhav Hiremath [Fri, 24 Feb 2012 11:10:11 +0000 (16:40 +0530)]
ARM: OMAP3: prmam33xx: Merge upstream changes

Based on community feedback/developement,
      - Consolidate AM33xx and OMAP4 prminst code
      - Remove prminst33xx.c & powerdomain33xx.c

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP3: voltagedomainsam33xx_data: Remove unnecessary code
Vaibhav Hiremath [Fri, 24 Feb 2012 10:31:10 +0000 (16:01 +0530)]
ARM: OMAP3: voltagedomainsam33xx_data: Remove unnecessary code

Based on community feedback, removed ".scalable = false"
initialization code from voltagedomain data.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: OMAP: am33xx: Hook-up am33xx support to existing cm code
Vaibhav Hiremath [Tue, 14 Feb 2012 12:20:33 +0000 (17:50 +0530)]
ARM: OMAP: am33xx: Hook-up am33xx support to existing cm code

Reuse existing omap4 cminst code for am33xx device,
add separate cm base table for am33xx device and initialize
it during __init for future use.

Also, since cpu_is_omap34xx() check is true for am33xx family of
devices, we must change the order of cpu_is_xxxx check, so first
check for cpu_is_am33xx() to follow right execution path.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
CC: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>
12 years agoARM: OMAP4: cminst: Add boot time __init function for cminst
Vaibhav Hiremath [Tue, 14 Feb 2012 12:13:12 +0000 (17:43 +0530)]
ARM: OMAP4: cminst: Add boot time __init function for cminst

AM33xx CM module is closer to OMAP4 CM module, and
in order to reuse cminst api's we have to address
some of the differences like, base addresses and partitions.
Unlike OMAP4 CM, AM33xx doesn't have any partitions and
maintains only single partition.

So, in order to reuse the existing OMAP4 cminst code
for AM33xx this patch adds,

  - Boot time __init function, to initialize _cm_bases
    based on cpu_is_xxx
  - Instead of maintaining phy addr for CM partition
    in _cm_bases[] table and then changing it to virt addr,
    directly maintain respective virt addr.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
CC: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
12 years agoARM: OMAP: am33xx: Hook-up am33xx support to existing prm code
Vaibhav Hiremath [Sun, 8 Jan 2012 09:41:12 +0000 (15:11 +0530)]
ARM: OMAP: am33xx: Hook-up am33xx support to existing prm code

Reuse existing omap4 prminst code for am33xx device,
add separate prm base table for am33xx device and initialize
it during __init for future use.

Also, since cpu_is_omap34xx() check is true for am33xx family of
devices, we must change the order of cpu_is_xxxx check, so first
check for cpu_is_am33xx() to follow right execution path.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
CC: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Benoit Cousson <b-cousson@ti.com>