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>
musb: CPPI4.1 Tx/Rx DMA Teardown Fixes
This patch fixes the teardown fixes for tx/rx dma channels.
During tx/rx dma channel teardown, the completion BDs from
the tx/rx completion queues must need to removed and recycled
to the BD free pool.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch fixes the teardown fixes for tx/rx dma channels.
During tx/rx dma channel teardown, the completion BDs from
the tx/rx completion queues must need to removed and recycled
to the BD free pool.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: Fix multiple define of AUTOREQ and TD reg offset
Fixes multiple definitions of AUTOREQ and TEARDOWN register offset
by adding similar field inside 'struct cppi41'. This is needed as
different platforms has different offsets.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Fixes multiple definitions of AUTOREQ and TEARDOWN register offset
by adding similar field inside 'struct cppi41'. This is needed as
different platforms has different offsets.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: Adding BD interrupt enable feature
Adding BD interrupt enable feature available in CPPI41 DMA on TI81xx
platform. This feature is not supported in AM35x/DA8x.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Adding BD interrupt enable feature available in CPPI41 DMA on TI81xx
platform. This feature is not supported in AM35x/DA8x.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: teardown descriptor cleanup
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: Drop const for rx/tx_comp_q
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: Adding support for TI81XX platform
TI81x platform has two musb controller and has CPPI4.1 DMA engine.
Changes:
- Changes done for Kconfig/Makefile for ti81xx usb support
- Adds the ti81xx.c musb platform file
- Multi-musb controller support at usb-musb.c
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
TI81x platform has two musb controller and has CPPI4.1 DMA engine.
Changes:
- Changes done for Kconfig/Makefile for ti81xx usb support
- Adds the ti81xx.c musb platform file
- Multi-musb controller support at usb-musb.c
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
usb: musb: fixes for DBG -> dev_dbg
v3.0 has changed DBG to dev_dbg.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
v3.0 has changed DBG to dev_dbg.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: Update usb_cppi41_info to support multi-ctrl
Changed usb_cppi41_info to an array of two such element to support
multi-controller scenarios.
Also updated the required changed in am35x.c
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Changed usb_cppi41_info to an array of two such element to support
multi-controller scenarios.
Also updated the required changed in am35x.c
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: Make cppi41_info as a part of struct cppi41
Added cppi41_info in 'struct cppi41' so that each cppi41 instance
can provide their data and thus supporting multi controller.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Added cppi41_info in 'struct cppi41' so that each cppi41 instance
can provide their data and thus supporting multi controller.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: General cleanup
Changes:
- Removed the hard coded constants for size by adding 'size'
field into cppi41 strcuture
- Added q_num and q_mgr as required to support multi-controller
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Changes:
- Removed the hard coded constants for size by adding 'size'
field into cppi41 strcuture
- Added q_num and q_mgr as required to support multi-controller
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
usb: nop: support for multi-nop tranceiver
Modified the nop driver to support multi nop transceiver.
Changes:
- Global xceiv to xceiv[2]
- nop transceiver regiser/deregiser based on musb->id
- Changes to other glue layers
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Modified the nop driver to support multi nop transceiver.
Changes:
- Global xceiv to xceiv[2]
- nop transceiver regiser/deregiser based on musb->id
- Changes to other glue layers
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: Changes required in procfs for multi-musb controller
Updated procfs part of code to support multi-musb procfs entries
based on musb->id field.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Updated procfs part of code to support multi-musb procfs entries
based on musb->id field.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: Adding musb->id to support multi-musb controller
Added musb->id field to differenciate two controllers.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Added musb->id field to differenciate two controllers.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: gadget: Read ep0 fifo only if rxcount is non zero
Fixes the read_fifo call with '0' rxcount.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Fixes the read_fifo call with '0' rxcount.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: modular fix
Changes:
- Moved global defines to cppi41.c/cppi41_dma.c
- Platform files to fill those global defines.
- Added EXPORT_SYMBOL
- REVISIT: am35x: _put commented
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Changes:
- Moved global defines to cppi41.c/cppi41_dma.c
- Platform files to fill those global defines.
- Added EXPORT_SYMBOL
- REVISIT: am35x: _put commented
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
AM3517: musb: undo pm changes affecting musb
musb becomes unusable due to below pm patch in AM3517.
------------------------------------------------
commit 53f18cf6026bc6a0152ea445f6b54de7fbea1b3c
Author: Tero Kristo <tero.kristo@nokia.com>
OMAP3: PM: Enable system control module autoidle
------------------------------------------------
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb becomes unusable due to below pm patch in AM3517.
------------------------------------------------
commit 53f18cf6026bc6a0152ea445f6b54de7fbea1b3c
Author: Tero Kristo <tero.kristo@nokia.com>
OMAP3: PM: Enable system control module autoidle
------------------------------------------------
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: teardown fix from Ravi
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: device fix from Ravi
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: fix IO_ADDRESS related issue on AM35x
IO_ADDRESS for AM35x MUSB doesn't work and thus CPPI41 programming
also fails.
Fixing this by ioremapping MUSB complete address space (~32K) and
updating CPPI41 related memory base with this mappings.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
IO_ADDRESS for AM35x MUSB doesn't work and thus CPPI41 programming
also fails.
Fixing this by ioremapping MUSB complete address space (~32K) and
updating CPPI41 related memory base with this mappings.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: AM35x: Add CPPI4.1 DMA support
Adding CPPI4.1 DMA support for musb driver.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Adding CPPI4.1 DMA support for musb driver.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: change number of DMA BLOCK from 4 to 1
Number of DMA block is different for different platforms.
Changing this to '1' for AM3517 platform.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Number of DMA block is different for different platforms.
Changing this to '1' for AM3517 platform.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
AM3517: musb: fix iperf failure issue
As we get DMA completion interrupt even when data is in FIFO.
Fixing the issue by adding delay before calling dma completion.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
As we get DMA completion interrupt even when data is in FIFO.
Fixing the issue by adding delay before calling dma completion.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi: ISO IN fixes for CPPI DMA
ISO doesn't work without this patch as CPPI DMA is not even
programmed for ISO IN transfer.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ISO doesn't work without this patch as CPPI DMA is not even
programmed for ISO IN transfer.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: fix MODE_REG compatibility among platforms
AM3517 has seperate Tx and Rx MODE registers whereas OMAPL137/DA8x
has only one registers for both Rx and Tx modes.
Solving this difference by adding TX_MODE and RX_MODE registers
seperately which are actually same in case of OMAPL137/DA8x but
different for AM3517.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
AM3517 has seperate Tx and Rx MODE registers whereas OMAPL137/DA8x
has only one registers for both Rx and Tx modes.
Solving this difference by adding TX_MODE and RX_MODE registers
seperately which are actually same in case of OMAPL137/DA8x but
different for AM3517.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: procfs: add cppi41 related checks
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: Remove platform definitions from cppi41_dma.h
cppi41_dma.h should have common definitions as it would be used
by multiple platforms. As different platform can have different
register layouts so it's better to remove these definitions and
let them come from platform file at plat/usb.h
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41_dma.h should have common definitions as it would be used
by multiple platforms. As different platform can have different
register layouts so it's better to remove these definitions and
let them come from platform file at plat/usb.h
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: fix channel program for actual len
actual length has to be zero at the start of new dma programming.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
actual length has to be zero at the start of new dma programming.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: fix macro definition in cppi41.h
Macros definitions for number of queue managers and DMA blocks are
defined in cppi41.h only so use them instead of defining in other
files and using unnecessary extern.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Macros definitions for number of queue managers and DMA blocks are
defined in cppi41.h only so use them instead of defining in other
files and using unnecessary extern.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: fix scheduler table init in dma_block_init()
scheduler table init programming is unreliable using for loops so
fixing this by using scheduler table entries.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
scheduler table init programming is unreliable using for loops so
fixing this by using scheduler table entries.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: fix RGN0 memory alloc in queue_mgr_init()
queue_mgr_init() is currently allocating memory only for RGN1 and
expecting RGN0 memory to be allocated in platform files.
Normally RGN0 is only used so updating queue_mgr_init() to allocate
RGN0 memory.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
queue_mgr_init() is currently allocating memory only for RGN1 and
expecting RGN0 memory to be allocated in platform files.
Normally RGN0 is only used so updating queue_mgr_init() to allocate
RGN0 memory.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: add cppi41_exit() to free up the memories
Adding cppi41_exit() to free up the allocated memories.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Adding cppi41_exit() to free up the allocated memories.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: fixes to support new musb arch
Changes:
- __init to __devinit
- rename create/destroy functions
- channels maxlen
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Changes:
- __init to __devinit
- rename create/destroy functions
- channels maxlen
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
cppi41: Move CPPI41 core to musb temporarily
This is to ease our development effort and collaboration on Davinci
and OMAP35x family musb drivers.
This would be reverted back once the cppi41 drivers are accepted in
mainline and all confusion are cleared out.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This is to ease our development effort and collaboration on Davinci
and OMAP35x family musb drivers.
This would be reverted back once the cppi41 drivers are accepted in
mainline and all confusion are cleared out.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: cppi41: adding musb CPPI41 DMA support
Texas Instruments CPPI 4.1 DMA support for the MUSBMHRDC driver.
The code makes use of the accelerated "generic RNDIS" DMA mode, falling back to
the transparent (packet per transfer) mode if the hardware restrictions prevent
it from using the accelerated mode.
Update:
- has update for is_cppi41_enabled() due to musb changes
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Texas Instruments CPPI 4.1 DMA support for the MUSBMHRDC driver.
The code makes use of the accelerated "generic RNDIS" DMA mode, falling back to
the transparent (packet per transfer) mode if the hardware restrictions prevent
it from using the accelerated mode.
Update:
- has update for is_cppi41_enabled() due to musb changes
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>