diff options
author | Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> | 2014-11-10 20:02:47 +0900 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-11-12 09:11:31 -0600 |
commit | d3cf6a4b01894e69e9e800ef76f34eaa13357ff1 (patch) | |
tree | e4a6fb6fc850b1c3d5750d847874b650af349f58 | |
parent | 53e734b1ec13af5e4d687681275a56acfde646ba (diff) | |
download | blackbird-op-linux-d3cf6a4b01894e69e9e800ef76f34eaa13357ff1.tar.gz blackbird-op-linux-d3cf6a4b01894e69e9e800ef76f34eaa13357ff1.zip |
usb: renesas_usbhs: expand USB-DMAC channels for R-Car Gen2
This patch expands USB-DMAC channels for R-Car Gen2 SoCs. The SoCs
have 4 channels. If d{2,3}_{t,x}x_id are not set, this driver never
uses the expanded USB-DMAC channels.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r-- | drivers/usb/renesas_usbhs/common.h | 4 | ||||
-rw-r--r-- | drivers/usb/renesas_usbhs/fifo.c | 2 | ||||
-rw-r--r-- | drivers/usb/renesas_usbhs/fifo.h | 2 | ||||
-rw-r--r-- | include/linux/usb/renesas_usbhs.h | 4 |
4 files changed, 11 insertions, 1 deletions
diff --git a/drivers/usb/renesas_usbhs/common.h b/drivers/usb/renesas_usbhs/common.h index c45667f942b6..0427cdd1a483 100644 --- a/drivers/usb/renesas_usbhs/common.h +++ b/drivers/usb/renesas_usbhs/common.h @@ -102,6 +102,10 @@ struct usbhs_priv; #define DEVADD8 0x00E0 #define DEVADD9 0x00E2 #define DEVADDA 0x00E4 +#define D2FIFOSEL 0x00F0 /* for R-Car Gen2 */ +#define D2FIFOCTR 0x00F2 /* for R-Car Gen2 */ +#define D3FIFOSEL 0x00F4 /* for R-Car Gen2 */ +#define D3FIFOCTR 0x00F6 /* for R-Car Gen2 */ /* SYSCFG */ #define SCKE (1 << 10) /* USB Module Clock Enable */ diff --git a/drivers/usb/renesas_usbhs/fifo.c b/drivers/usb/renesas_usbhs/fifo.c index bc9a0506b54e..f46271ce1b15 100644 --- a/drivers/usb/renesas_usbhs/fifo.c +++ b/drivers/usb/renesas_usbhs/fifo.c @@ -1234,6 +1234,8 @@ int usbhs_fifo_probe(struct usbhs_priv *priv) /* DFIFO */ USBHS_DFIFO_INIT(priv, fifo, 0); USBHS_DFIFO_INIT(priv, fifo, 1); + USBHS_DFIFO_INIT_NO_PORT(priv, fifo, 2); + USBHS_DFIFO_INIT_NO_PORT(priv, fifo, 3); return 0; } diff --git a/drivers/usb/renesas_usbhs/fifo.h b/drivers/usb/renesas_usbhs/fifo.h index 899729ac085f..f07037c1185f 100644 --- a/drivers/usb/renesas_usbhs/fifo.h +++ b/drivers/usb/renesas_usbhs/fifo.h @@ -38,7 +38,7 @@ struct usbhs_fifo { struct sh_dmae_slave rx_slave; }; -#define USBHS_MAX_NUM_DFIFO 2 +#define USBHS_MAX_NUM_DFIFO 4 struct usbhs_fifo_info { struct usbhs_fifo cfifo; struct usbhs_fifo dfifo[USBHS_MAX_NUM_DFIFO]; diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h index d5952bb66752..9fd9e481ea98 100644 --- a/include/linux/usb/renesas_usbhs.h +++ b/include/linux/usb/renesas_usbhs.h @@ -145,6 +145,10 @@ struct renesas_usbhs_driver_param { int d0_rx_id; int d1_tx_id; int d1_rx_id; + int d2_tx_id; + int d2_rx_id; + int d3_tx_id; + int d3_rx_id; /* * option: |