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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
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>
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>
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>
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>
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>
Enable bit15 in the maccontrol register for 100Mbps.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
* 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>
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>
* 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>
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>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
In case of AM335x we have 6 UART ports.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>