aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2011-10-11 01:06:12 -0400
committerFelipe Balbi <balbi@ti.com>2011-10-13 13:41:47 -0400
commitf427eb64f4c5433a91da5eb139970dd5cbad9082 (patch)
tree777650bce6b85cfd2fd65e54eff5ffe5df1c8e38
parent6ff5d09bd2fd5943f5b16cb1e3453446a1f575e2 (diff)
usb: gadget: renesas_usbhs: support otg pin control
some renesas_usbhs device is supporting OTG external device interface. In that device, it is necessary to control PWEN/EXTLP on DVSTCTR. This patch support it. But renesas_usbhs driver doesn't have OTG support for now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c1
-rw-r--r--drivers/usb/renesas_usbhs/common.c4
-rw-r--r--include/linux/usb/renesas_usbhs.h5
3 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 0ea71f8d4b89..c20612ea5d0e 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -808,6 +808,7 @@ static struct usbhs_private usbhs1_private = {
808 }, 808 },
809 .driver_param = { 809 .driver_param = {
810 .buswait_bwait = 4, 810 .buswait_bwait = 4,
811 .has_otg = 1,
811 .pipe_type = usbhs1_pipe_cfg, 812 .pipe_type = usbhs1_pipe_cfg,
812 .pipe_size = ARRAY_SIZE(usbhs1_pipe_cfg), 813 .pipe_size = ARRAY_SIZE(usbhs1_pipe_cfg),
813 }, 814 },
diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
index b327458f5cad..1161d78e1665 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -114,6 +114,10 @@ void usbhs_sys_host_ctrl(struct usbhs_priv *priv, int enable)
114{ 114{
115 u16 mask = DCFM | DRPD | DPRPU; 115 u16 mask = DCFM | DRPD | DPRPU;
116 u16 val = DCFM | DRPD; 116 u16 val = DCFM | DRPD;
117 int has_otg = usbhs_get_dparam(priv, has_otg);
118
119 if (has_otg)
120 usbhs_bset(priv, DVSTCTR, (EXTLP | PWEN), (EXTLP | PWEN));
117 121
118 /* 122 /*
119 * if enable 123 * if enable
diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h
index 040d8bb2b5a2..e5a40c318548 100644
--- a/include/linux/usb/renesas_usbhs.h
+++ b/include/linux/usb/renesas_usbhs.h
@@ -136,6 +136,11 @@ struct renesas_usbhs_driver_param {
136 * pio <--> dma border. 136 * pio <--> dma border.
137 */ 137 */
138 int pio_dma_border; /* default is 64byte */ 138 int pio_dma_border; /* default is 64byte */
139
140 /*
141 * option:
142 */
143 u32 has_otg:1; /* for controlling PWEN/EXTLP */
139}; 144};
140 145
141/* 146/*