Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2195e3af authored by Chris Brandt's avatar Chris Brandt Committed by Greg Kroah-Hartman
Browse files

usb: renesas_usbhs: add support for CNEN bit



For some SoC, CNEN must be set for USB Device mode operation.

Signed-off-by: default avatarChris Brandt <chris.brandt@renesas.com>
Reviewed-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: default avatarSimon Horman <horms+renesas@verge.net.au>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 97a79684
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -114,6 +114,12 @@ void usbhs_sys_function_ctrl(struct usbhs_priv *priv, int enable)
	u16 mask = DCFM | DRPD | DPRPU | HSE | USBE;
	u16 val  = HSE | USBE;

	/* CNEN bit is required for function operation */
	if (usbhs_get_dparam(priv, has_cnen)) {
		mask |= CNEN;
		val  |= CNEN;
	}

	/*
	 * if enable
	 *
+1 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ struct usbhs_priv;

/* SYSCFG */
#define SCKE	(1 << 10)	/* USB Module Clock Enable */
#define CNEN	(1 << 8)	/* Single-ended receiver operation Enable */
#define HSE	(1 << 7)	/* High-Speed Operation Enable */
#define DCFM	(1 << 6)	/* Controller Function Select */
#define DRPD	(1 << 5)	/* D+ Line/D- Line Resistance Control */
+1 −0
Original line number Diff line number Diff line
@@ -190,6 +190,7 @@ struct renesas_usbhs_driver_param {
	u32 has_sudmac:1; /* for SUDMAC */
	u32 has_usb_dmac:1; /* for USB-DMAC */
	u32 runtime_pwctrl:1;
	u32 has_cnen:1;
#define USBHS_USB_DMAC_XFER_SIZE	32	/* hardcode the xfer size */
};