xref: /openbmc/linux/arch/sh/drivers/dma/Kconfig (revision 5283ecb5)
11da177e4SLinus Torvaldsmenu "DMA support"
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldsconfig SH_DMA
41da177e4SLinus Torvalds	bool "DMA controller (DMAC) support"
51da177e4SLinus Torvalds	help
61da177e4SLinus Torvalds	  Selecting this option will provide same API as PC's Direct Memory
71da177e4SLinus Torvalds	  Access Controller(8237A) for SuperH DMAC.
81da177e4SLinus Torvalds
91da177e4SLinus Torvalds	  If unsure, say N.
101da177e4SLinus Torvalds
111da177e4SLinus Torvaldsconfig NR_ONCHIP_DMA_CHANNELS
121da177e4SLinus Torvalds	depends on SH_DMA
131da177e4SLinus Torvalds	int "Number of on-chip DMAC channels"
145283ecb5SPaul Mundt	default "8" if CPU_SUBTYPE_SH7750R || CPU_SUBTYPE_SH7751R
155283ecb5SPaul Mundt	default "12" if CPU_SUBTYPE_SH7780
161da177e4SLinus Torvalds	default "4"
171da177e4SLinus Torvalds	help
181da177e4SLinus Torvalds	  This allows you to specify the number of channels that the on-chip
191da177e4SLinus Torvalds	  DMAC supports. This will be 4 for SH7750/SH7751 and 8 for the
201da177e4SLinus Torvalds	  SH7750R/SH7751R.
211da177e4SLinus Torvalds
221da177e4SLinus Torvaldsconfig NR_DMA_CHANNELS_BOOL
231da177e4SLinus Torvalds	depends on SH_DMA
241da177e4SLinus Torvalds	bool "Override default number of maximum DMA channels"
251da177e4SLinus Torvalds	help
261da177e4SLinus Torvalds	  This allows you to forcibly update the maximum number of supported
271da177e4SLinus Torvalds	  DMA channels for a given board. If this is unset, this will default
281da177e4SLinus Torvalds	  to the number of channels that the on-chip DMAC has.
291da177e4SLinus Torvalds
301da177e4SLinus Torvaldsconfig NR_DMA_CHANNELS
311da177e4SLinus Torvalds	int "Maximum number of DMA channels"
321da177e4SLinus Torvalds	depends on SH_DMA && NR_DMA_CHANNELS_BOOL
331da177e4SLinus Torvalds	default NR_ONCHIP_DMA_CHANNELS
341da177e4SLinus Torvalds	help
351da177e4SLinus Torvalds	  This allows you to specify the maximum number of DMA channels to
361da177e4SLinus Torvalds	  support. Setting this to a higher value allows for cascading DMACs
371da177e4SLinus Torvalds	  with additional channels.
381da177e4SLinus Torvalds
391da177e4SLinus Torvaldsconfig DMA_PAGE_OPS
401da177e4SLinus Torvalds	bool "Use DMAC for page copy/clear"
411da177e4SLinus Torvalds	depends on SH_DMA && BROKEN
421da177e4SLinus Torvalds	help
431da177e4SLinus Torvalds	  Selecting this option will use a dual-address mode configured channel
441da177e4SLinus Torvalds	  in the SH DMAC for copy_page()/clear_page(). Primarily a performance
451da177e4SLinus Torvalds	  hack.
461da177e4SLinus Torvalds
471da177e4SLinus Torvaldsconfig DMA_PAGE_OPS_CHANNEL
481da177e4SLinus Torvalds	depends on DMA_PAGE_OPS
491da177e4SLinus Torvalds	int "DMA channel for sh memory-manager page copy/clear"
501da177e4SLinus Torvalds	default "3"
511da177e4SLinus Torvalds	help
521da177e4SLinus Torvalds	  This allows the specification of the dual address dma channel,
531da177e4SLinus Torvalds	  in case channel 3 is unavailable. On the SH4, channels 1,2, and 3
541da177e4SLinus Torvalds	  are dual-address capable.
551da177e4SLinus Torvalds
561da177e4SLinus Torvaldsendmenu
57