diff options
| author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-10-10 22:06:12 -0700 | 
|---|---|---|
| committer | Felipe Balbi <balbi@ti.com> | 2011-10-13 20:41:47 +0300 | 
| commit | f427eb64f4c5433a91da5eb139970dd5cbad9082 (patch) | |
| tree | 777650bce6b85cfd2fd65e54eff5ffe5df1c8e38 | |
| parent | 6ff5d09bd2fd5943f5b16cb1e3453446a1f575e2 (diff) | |
| download | olio-linux-3.10-f427eb64f4c5433a91da5eb139970dd5cbad9082.tar.xz olio-linux-3.10-f427eb64f4c5433a91da5eb139970dd5cbad9082.zip  | |
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.c | 1 | ||||
| -rw-r--r-- | drivers/usb/renesas_usbhs/common.c | 4 | ||||
| -rw-r--r-- | include/linux/usb/renesas_usbhs.h | 5 | 
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 0ea71f8d4b8..c20612ea5d0 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 = {  		},  		.driver_param = {  			.buswait_bwait	= 4, +			.has_otg	= 1,  			.pipe_type	= usbhs1_pipe_cfg,  			.pipe_size	= ARRAY_SIZE(usbhs1_pipe_cfg),  		}, diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c index b327458f5ca..1161d78e166 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)  {  	u16 mask = DCFM | DRPD | DPRPU;  	u16 val  = DCFM | DRPD; +	int has_otg = usbhs_get_dparam(priv, has_otg); + +	if (has_otg) +		usbhs_bset(priv, DVSTCTR, (EXTLP | PWEN), (EXTLP | PWEN));  	/*  	 * if enable diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h index 040d8bb2b5a..e5a40c31854 100644 --- a/include/linux/usb/renesas_usbhs.h +++ b/include/linux/usb/renesas_usbhs.h @@ -136,6 +136,11 @@ struct renesas_usbhs_driver_param {  	 * pio <--> dma border.  	 */  	int pio_dma_border; /* default is 64byte */ + +	/* +	 * option: +	 */ +	u32 has_otg:1; /* for controlling PWEN/EXTLP */  };  /*  |