]> 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 agocan: d_can: Add platform data for am33xx device
AnilKumar Ch [Sat, 26 Nov 2011 20:41:48 +0000 (02:11 +0530)]
can: d_can: Add platform data for am33xx device

This patch adds the platform data needed by the driver. Add the
resources to the difference d_can instances.

Initialization of message ram is necessary to read/write the
message object from/into the message RAM

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agocan: d_can: Add support for Bosch D_CAN controller
AnilKumar Ch [Sun, 6 Nov 2011 08:26:35 +0000 (13:56 +0530)]
can: d_can: Add support for Bosch D_CAN controller

Bosch D_CAN controller is a full-CAN implementation which is compliant
to CAN protocol version 2.0 part A and B. Bosch D_CAN user manual can be
obtained from:

http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/can/
d_can_users_manual_111.pdf

This patch adds the support for D_CAN controller.
The following are the design choices made while writing the controller
driver:
1. Interface Register set IF1 has be used for transmit and IF2 is used for
   receive message objects.
2. Out of the total Message objects available, half of it are kept aside for
   RX purposes and the rest for TX purposes.
3. NAPI implementation is such that both the TX and RX paths functions
   in polling mode.

This patch adds the dcan driver support to am335x chip. This patch also adds
the can loopback mode from canutils.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
12 years agoarm:omap:cpsw: Enable/Disable gig support for different evm rev
Chandan Nath [Fri, 11 Nov 2011 11:59:07 +0000 (17:29 +0530)]
arm:omap:cpsw: Enable/Disable gig support for different evm rev

This patch is added to enable cpsw gigabit mode support for beta
evm and disable gigabit support for alpha EVMs. Please note that
phy_register_fixup_for_uid() function cannot be used to configure
phydev->supported as it is not register configuration and that needs
to be configured after phy->connect.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Reverting gigabit disabling support
Chandan Nath [Fri, 11 Nov 2011 10:42:48 +0000 (16:12 +0530)]
arm:omap:am33xx: Reverting gigabit disabling support

This patch is added to revert back gigabit disable changes.
Due to hw issue gigabit support was disabled in alpha revision
and now this will be handled with respect to evm revision which
will be pushed after this patch.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap3:am33xx: HACK for bypassing RTC hwmod
Vaibhav Bedia [Mon, 10 Oct 2011 20:10:12 +0000 (01:40 +0530)]
arm:omap3:am33xx: HACK for bypassing RTC hwmod

Temp patch to avoid rtc clock getting reset
Needs to be investigated

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb: musb_core: kill all global and static variables
Ajay Kumar Gupta [Wed, 2 Nov 2011 05:45:40 +0000 (11:15 +0530)]
usb: musb_core: kill all global and static variables

This needed for dual instances support.
Changes include:
- Move fifo_mode, orig_dma_mask, otg_timer, first to musb struct
- Killed option for use_dma

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM: plat-omap: Fix warnings
Afzal Mohammed [Fri, 28 Oct 2011 07:10:07 +0000 (12:40 +0530)]
ARM: plat-omap: Fix warnings

Fix,

arch/arm/plat-omap/sram.c: In function 'omap3_sram_restore_context':
arch/arm/plat-omap/sram.c:330:3: warning: initialization makes pointer from integer without a cast
arch/arm/mach-omap2/pm34xx.c: In function 'omap_push_sram_idle':
arch/arm/mach-omap2/pm34xx.c:848:22: warning: initialization makes pointer from integer without a cast
arch/arm/mach-omap2/pm34xx.c:851:28: warning: initialization makes pointer from integer without a cast

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: ti81xx: kill global and static variable for multi instance
Ajay Kumar Gupta [Mon, 24 Oct 2011 11:25:29 +0000 (16:55 +0530)]
musb: ti81xx: kill global and static variable for multi instance

Moved global variable "otg_workaround" and static variable "last_timer"
to "struct musb".

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agorcu: avoid build error for third-party modules
Paul E. McKenney [Mon, 24 Oct 2011 11:32:57 +0000 (17:02 +0530)]
rcu: avoid build error for third-party modules

The initial definition of __kfree_rcu() checked a static inline function
argument to see if it was a compile-time constant.  Apparently not all
compilers are willing to put up with this at all optimization levels.
Add a nasty comment and remove the warning, relying on the fact that
__kfree_rcu() is called only from kfree_rcu(), which always passes in
a compile-time constant.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb: defconfig: add back VIDEO support
Ajay Kumar Gupta [Fri, 21 Oct 2011 08:48:25 +0000 (14:18 +0530)]
usb: defconfig: add back VIDEO support

Also enabled missing CONFIG_OTG and CONFIG_USB_SUSPEND.
Also added the changes required for new config look in v3.2

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
12 years agousb: ether_gadget: fix insmod panic after fsg rmmod
Ajay Kumar Gupta [Fri, 21 Oct 2011 05:02:12 +0000 (10:32 +0530)]
usb: ether_gadget: fix insmod panic after fsg rmmod

Fixes kernel panic seen during g_ether.ko module insertion performed
after the FSG gadget rmmod.

Ether gadget doesn't reset the usb_ep(s) during initialization and
so was getting the previous gadget's usb_ep->desc data.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am335x: Corrects cpsw sa_lo and sa_hi offset
Chandan Nath [Fri, 21 Oct 2011 09:42:06 +0000 (15:12 +0530)]
arm:omap:am335x: Corrects cpsw sa_lo and sa_hi offset

This patch is added to correct register offset of cpgmac
sl1 source low register address and cpgmac sl2 source high
register address. The register offset were 0x21c, 0x220 and
0x31c, 0x320. Instead they are corrected as 0x220, 0x224 and
0x320, 0x324. This is corrected by adding missing P1_TS_SEQ_MTYPE
register in cpsw_slave_reg structure.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am335x: CPSW autonegotiates to 10 mbps for beaglebone
Chandan Nath [Wed, 19 Oct 2011 09:51:43 +0000 (15:21 +0530)]
arm:omap:am335x: CPSW autonegotiates to 10 mbps for beaglebone

This patch is added as an workaround for cpsw in case of beaglebone
board to autonegotiates to 10 mbps speed even if it is connected to
100 mbps link. The reason for this is to overcome hardware issue of
100 mbps speed. However, CPSW works fine for both 10 and 100 mbps
speed in case of am335x evm.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: TLK110 PHY support
Vaibhav Hiremath [Sat, 26 Nov 2011 20:12:56 +0000 (01:42 +0530)]
arm:omap:am33xx: TLK110 PHY support

This patch adds support for TLK110 PHY. This include some
additional phy register configuration for 1.0 phy version.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am335x: Enable JTAG clock by default
Vaibhav Bedia [Thu, 13 Oct 2011 17:28:43 +0000 (22:58 +0530)]
arm:omap:am335x: Enable JTAG clock by default

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:debug: Add a config option for enabling JTAG clock
Vaibhav Bedia [Thu, 13 Oct 2011 16:54:16 +0000 (22:24 +0530)]
arm:debug: Add a config option for enabling JTAG clock

In a power aware system all unused clocks should be disabled.
However we might want to enable the JTAG clock alone for debugger
connectivity if such an option exists.

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:host: removing warning message while unable to flush txfifo
Ravi B [Wed, 12 Oct 2011 11:11:10 +0000 (16:41 +0530)]
musb:host: removing warning message while unable to flush txfifo

changing the warning statement to debug when the tx fifo
was unable to flush.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:gadget: use pio mode for zero byte transfer in gadget mode
Ravi B [Wed, 12 Oct 2011 05:59:23 +0000 (11:29 +0530)]
musb:gadget: use pio mode for zero byte transfer in gadget mode

The cppi41 txdma is unable to transfer zero byte length, this
workaround uses pio mode to transfer zero byte length.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoEnable bit15 in the maccontrol register for 100Mbps.
Steve Kipisz [Thu, 6 Oct 2011 20:57:45 +0000 (15:57 -0500)]
Enable bit15 in the maccontrol register for 100Mbps.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Add eeprom board detection logic for beaglebone
Steve Kipisz [Thu, 13 Oct 2011 11:25:50 +0000 (16:55 +0530)]
arm:omap:am33xx: Add eeprom board detection logic for beaglebone

In case of wrong EEPROM ID, or if device fails to read/detect the
board fall back to BeagleBone board.

Also, add support for BeagleBone version detection and support for
old boards.

Difference in BeagleBone variants.

* Have different dev_cfg structures and setup functions for new, old
  beaglebone boards setup pin mux accordingly

* Fall back to older Bone boards if EEPROM reads are incorrect or empty

* Read version field of EEPROM config to call correct setup_beaglebone
  function according to board version

Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: IA EVM low level debug
Afzal Mohammed [Thu, 13 Oct 2011 05:33:46 +0000 (11:03 +0530)]
arm:omap:am33xx: IA EVM low level debug

Low level debug support for IA EVM, it uses UART3
(numbering as per TRM). This is referred as UART4
by software, software UART numbering starts from 1.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Update the pinmux table for IA EVM
Vaibhav Bedia [Mon, 14 Nov 2011 13:41:17 +0000 (19:11 +0530)]
arm:omap:am33xx: Update the pinmux table for IA EVM

Add second I2C instance and MMC/SD to the device list

Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Add support for UART3 on IA EVM
Hebbar, Gururaja [Wed, 17 Aug 2011 15:24:10 +0000 (20:54 +0530)]
arm:omap:am33xx: Add support for UART3 on IA EVM

IA EVM has UART3 as console. provide support for the same

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Enable IA EVM build
Afzal Mohammed [Wed, 17 Aug 2011 05:47:48 +0000 (11:17 +0530)]
arm:omap:am33xx: Enable IA EVM build

Enable IA EVM build in am335x_evm_defconfig

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Board support for AM335X IA EVM
Afzal Mohammed [Wed, 17 Aug 2011 05:47:48 +0000 (11:17 +0530)]
arm:omap:am33xx: Board support for AM335X IA EVM

UART3 is used as boot console for IA EVM.
To capture decompressor logs & early prints,
a different mach-id is required and so a new
board support. It has machine specific entry
points same as that of AM335XEVM.

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoAM335XIAEVM: Update mach-id
Afzal Mohammed [Wed, 17 Aug 2011 05:02:54 +0000 (10:32 +0530)]
AM335XIAEVM: Update mach-id

Use machine-id for IA board registered at
http://www.arm.linux.org.uk/developer/machines/

Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agowl12xx: allow selecting platform data independently
Eyal Reizer [Mon, 10 Oct 2011 09:44:15 +0000 (11:44 +0200)]
wl12xx: allow selecting platform data independently

Needed when working with a compat-wireless package:

* allow selecting WL12XX_PLATFORM_DATA independently
* Selects WIRELESS_EXT needed for working with tools like iwconfig
  and can't just be selected using the deconfig file

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomux335x: pin muxing additions for wlan and bluetooth
Eyal Reizer [Mon, 10 Oct 2011 09:42:47 +0000 (11:42 +0200)]
mux335x: pin muxing additions for wlan and bluetooth

* Pin muxing for wlan and blutooth enable pins
* Pin muxing for the wlan interrupt line
* Fix muxing mistake for gpmc_ben1 pin

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: add platform support for wlan and bluetooth
Eyal Reizer [Mon, 10 Oct 2011 09:42:08 +0000 (11:42 +0200)]
arm:omap:am33xx: add platform support for wlan and bluetooth

* Add pin muxing for wlan and bluetooth
* Initialize mmc2 for working with the wl12xx COM module
* Enable wlan and bluetooth

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoam335x-evm: add deconfig switches needed for wlan and bt
Eyal Reizer [Mon, 10 Oct 2011 09:39:14 +0000 (11:39 +0200)]
am335x-evm: add deconfig switches needed for wlan and bt

* Activated switches needed in the kernel for working with nlcp wlan in
  both softap mode and station mode. the mac80211 switches are not
  activated as we are using a compat-wireless package which is compiled
  with this kernel
* Activates kernel switches needed for using bluetooth

Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM:omap3:am335x evm: Update defconfig for RTC driver
Vaibhav Bedia [Mon, 10 Oct 2011 15:14:33 +0000 (20:44 +0530)]
ARM:omap3:am335x evm: Update defconfig for RTC driver

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM:omap3:am335x evm: Add support for RTC
Vaibhav Bedia [Mon, 10 Oct 2011 15:10:49 +0000 (20:40 +0530)]
ARM:omap3:am335x evm: Add support for RTC

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am335x: CPSW autonegotiates to 10/100 mbps
Chandan Nath [Wed, 5 Oct 2011 10:13:54 +0000 (15:43 +0530)]
arm:omap:am335x: CPSW autonegotiates to 10/100 mbps

This patch is added as an workaround for cpsw to autonegotiates
to 10/100 mbps speed even if it is connected to 1 Gig link. The reason
for this is to overcome hardware issue of 1 Gig speed. Currently cpsw
is not working at 1 Gig speed and so when ethernet is connected to 1 Gig
link, it will auto negotiates and will fall back 10/100 mbps speed.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agovideo: da8xx-fb: Fix build warning on unused label
Manjunathappa, Prakash [Mon, 10 Oct 2011 06:10:55 +0000 (11:40 +0530)]
video: da8xx-fb: Fix build warning on unused label

Patch fixes build warning on label "err_cpu_freq" when CONFIG_CPU_FREQ
is not defined.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM:omap3:am335x evm: update defconfig
Sekhar Nori [Sat, 8 Oct 2011 10:38:58 +0000 (16:08 +0530)]
ARM:omap3:am335x evm: update defconfig

Update the defconfig to remove configurations
unnecessary for the EVM.

This helps reduce the size of uImage from 3.5MB
to ~2.5MB

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am335x: Enable m25p80 support in defconfig
Philip, Avinash [Tue, 4 Oct 2011 18:52:19 +0000 (00:22 +0530)]
arm:omap:am335x: Enable m25p80 support in defconfig

Support for SPI flash driver m25p80 is enabled through
am335x_evm_defconfig config file.

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:omap:am335x - Support for SPI flash device is added
Hebbar, Gururaja [Fri, 7 Oct 2011 14:42:08 +0000 (20:12 +0530)]
arm:omap:am335x - Support for SPI flash device is added

This patch adds support for
1. SPI (instance 0 & 1) controller on am335x
2. MTD Partition table and Pin-muxing for spi flash device.
3. SPI clock is fixed to 24 MHz on SPI bus 0 and 12 MHz for SPI bus 1.

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:omap:mcspi: follow proper probe() & remove() steps
Hebbar, Gururaja [Mon, 24 Oct 2011 10:52:50 +0000 (16:22 +0530)]
arm:omap:mcspi: follow proper probe() & remove() steps

Currently McSPI driver doesn't follow correct failure fallback steps
incase of probe & in case of remove() procedure.

This patch corrects label names to give meaningful labels & also
corrects fallback & removal procedure

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:mcspi: follow proper pm_runtime enable/disable sequence
Hebbar, Gururaja [Mon, 24 Oct 2011 10:20:27 +0000 (15:50 +0530)]
arm:omap:mcspi: follow proper pm_runtime enable/disable sequence

omap mcspi probe() doesn't call pm_runtime put & disable functions
in case of failure. remove() doesn't call pm_runtime disable. This could
lead to warnings as below on subsequent insmod.

root@arago-armv7:~# insmod /lib/modules/3.1.0-rc8/spi-omap2-mcspi.ko
[  255.383671] omap2_mcspi omap2_mcspi.1: Unbalanced pm_runtime_enable!
...

This patch adds the pm_runtime put() & disable() at aprropriate stages.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:mcspi - DMA support has added for MCSPI
Vaibhav Bedia [Mon, 10 Oct 2011 15:15:05 +0000 (20:45 +0530)]
arm:omap:mcspi - DMA support has added for MCSPI

Support for DMA transmission on MCSPI added.
1. MCSPI TX and RX registers are not 256-bit aligned address, as
required for Constant address mode in DAM and SAM in EDMA, causing EDMA
error generation condition. With this commit SAM and DAM are set to
Increment address mode.
2. SPI uses EDMA AB synchronized mode for transmission and EDMA A
synchronized mode for reception, which can be used to handle large chunk
of data above 64KB with single EDMA completion interrupt.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:serial: Change MAX_HSUART_PORTS to 6
Afzal Mohammed [Wed, 5 Oct 2011 08:26:56 +0000 (13:56 +0530)]
arm:omap:serial: Change MAX_HSUART_PORTS to 6

In case of AM335x we have 6 UART ports.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: CPSW fix for using macid from efuse
Chandan Nath [Mon, 3 Oct 2011 05:25:57 +0000 (10:55 +0530)]
arm:omap:am33xx: CPSW fix for using macid from efuse

This patch is added to use proper mac id from efuse and use it
for getting ip address from dhcp server. If mac id from efuse is
not used, cpsw will generate some random mac id and used for
getting new ip address in every  boot.

Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agovideo: da8xx-fb: Fix flicker due to 1 frame delay in updated frame
Manjunathappa, Prakash [Tue, 27 Sep 2011 06:01:28 +0000 (11:31 +0530)]
video: da8xx-fb: Fix flicker due to 1 frame delay in updated frame

There is flicker/tearing issue was observed with current FB driver.
Below link to wiki describes the issue and it also has link to
application with which issue can be reproduced.
http://ap-fpdsp-swapps.dal.design.ti.com/index.php/DA8XX_LCDC_Linux_FB_FAQs
Issue is because of 2 active DMA channels ping ponging among them
along with usage of 2 DDR buffer ping pong and application is not
aware of active DMA channel.
Below steps describe issue:
1)Initially assume both buffers FB0 and FB1 are programmed for buffer-0.
2)On EOF0: Program FB0 for buffer-1, indicate(wake up) application
 to fill up buffer-0. As FB1 is active and continues to DMA buffer-0
(which is being filled), leading to tearing/flickering issue.
3)On EOF1: Program FB1 for buffer-0, indicate(wake up) application to
 fill up buffer-1. As FB0 is active and continues to DMA buffer-1(which
 is being filled), leading to tearing/flickering issue.
4)On EOF0: Program FB0 for buffer-1, indicate(wake up) application to fill
 up buffer-0. As FB1 is active and continues to DMA buffer-0(which is being
 filled), leading to tearing/flickering issue.
...
The above steps also depicts that there is one frame delay for each
frame panned by application.
Patch fixes the issue by keeping track free DMA channel and configures
it in driver PAN callback so that panned frame from application gets
displayed in next frame period.

Signed-off-by: Nellutla, Aditya <aditya.n@ti.com>
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Register HSMMC Platform on AM335x EVM
Hebbar, Gururaja [Tue, 4 Oct 2011 18:19:18 +0000 (23:49 +0530)]
arm:omap:am33xx: Register HSMMC Platform on AM335x EVM

This patch adds the hardware info like pin-mux, platform data and
registers the MMC module. AM335x SOC supports 3 HS-MMC instances.
However only 2 HS-MMC (MMC0, 1) instances are supported on EVM.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:hsmmc: Support new HSMMC IP Variant
Hebbar, Gururaja [Tue, 27 Sep 2011 17:23:34 +0000 (22:53 +0530)]
arm:omap:hsmmc: Support new HSMMC IP Variant

Few OMAP platform has a new Variant of HSMMC.

This patch adds support for the same.

Changes
- Add new mmc version platform data to identify new IP
- Currently code support max segs of 1
- uses different registr bit to identify dma completion errors
- New MMC IP variant defines MMC EDMA Event using HWMOD. Using regular
  platform_get_resource fails for in this manner. Replace it with
  platform_get_resource_byname

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agommc: omap: remove clock rate hard coding
Saxena, Parth [Fri, 24 Jun 2011 07:49:45 +0000 (13:19 +0530)]
mmc: omap: remove clock rate hard coding

MMC master clock rate can vary for each instance of the MMC controller
on the device. Use clk_get_rate instead to get the value.

Signed-off-by: Balaji TK <balajitk@ti.com>
Reviewed-by: Venkatraman S <svenkatr@ti.com>
Tested-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
12 years agoAM335X: Enable touchscreen driver in default am335x_evm_defconfig
Patil, Rachna [Thu, 29 Sep 2011 09:17:45 +0000 (14:47 +0530)]
AM335X: Enable touchscreen driver in default am335x_evm_defconfig

This patch enables ti_tscadc touchscreen driver in the default
am335x_evm_deconfig.

Signed-off-by: Patil, Rachna <rachna@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoAM335X: Enable frame buffer and backlight driver in default am335x_evm_defconfig
Manjunathappa, Prakash [Thu, 29 Sep 2011 07:16:24 +0000 (12:46 +0530)]
AM335X: Enable frame buffer and backlight driver in default am335x_evm_defconfig

This patch enables the da8xx-fb frame buffer device, frame buffer
console and backlight driver.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: ASoC: Enable Audio support for AM335x
Hebbar, Gururaja [Mon, 26 Sep 2011 12:22:52 +0000 (17:52 +0530)]
arm:omap:am33xx: ASoC: Enable Audio support for AM335x

This enable Ausio support for am335x in defconfig

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: McASP hookup for AM335x EVM
Hebbar, Gururaja [Mon, 26 Sep 2011 11:33:23 +0000 (17:03 +0530)]
arm:omap:am33xx: McASP hookup for AM335x EVM

This patch adds the machine driver for AM335x EVM in conformance with the new
ASoC framework.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Register McASP Platform on AM335x EVM
Hebbar, Gururaja [Tue, 4 Oct 2011 15:35:46 +0000 (21:05 +0530)]
arm:omap:am33xx: Register McASP Platform on AM335x EVM

This patch adds the hardware info like base addresses, EDMA events,
interrupt nos. and other module specific data for the McASP IP.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM:omap:am33xx: ASoC: Add support for am33xx in ASoC
Hebbar, Gururaja [Mon, 26 Sep 2011 11:00:21 +0000 (16:30 +0530)]
ARM:omap:am33xx: ASoC: Add support for am33xx in ASoC

AM33xx uses same McASP IP as the Davinci Platform. This patch adds
config option to enable the McASP driver for AM335x (Kconfig & Makefile)

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoASoC: davinci-mcasp: Flush the FIFO before enabling
Vaibhav Bedia [Mon, 17 Oct 2011 09:12:11 +0000 (14:42 +0530)]
ASoC: davinci-mcasp: Flush the FIFO before enabling

FIFO should be flushed before it is enabled for the first time
This fixes the I/O errors reported by the ASoC core on a fresh boot

Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM:davinci:mcasp: Support new McASP IP Variant
Hebbar, Gururaja [Fri, 23 Sep 2011 12:17:35 +0000 (17:47 +0530)]
ARM:davinci:mcasp: Support new McASP IP Variant

Few OMAP platform has a new Variant of McASP than those found on Davinci
Platform.

This patch adds support for the same.

Changes
- Add new MCASP_VERSION_3 to identify new IP
- The FIFO offsets for the McASP in new platform are different from the
  ones seen on previous varianats. Use version member to identify and
  process accordingly

This has been tested on DM365 platform to make sure nothing existing
breaks

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoARM:davinci:mcasp: remove unused header file
Hebbar, Gururaja [Mon, 26 Sep 2011 12:46:19 +0000 (18:16 +0530)]
ARM:davinci:mcasp: remove unused header file

parameters from <mach/mux.h> isnt used anywhere. Hence removed

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:davinci:mcasp: Move McASP related defines to common place
Vaibhav Hiremath [Sat, 26 Nov 2011 19:43:37 +0000 (01:13 +0530)]
arm:davinci:mcasp: Move McASP related defines to common place

Davinci McASP IP & its Driver is shared by few OMAP platforms. Moving the
McASP ddefines to a common place, helps to share the same header file
across platforms

This patch moves asp.h from
arch/arm/mach-davinci/include/mach/asp.h -> arch/arm/include/asm/hardware/asp.h

Header define check is also updated to reflect hardware name rather than
platform

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: Make Dummy Regulator default selected
Hebbar, Gururaja [Mon, 26 Sep 2011 09:54:07 +0000 (15:24 +0530)]
arm:omap:am33xx: Make Dummy Regulator default selected

Since Regulators are not (yet) enabled/configured on AM335x, Enable Dummy
Regulator support as default in defconfig

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoConsolidate SRAM support
Jean-Christophe PLAGNIOL-VILLARD [Sun, 10 Jul 2011 12:19:39 +0000 (14:19 +0200)]
Consolidate SRAM support

We have two SoCs using SRAM, both with their own allocation systems,
and both with their own ways of copying functions into the SRAM.

Let's unify this before we have additional SoCs re-implementing this
obviously common functionality themselves.

For this use the generic allocator and the newly introduce
gen_pool_add_virt and gen_pool_virt_to_phys

Uio_pruss should probably take the SRAM pool pointer via
platform data so that it doesn't have to include Davinci specific
includes.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoAM335X: Avoid i2c pin mux setup.
Patil, Rachna [Wed, 28 Sep 2011 11:01:50 +0000 (16:31 +0530)]
AM335X: Avoid i2c pin mux setup.

Since i2c1 is available only in some profiles, we bypass i2c pin
muxing in i2c.c file. Pin muxing is taken care of, in the board file
instead.

Signed-off-by: Patil, Rachna <rachna@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am33xx: ADD support for i2c-1 instance
Hebbar, Gururaja [Mon, 26 Sep 2011 09:44:07 +0000 (15:14 +0530)]
arm:omap:am33xx: ADD support for i2c-1 instance

i2c-1 bus is available on few EVM variants of AM335X. Provide support
for the same (Pin-mux, board-info, device registration)

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarch:arm:nand - Changing SPL and U-boot partition permission
Philip, Avinash [Fri, 18 Nov 2011 09:18:39 +0000 (14:48 +0530)]
arch:arm: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 agoarch:arm:nand - 14 byte ECC support for BCH8
Philip, Avinash [Thu, 17 Nov 2011 14:43:56 +0000 (20:13 +0530)]
arch:arm:nand - 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:omap:nand - Enable BCH8 support
Philip, Avinash [Wed, 2 Nov 2011 09:22:50 +0000 (14:52 +0530)]
arm:omap:nand - Enable BCH8 support

1. BCH8 ECC support is enabled.
2. Support for BCH8 error correction using ELM module is added.
3. ECC positions updated for BCH8 in synchronized with U-boot.
4. Corrected GPMC settings for BCH8 ECC scheme.

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:omap:am335x - Disabled JFFS2 filesystem support
Philip, Avinash [Tue, 6 Dec 2011 07:18:49 +0000 (12:48 +0530)]
arm:omap:am335x - Disabled JFFS2 filesystem support

JFFS2 requires 8 byte in OOB area for clean markers leaving 56 bytes for
ECC. However with BCH8 support requires 58 bytes for ECC which leaves 6
bytes. This causes JFSS2 to fail.

This patch removes JFFS2 Support. Instead UBIFS will be used in NAND
flash device.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarch:arm:nand - ELM Module is added
Philip, Avinash [Wed, 30 Nov 2011 11:59:58 +0000 (17:29 +0530)]
arch:arm:nand - ELM Module is added

Module support for ELM is added.

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 agoarch:arm:elm - updated Hardware mode data for ELM
Philip, Avinash [Wed, 30 Nov 2011 11:58:15 +0000 (17:28 +0530)]
arch:arm:elm - updated Hardware mode data for ELM

Hardware mode data is updated for ELM module

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:omap:nand - Fix for NAND module build support
Philip, Avinash [Wed, 2 Nov 2011 09:43:04 +0000 (15:13 +0530)]
arm:omap:nand - Fix for NAND module build support

This patch fixes build error of NAND module due to unknown symbols from
gpmc module and is fixed through EXPORT_SYMBOL from gpmc module.

Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:nand - Updated JFFS2 clean marker offset.
Philip, Avinash [Mon, 17 Oct 2011 06:21:25 +0000 (11:51 +0530)]
arm:omap: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:omap:nand - Synching HAMMING ECC layout with that of U-boot.
Vaibhav Hiremath [Sat, 26 Nov 2011 20:22:47 +0000 (01:52 +0530)]
arm:omap: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:omap:nand - BCH ecc support added
Vaibhav Hiremath [Wed, 30 Nov 2011 11:54:11 +0000 (17:24 +0530)]
arm:omap:nand - BCH ecc support added

bch error correction (t=4 and t=8) for 512 bytes support added.
Tested in omap-3630 es-1.1 silicon.

Need to select the bch-ecc from board file. E.g.
arch/arm/mach-omap2/board-flash.c: board_nand_init()
board_nand_data.ecc_opt = OMAP_ECC_BCH4_CODE_HW

This patch has dependency on -
http://www.mail-archive.com/linux-omap@vger.kernel.org/msg42658.html

Signed-off-by: Parth Mauria Saxena <parth.saxena@ti.com>
Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
Signed-off-by: Abhilash K V <abhilash.kv@ti.com>
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:omap:am335x - Selects HAMMING ECC scheme.
Parth Mauria Saxena [Tue, 14 Dec 2010 11:25:43 +0000 (16:55 +0530)]
arm:omap:am335x - Selects HAMMING ECC scheme.

ECC scheme selected to Hamming code & prefetch polled mode used by GPMC to
access NAND device.

Signed-off-by: Saxena, Parth <parth.saxena@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:nand - Release memory region in remove API
Basheer, Mansoor Ahamed [Fri, 15 Jul 2011 07:32:37 +0000 (13:02 +0530)]
arm:omap:nand - Release memory region in remove API

  OMAP2 NAND driver does not release memory region
  in the remove API hence loadable module support for
  OMAP2 NAND driver was broken. This patch releases
  memory region in the remove API.

Signed-off-by: Basheer, Mansoor Ahamed <mansoor.ahamed@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm:omap:am335x - Support for NAND flash device is added.
Sugumar Natarajan [Wed, 20 Jul 2011 15:07:00 +0000 (20:37 +0530)]
arm:omap:am335x - Support for NAND flash device is added.

NAND flash device support is added.
1. Pin-muxing enabled for profiles.
2. NAND partition information is added.

Signed-off-by: Sugumar Natarajan <sugumar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoarm: omap: am335xevm: enable usb in defconfig
Ajay Kumar Gupta [Tue, 27 Sep 2011 05:07:42 +0000 (10:37 +0530)]
arm: omap: am335xevm: enable usb in defconfig

Enabled:
- MUSB, MSC, HID, AUDIO and VIDEO class
- Ethernet gadget for first musb port and second port gadget
  need to be inserted after boot.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb: musb: dma fixes for dual gadget mode
Ajay Kumar Gupta [Mon, 26 Sep 2011 09:19:31 +0000 (14:49 +0530)]
usb: musb: dma fixes for dual gadget mode

Has fixes for dual mode gadget related to num_max_ch. Also has Babble interrupt
related fixes/cleanupss

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: adding support for am335x
Ajay Kumar Gupta [Fri, 29 Jul 2011 12:29:00 +0000 (17:59 +0530)]
musb: adding support for am335x

am335x has two musb interface and uses cppi4.1 dma engine. It's
almost same as ti81xx and so using ti81xx files for am335x.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoam335x: add musb support
Ajay Kumar Gupta [Fri, 29 Jul 2011 09:15:22 +0000 (14:45 +0530)]
am335x: add musb support

Adding musb support in am335evm board file. Configured for:
- Two instance of musb
- 500mA of power
Also added the pinmux needed for drvvbus pins of each usb interface.
Others usb pins are not multiplexed so no need to setup them.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb: musb: misc fixes for v3.1.0
Ajay Kumar Gupta [Fri, 23 Sep 2011 09:09:57 +0000 (14:39 +0530)]
usb: musb: misc fixes for v3.1.0

Changes
- v3.1-rc3 has replaced all DBG to dev_dbg.
- CONFIG_MUSB_DEBUG related cleanups
- drivers always in OTG mode so drop all GADGET or HOST ifdefs

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: gadget: don't allow suspend when connected to host
Ajay Kumar Gupta [Thu, 14 Jul 2011 08:15:43 +0000 (13:45 +0530)]
musb: gadget: don't allow suspend when connected to host

While the target is connected to host and user has initiated suspend
then we should not allow system suspend as target is acting as slave
in gadget mode and can't suspend the bus without host initiation.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:ti81xx: removed warning while using toolchain arago-gcc-4.5.3
Ravi B [Thu, 22 Sep 2011 06:00:01 +0000 (11:30 +0530)]
musb:ti81xx: removed warning while using toolchain arago-gcc-4.5.3

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:cppi41: fix for early tx-dma completion
Ravi B [Thu, 15 Sep 2011 11:30:46 +0000 (17:00 +0530)]
musb:cppi41: fix for early tx-dma completion

The tx-dma completion occurs early, while endpoint fifo
is nonempty and transmit is still in progress.
The patch workaround this issue by polling for tx endpoint
fifo in worker thread till last byte from fifo is
transmitted out.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb: musb_host: cppi41 dma fixes for cdc-class
Ravi B [Wed, 14 Sep 2011 12:54:12 +0000 (18:24 +0530)]
usb: musb_host: cppi41 dma fixes for cdc-class

Fixes the cppi41 dma issue while configuring rx dma.
Fixes the bug in rx short pkt completion in
musb-host-rx.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:cppi41: Added rx-dma infinite mode for fsg gadget mode
Ravi B [Mon, 5 Sep 2011 17:47:17 +0000 (23:17 +0530)]
musb:cppi41: Added rx-dma infinite mode for fsg gadget mode

In infinite dma mode the DMA ignores the SOP bit and closes up
a packet after a max_buf_cnt buffer has been filled OR if
the EOP field is set in the info word 0

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:cppi41: The epsize register must be multiple of 64
Ravi B [Mon, 5 Sep 2011 17:27:41 +0000 (22:57 +0530)]
musb:cppi41: The epsize register must be multiple of 64

In generic rnids mode the epsize register must be
receive length multiple of 64 bytes.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:cppi41: use GRNDIS mode for rx-dma except file-storage gadget
Ravi B [Wed, 10 Aug 2011 10:52:46 +0000 (16:22 +0530)]
musb:cppi41: use GRNDIS mode for rx-dma except file-storage gadget

The cppi41 rx-dma in gadget mode is configured for transparent mode
only for file-storage-gadget driver and GRNDIS mode is used for
other gadget driver.
Also fixes the interrupt out transfer for 1024 bytes in gadget mode,
since the transparent mode does not work for interrupt transfer of
1024 size.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: pm workaround fix in host mode when no device connected to ports
Ravi B [Tue, 30 Aug 2011 12:56:37 +0000 (18:26 +0530)]
musb: pm workaround fix in host mode when no device connected to ports

In host mode, the musb does not go to suspend state when no
device connected to port0/port1, only in the otg mode the try
idle function tries to turn off the session when no device is
connected to port.
This patch workaround this issue by clear/set the session bit
when system wide suspend/resume is invoked.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agoti816x:usb: Added usb hwmod and platform support for ti816x usb
Ravi B [Mon, 5 Sep 2011 08:05:54 +0000 (13:35 +0530)]
ti816x:usb: Added usb hwmod and platform support for ti816x usb

1.Added the hwmod usb support
2.Added the platform driver changes for hwmod
3.The musb_probe function should check for named resource for
  dual instance of musb.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: Added babble workaround enable/disable control
Ravi B [Mon, 5 Sep 2011 06:10:05 +0000 (11:40 +0530)]
musb: Added babble workaround enable/disable control

Added enable/disable babble workaround through procfs entry
to eanble babble workaround
echo 'K' > /proc/driver/musb_hdrc.0 or 1
to disable babble workaround
echo 'k' > /proc/driver/musb_hdrc.0 or 1

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: driving usbid pin control through sofware
Ravi B [Wed, 10 Aug 2011 11:13:03 +0000 (16:43 +0530)]
musb: driving usbid pin control through sofware

By default usbid pin is controlled from external through
mini-A or mini-B plug. This patch adds the configuration
of usbid pin through software to force usbid to ground or
open.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:ti81x: cppi41dma modular fixes for musb gadget mode
Ravi B [Thu, 7 Jul 2011 12:16:17 +0000 (17:46 +0530)]
musb:ti81x: cppi41dma modular fixes for musb gadget mode

This patch fixes the insmod/rmmod fixes for musb
gadget mode and cppi41dma cleanup.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: Fix for the test mode feature of musb controller
Ravi B [Wed, 6 Jul 2011 13:22:58 +0000 (18:52 +0530)]
musb: Fix for the test mode feature of musb controller

This patch fixes the generation of test packet when
musb controller enters into test mode.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: dynamic fifo-mode selection for host/device for ti81xx platform
Ravi B [Tue, 21 Jun 2011 09:31:05 +0000 (15:01 +0530)]
musb: dynamic fifo-mode selection for host/device for ti81xx platform

1. Added mode_6_cfg musb fifo table with double buffer
enabled for musb fifo in gadget mode
2. dynamic fifo mode selection thru platform device

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb:musb: Fixes for code review of musb for ti81xx platform
Ravi B [Tue, 21 Jun 2011 07:00:13 +0000 (12:30 +0530)]
usb:musb: Fixes for code review of musb for ti81xx platform

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: cppi41: Fix for dma race condition during i/o completion
Ravi B [Thu, 19 May 2011 05:51:19 +0000 (11:21 +0530)]
musb: cppi41: Fix for dma race condition during i/o completion

This patch fixes the cppi41 dma race condition, where software
reads buffer descriptor before being updated by dma as rx/tx
buffer descriptor(BD) writes by dma still pending in
interconnect bridge when traffic on interconnect is high.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: Workaround for early rx cppi41 dma completion in GRNDIS mode
Ravi B [Fri, 8 Apr 2011 09:05:05 +0000 (14:35 +0530)]
musb: Workaround for early rx cppi41 dma completion in GRNDIS mode

Fix for device resets during file transfer from one usb stick to other.
Multiple Resets of msc device while transfering file one usb
stick to other. Root caused at CPPI-41 DMA Level. During transfer
of file from one msc-device1 to msc-device2, there is continuous
scsi-read from device-1 and scsi-write to device-2.
After few Mega Bytes of data are transfered, the scsi-read operation
stops and timeout is occuring at scsi layer hence the scsi-subsystem
resets the device-1.
The CATC capture shows that after sending CBW command to read 240
sectors of data, IN tokens are send by controller to receive few
Kilo bytes, further there were no IN-tokens send by controller to
read the data from device-1.
The analysis shows the corresponding rx endpoint-FIFO is full and
XDMA is not moving the data due CPPI-4.1 Rx DMA channel halted.
What exactly happened was, the scsi submitted request to read 28K data,
one rx-bd is queued to rx-free queue of RX-DMA channel configured in
Generic-RNDIS mode and RNDIS-EPSIZE register is set to 28K value.
For some reason the interrupt has occured with 16K data in rx-bd and
the usb driver gives back this request to application layer.
Since this request is abnormally aborted by DMA, there are no free bd
at input queue and transfer DMA has send IN token to receive further data,
the data received is available in FIFO, FIFO is full and there is no rx-bd
the DMA Stalls. This is reason why there are no IN-token seen on the bus
and the request aborted and continuous resets to device is happening

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb:cppi41: Fix for modular support issue for TI81XX (DMA mode)
Ravi B [Tue, 22 Mar 2011 08:34:00 +0000 (14:04 +0530)]
musb:cppi41: Fix for modular support issue for TI81XX (DMA mode)

Cleanup of cppi41dma and added un-init routine for
queue manager and dma blocks.

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb-musb: Fix for modular support issue for TI81XX (PIO Mode)
Ravi B [Tue, 22 Mar 2011 08:26:24 +0000 (13:56 +0530)]
usb-musb: Fix for modular support issue for TI81XX (PIO Mode)

This patch fixes the modular support issue for dual
musb instances in ti81xx (for pio mode).

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Sriramakrishnan A G <srk@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agousb-musb: Enabling fifo double buffering for gadget mode
Ravi B [Mon, 21 Mar 2011 12:40:22 +0000 (18:10 +0530)]
usb-musb: Enabling fifo double buffering for gadget mode

1. Enable the endpoint fifo double buffering for gadget
mode to increase the performance
2. Increase the number of cppidma bd to 128

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: cppi41: Fixes for cppi41 rmmod issue
Ravi B [Wed, 15 Jun 2011 06:09:26 +0000 (11:39 +0530)]
musb: cppi41: Fixes for cppi41 rmmod issue

The cppi41 dma is common module for multi musb instances,
the cppi41 deinitialization will be done as part of
platform exit.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
12 years agomusb: workaround patch for babble condition
Ravi B [Tue, 1 Feb 2011 07:29:12 +0000 (12:59 +0530)]
musb: workaround patch for babble condition

1) During the babble condition occured in host mode
the musb controller removes the session bit and drives
drvvbus to low and musb controller stops working.
2) This patch workaround this issue by restarting the musb
controller by performing usbotgss controller reset, restart
usb phy, enable all interrupts and then starts the musb
session.
3) Since musb controller shutdown during babble, the
disconnect event generated through software to notify
the associated class driver of connected that
musb is not operational.
3) The procfs entry is added to simulate the babble
condition interrupt through software
usage: echo 'b' > /proc/driver/musb_hdrc.0 or 1

Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>