| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997 | /* * * arch/arm/mach-u300/core.c * * * Copyright (C) 2007-2012 ST-Ericsson SA * License terms: GNU General Public License (GPL) version 2 * Core platform support, IRQ handling and device definitions. * Author: Linus Walleij <linus.walleij@stericsson.com> */#include <linux/kernel.h>#include <linux/init.h>#include <linux/spinlock.h>#include <linux/interrupt.h>#include <linux/bitops.h>#include <linux/device.h>#include <linux/mm.h>#include <linux/termios.h>#include <linux/dmaengine.h>#include <linux/amba/bus.h>#include <linux/amba/mmci.h>#include <linux/amba/serial.h>#include <linux/platform_device.h>#include <linux/gpio.h>#include <linux/clk.h>#include <linux/err.h>#include <linux/mtd/nand.h>#include <linux/mtd/fsmc.h>#include <linux/pinctrl/machine.h>#include <linux/pinctrl/pinconf-generic.h>#include <linux/dma-mapping.h>#include <linux/platform_data/clk-u300.h>#include <linux/platform_data/pinctrl-coh901.h>#include <asm/types.h>#include <asm/setup.h>#include <asm/memory.h>#include <asm/hardware/vic.h>#include <asm/mach/map.h>#include <asm/mach-types.h>#include <asm/mach/arch.h>#include <mach/coh901318.h>#include <mach/hardware.h>#include <mach/syscon.h>#include <mach/irqs.h>#include "timer.h"#include "spi.h"#include "i2c.h"#include "u300-gpio.h"#include "dma_channels.h"/* * Static I/O mappings that are needed for booting the U300 platforms. The * only things we need are the areas where we find the timer, syscon and * intcon, since the remaining device drivers will map their own memory * physical to virtual as the need arise. */static struct map_desc u300_io_desc[] __initdata = {	{		.virtual	= U300_SLOW_PER_VIRT_BASE,		.pfn		= __phys_to_pfn(U300_SLOW_PER_PHYS_BASE),		.length		= SZ_64K,		.type		= MT_DEVICE,	},	{		.virtual	= U300_AHB_PER_VIRT_BASE,		.pfn		= __phys_to_pfn(U300_AHB_PER_PHYS_BASE),		.length		= SZ_32K,		.type		= MT_DEVICE,	},	{		.virtual	= U300_FAST_PER_VIRT_BASE,		.pfn		= __phys_to_pfn(U300_FAST_PER_PHYS_BASE),		.length		= SZ_32K,		.type		= MT_DEVICE,	},};static void __init u300_map_io(void){	iotable_init(u300_io_desc, ARRAY_SIZE(u300_io_desc));}/* * Declaration of devices found on the U300 board and * their respective memory locations. */static struct amba_pl011_data uart0_plat_data = {#ifdef CONFIG_COH901318	.dma_filter = coh901318_filter_id,	.dma_rx_param = (void *) U300_DMA_UART0_RX,	.dma_tx_param = (void *) U300_DMA_UART0_TX,#endif};/* Slow device at 0x3000 offset */static AMBA_APB_DEVICE(uart0, "uart0", 0, U300_UART0_BASE,	{ IRQ_U300_UART0 }, &uart0_plat_data);/* The U335 have an additional UART1 on the APP CPU */static struct amba_pl011_data uart1_plat_data = {#ifdef CONFIG_COH901318	.dma_filter = coh901318_filter_id,	.dma_rx_param = (void *) U300_DMA_UART1_RX,	.dma_tx_param = (void *) U300_DMA_UART1_TX,#endif};/* Fast device at 0x7000 offset */static AMBA_APB_DEVICE(uart1, "uart1", 0, U300_UART1_BASE,	{ IRQ_U300_UART1 }, &uart1_plat_data);/* AHB device at 0x4000 offset */static AMBA_APB_DEVICE(pl172, "pl172", 0, U300_EMIF_CFG_BASE, { }, NULL);/* Fast device at 0x6000 offset */static AMBA_APB_DEVICE(pl022, "pl022", 0, U300_SPI_BASE,	{ IRQ_U300_SPI }, NULL);/* Fast device at 0x1000 offset */#define U300_MMCSD_IRQS	{ IRQ_U300_MMCSD_MCIINTR0, IRQ_U300_MMCSD_MCIINTR1 }static struct mmci_platform_data mmcsd_platform_data = {	/*	 * Do not set ocr_mask or voltage translation function,	 * we have a regulator we can control instead.	 */	.f_max = 24000000,	.gpio_wp = -1,	.gpio_cd = U300_GPIO_PIN_MMC_CD,	.cd_invert = true,	.capabilities = MMC_CAP_MMC_HIGHSPEED |	MMC_CAP_SD_HIGHSPEED | MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,#ifdef CONFIG_COH901318	.dma_filter = coh901318_filter_id,	.dma_rx_param = (void *) U300_DMA_MMCSD_RX_TX,	/* Don't specify a TX channel, this RX channel is bidirectional */#endif};static AMBA_APB_DEVICE(mmcsd, "mmci", 0, U300_MMCSD_BASE,	U300_MMCSD_IRQS, &mmcsd_platform_data);/* * The order of device declaration may be important, since some devices * have dependencies on other devices being initialized first. */static struct amba_device *amba_devs[] __initdata = {	&uart0_device,	&uart1_device,	&pl022_device,	&pl172_device,	&mmcsd_device,};/* Here follows a list of all hw resources that the platform devices * allocate. Note, clock dependencies are not included */static struct resource gpio_resources[] = {	{		.start = U300_GPIO_BASE,		.end   = (U300_GPIO_BASE + SZ_4K - 1),		.flags = IORESOURCE_MEM,	},	{		.name  = "gpio0",		.start = IRQ_U300_GPIO_PORT0,		.end   = IRQ_U300_GPIO_PORT0,		.flags = IORESOURCE_IRQ,	},	{		.name  = "gpio1",		.start = IRQ_U300_GPIO_PORT1,		.end   = IRQ_U300_GPIO_PORT1,		.flags = IORESOURCE_IRQ,	},	{		.name  = "gpio2",		.start = IRQ_U300_GPIO_PORT2,		.end   = IRQ_U300_GPIO_PORT2,		.flags = IORESOURCE_IRQ,	},	{		.name  = "gpio3",		.start = IRQ_U300_GPIO_PORT3,		.end   = IRQ_U300_GPIO_PORT3,		.flags = IORESOURCE_IRQ,	},	{		.name  = "gpio4",		.start = IRQ_U300_GPIO_PORT4,		.end   = IRQ_U300_GPIO_PORT4,		.flags = IORESOURCE_IRQ,	},	{		.name  = "gpio5",		.start = IRQ_U300_GPIO_PORT5,		.end   = IRQ_U300_GPIO_PORT5,		.flags = IORESOURCE_IRQ,	},	{		.name  = "gpio6",		.start = IRQ_U300_GPIO_PORT6,		.end   = IRQ_U300_GPIO_PORT6,		.flags = IORESOURCE_IRQ,	},};static struct resource keypad_resources[] = {	{		.start = U300_KEYPAD_BASE,		.end   = U300_KEYPAD_BASE + SZ_4K - 1,		.flags = IORESOURCE_MEM,	},	{		.name  = "coh901461-press",		.start = IRQ_U300_KEYPAD_KEYBF,		.end   = IRQ_U300_KEYPAD_KEYBF,		.flags = IORESOURCE_IRQ,	},	{		.name  = "coh901461-release",		.start = IRQ_U300_KEYPAD_KEYBR,		.end   = IRQ_U300_KEYPAD_KEYBR,		.flags = IORESOURCE_IRQ,	},};static struct resource rtc_resources[] = {	{		.start = U300_RTC_BASE,		.end   = U300_RTC_BASE + SZ_4K - 1,		.flags = IORESOURCE_MEM,	},	{		.start = IRQ_U300_RTC,		.end   = IRQ_U300_RTC,		.flags = IORESOURCE_IRQ,	},};/* * Fsmc does have IRQs: #43 and #44 (NFIF and NFIF2) * but these are not yet used by the driver. */static struct resource fsmc_resources[] = {	{		.name  = "nand_addr",		.start = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_ALE,		.end   = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_ALE + SZ_16K - 1,		.flags = IORESOURCE_MEM,	},	{		.name  = "nand_cmd",		.start = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_CLE,		.end   = U300_NAND_CS0_PHYS_BASE + PLAT_NAND_CLE + SZ_16K - 1,		.flags = IORESOURCE_MEM,	},	{		.name  = "nand_data",		.start = U300_NAND_CS0_PHYS_BASE,		.end   = U300_NAND_CS0_PHYS_BASE + SZ_16K - 1,		.flags = IORESOURCE_MEM,	},	{		.name  = "fsmc_regs",		.start = U300_NAND_IF_PHYS_BASE,		.end   = U300_NAND_IF_PHYS_BASE + SZ_4K - 1,		.flags = IORESOURCE_MEM,	},};static struct resource i2c0_resources[] = {	{		.start = U300_I2C0_BASE,		.end   = U300_I2C0_BASE + SZ_4K - 1,		.flags = IORESOURCE_MEM,	},	{		.start = IRQ_U300_I2C0,		.end   = IRQ_U300_I2C0,		.flags = IORESOURCE_IRQ,	},};static struct resource i2c1_resources[] = {	{		.start = U300_I2C1_BASE,		.end   = U300_I2C1_BASE + SZ_4K - 1,		.flags = IORESOURCE_MEM,	},	{		.start = IRQ_U300_I2C1,		.end   = IRQ_U300_I2C1,		.flags = IORESOURCE_IRQ,	},};static struct resource wdog_resources[] = {	{		.start = U300_WDOG_BASE,		.end   = U300_WDOG_BASE + SZ_4K - 1,		.flags = IORESOURCE_MEM,	},	{		.start = IRQ_U300_WDOG,		.end   = IRQ_U300_WDOG,		.flags = IORESOURCE_IRQ,	}};static struct resource dma_resource[] = {	{		.start = U300_DMAC_BASE,		.end = U300_DMAC_BASE + PAGE_SIZE - 1,		.flags =  IORESOURCE_MEM,	},	{		.start = IRQ_U300_DMA,		.end = IRQ_U300_DMA,		.flags =  IORESOURCE_IRQ,	}};/* points out all dma slave channels. * Syntax is [A1, B1, A2, B2, .... ,-1,-1] * Select all channels from A to B, end of list is marked with -1,-1 */static int dma_slave_channels[] = {	U300_DMA_MSL_TX_0, U300_DMA_SPI_RX,	U300_DMA_UART1_TX, U300_DMA_UART1_RX, -1, -1};/* points out all dma memcpy channels. */static int dma_memcpy_channels[] = {	U300_DMA_GENERAL_PURPOSE_0, U300_DMA_GENERAL_PURPOSE_8, -1, -1};/** register dma for memory access * * active  1 means dma intends to access memory *         0 means dma wont access memory */static void coh901318_access_memory_state(struct device *dev, bool active){}#define flags_memcpy_config (COH901318_CX_CFG_CH_DISABLE | \			COH901318_CX_CFG_RM_MEMORY_TO_MEMORY | \			COH901318_CX_CFG_LCR_DISABLE | \			COH901318_CX_CFG_TC_IRQ_ENABLE | \			COH901318_CX_CFG_BE_IRQ_ENABLE)#define flags_memcpy_lli_chained (COH901318_CX_CTRL_TC_ENABLE | \			COH901318_CX_CTRL_BURST_COUNT_32_BYTES | \			COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS | \			COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE | \			COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS | \			COH901318_CX_CTRL_DST_ADDR_INC_ENABLE | \			COH901318_CX_CTRL_MASTER_MODE_M1RW | \			COH901318_CX_CTRL_TCP_DISABLE | \			COH901318_CX_CTRL_TC_IRQ_DISABLE | \			COH901318_CX_CTRL_HSP_DISABLE | \			COH901318_CX_CTRL_HSS_DISABLE | \			COH901318_CX_CTRL_DDMA_LEGACY | \			COH901318_CX_CTRL_PRDD_SOURCE)#define flags_memcpy_lli (COH901318_CX_CTRL_TC_ENABLE | \			COH901318_CX_CTRL_BURST_COUNT_32_BYTES | \			COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS | \			COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE | \			COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS | \			COH901318_CX_CTRL_DST_ADDR_INC_ENABLE | \			COH901318_CX_CTRL_MASTER_MODE_M1RW | \			COH901318_CX_CTRL_TCP_DISABLE | \			COH901318_CX_CTRL_TC_IRQ_DISABLE | \			COH901318_CX_CTRL_HSP_DISABLE | \			COH901318_CX_CTRL_HSS_DISABLE | \			COH901318_CX_CTRL_DDMA_LEGACY | \			COH901318_CX_CTRL_PRDD_SOURCE)#define flags_memcpy_lli_last (COH901318_CX_CTRL_TC_ENABLE | \			COH901318_CX_CTRL_BURST_COUNT_32_BYTES | \			COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS | \			COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE | \			COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS | \			COH901318_CX_CTRL_DST_ADDR_INC_ENABLE | \			COH901318_CX_CTRL_MASTER_MODE_M1RW | \			COH901318_CX_CTRL_TCP_DISABLE | \			COH901318_CX_CTRL_TC_IRQ_ENABLE | \			COH901318_CX_CTRL_HSP_DISABLE | \			COH901318_CX_CTRL_HSS_DISABLE | \			COH901318_CX_CTRL_DDMA_LEGACY | \			COH901318_CX_CTRL_PRDD_SOURCE)const struct coh_dma_channel chan_config[U300_DMA_CHANNELS] = {	{		.number = U300_DMA_MSL_TX_0,		.name = "MSL TX 0",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 0 * 0x40 + 0x20,	},	{		.number = U300_DMA_MSL_TX_1,		.name = "MSL TX 1",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 1 * 0x40 + 0x20,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,	},	{		.number = U300_DMA_MSL_TX_2,		.name = "MSL TX 2",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 2 * 0x40 + 0x20,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.desc_nbr_max = 10,	},	{		.number = U300_DMA_MSL_TX_3,		.name = "MSL TX 3",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 3 * 0x40 + 0x20,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,	},	{		.number = U300_DMA_MSL_TX_4,		.name = "MSL TX 4",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 4 * 0x40 + 0x20,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_ENABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_DISABLE |				COH901318_CX_CTRL_MASTER_MODE_M1R_M2W |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY |				COH901318_CX_CTRL_PRDD_SOURCE,	},	{		.number = U300_DMA_MSL_TX_5,		.name = "MSL TX 5",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 5 * 0x40 + 0x20,	},	{		.number = U300_DMA_MSL_TX_6,		.name = "MSL TX 6",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 6 * 0x40 + 0x20,	},	{		.number = U300_DMA_MSL_RX_0,		.name = "MSL RX 0",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 0 * 0x40 + 0x220,	},	{		.number = U300_DMA_MSL_RX_1,		.name = "MSL RX 1",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 1 * 0x40 + 0x220,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli = 0,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,	},	{		.number = U300_DMA_MSL_RX_2,		.name = "MSL RX 2",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 2 * 0x40 + 0x220,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,	},	{		.number = U300_DMA_MSL_RX_3,		.name = "MSL RX 3",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 3 * 0x40 + 0x220,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,	},	{		.number = U300_DMA_MSL_RX_4,		.name = "MSL RX 4",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 4 * 0x40 + 0x220,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,	},	{		.number = U300_DMA_MSL_RX_5,		.name = "MSL RX 5",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 5 * 0x40 + 0x220,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_BURST_COUNT_32_BYTES |				COH901318_CX_CTRL_SRC_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_SRC_ADDR_INC_DISABLE |				COH901318_CX_CTRL_DST_BUS_SIZE_32_BITS |				COH901318_CX_CTRL_DST_ADDR_INC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M2R_M1W |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_DEMAND_DMA1 |				COH901318_CX_CTRL_PRDD_DEST,	},	{		.number = U300_DMA_MSL_RX_6,		.name = "MSL RX 6",		.priority_high = 0,		.dev_addr = U300_MSL_BASE + 6 * 0x40 + 0x220,	},	/*	 * Don't set up device address, burst count or size of src	 * or dst bus for this peripheral - handled by PrimeCell	 * DMA extension.	 */	{		.number = U300_DMA_MMCSD_RX_TX,		.name = "MMCSD RX TX",		.priority_high = 0,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_DISABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,	},	{		.number = U300_DMA_MSPRO_TX,		.name = "MSPRO TX",		.priority_high = 0,	},	{		.number = U300_DMA_MSPRO_RX,		.name = "MSPRO RX",		.priority_high = 0,	},	/*	 * Don't set up device address, burst count or size of src	 * or dst bus for this peripheral - handled by PrimeCell	 * DMA extension.	 */	{		.number = U300_DMA_UART0_TX,		.name = "UART0 TX",		.priority_high = 0,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,	},	{		.number = U300_DMA_UART0_RX,		.name = "UART0 RX",		.priority_high = 0,		.param.config = COH901318_CX_CFG_CH_DISABLE |				COH901318_CX_CFG_LCR_DISABLE |				COH901318_CX_CFG_TC_IRQ_ENABLE |				COH901318_CX_CFG_BE_IRQ_ENABLE,		.param.ctrl_lli_chained = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_DISABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,		.param.ctrl_lli = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |				COH901318_CX_CTRL_TC_IRQ_ENABLE |				COH901318_CX_CTRL_HSP_ENABLE |				COH901318_CX_CTRL_HSS_DISABLE |				COH901318_CX_CTRL_DDMA_LEGACY,		.param.ctrl_lli_last = 0 |				COH901318_CX_CTRL_TC_ENABLE |				COH901318_CX_CTRL_MASTER_MODE_M1RW |				COH901318_CX_CTRL_TCP_ENABLE |
 |