fc467a2623
The DMABRG is a special DMA unit within the SH7760 which does data transfers from main memory to Audio units and USB shared memory. It has 3 IRQ lines which generate 10 events, which have to be masked unmasked and acked in a single 32bit register. It works independently from the tradition SH DMAC, but blocks usage of DMAC channel 0. This patch adds 2 functions to associate callbacks with DMABRG events and initialization. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
64 lines
1.9 KiB
Text
64 lines
1.9 KiB
Text
menu "DMA support"
|
|
|
|
config SH_DMA_API
|
|
bool
|
|
|
|
config SH_DMA
|
|
bool "SuperH on-chip DMA controller (DMAC) support"
|
|
select SH_DMA_API
|
|
default n
|
|
|
|
config NR_ONCHIP_DMA_CHANNELS
|
|
depends on SH_DMA
|
|
int "Number of on-chip DMAC channels"
|
|
default "8" if CPU_SUBTYPE_SH7750R || CPU_SUBTYPE_SH7751R
|
|
default "12" if CPU_SUBTYPE_SH7780
|
|
default "4"
|
|
help
|
|
This allows you to specify the number of channels that the on-chip
|
|
DMAC supports. This will be 4 for SH7750/SH7751 and 8 for the
|
|
SH7750R/SH7751R.
|
|
|
|
config NR_DMA_CHANNELS_BOOL
|
|
depends on SH_DMA
|
|
bool "Override default number of maximum DMA channels"
|
|
help
|
|
This allows you to forcibly update the maximum number of supported
|
|
DMA channels for a given board. If this is unset, this will default
|
|
to the number of channels that the on-chip DMAC has.
|
|
|
|
config NR_DMA_CHANNELS
|
|
int "Maximum number of DMA channels"
|
|
depends on SH_DMA && NR_DMA_CHANNELS_BOOL
|
|
default NR_ONCHIP_DMA_CHANNELS
|
|
help
|
|
This allows you to specify the maximum number of DMA channels to
|
|
support. Setting this to a higher value allows for cascading DMACs
|
|
with additional channels.
|
|
|
|
config DMA_PAGE_OPS
|
|
bool "Use DMAC for page copy/clear"
|
|
depends on SH_DMA && BROKEN
|
|
help
|
|
Selecting this option will use a dual-address mode configured channel
|
|
in the SH DMAC for copy_page()/clear_page(). Primarily a performance
|
|
hack.
|
|
|
|
config DMA_PAGE_OPS_CHANNEL
|
|
depends on DMA_PAGE_OPS
|
|
int "DMA channel for sh memory-manager page copy/clear"
|
|
default "3"
|
|
help
|
|
This allows the specification of the dual address dma channel,
|
|
in case channel 3 is unavailable. On the SH4, channels 1,2, and 3
|
|
are dual-address capable.
|
|
|
|
config SH_DMABRG
|
|
bool "SH7760 DMABRG support"
|
|
depends on CPU_SUBTYPE_SH7760
|
|
help
|
|
The DMABRG does data transfers from main memory to Audio/USB units
|
|
of the SH7760.
|
|
Say Y if you want to use Audio/USB DMA on your SH7760 board.
|
|
|
|
endmenu
|