All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Brandt <chris.brandt@renesas.com>
To: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Simon Horman <horms@verge.net.au>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org, Chris
Subject: [PATCH v3 09/15] usb: renesas_usbhs: add support for CNEN bit
Date: Tue, 14 May 2019 09:55:59 -0500	[thread overview]
Message-ID: <20190514145605.19112-10-chris.brandt@renesas.com> (raw)
In-Reply-To: <20190514145605.19112-1-chris.brandt@renesas.com>

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

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
---
v2:
 * options are now held in param
---
 drivers/usb/renesas_usbhs/common.c | 6 ++++++
 drivers/usb/renesas_usbhs/common.h | 1 +
 include/linux/usb/renesas_usbhs.h  | 1 +
 3 files changed, 8 insertions(+)

diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
index 1de7a44f3415..734fb4e542c5 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -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
 	 *
diff --git a/drivers/usb/renesas_usbhs/common.h b/drivers/usb/renesas_usbhs/common.h
index 1fbffb7bbc8f..de74ebd1a347 100644
--- a/drivers/usb/renesas_usbhs/common.h
+++ b/drivers/usb/renesas_usbhs/common.h
@@ -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 */
diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h
index 17fae6e504cc..9097a38fcda8 100644
--- a/include/linux/usb/renesas_usbhs.h
+++ b/include/linux/usb/renesas_usbhs.h
@@ -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 */
 };
 
-- 
2.16.1

WARNING: multiple messages have this Message-ID (diff)
From: Chris Brandt <chris.brandt@renesas.com>
To: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Simon Horman <horms@verge.net.au>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	<linux-usb@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-renesas-soc@vger.kernel.org>,
	"Chris Brandt" <chris.brandt@renesas.com>
Subject: [PATCH v3 09/15] usb: renesas_usbhs: add support for CNEN bit
Date: Tue, 14 May 2019 09:55:59 -0500	[thread overview]
Message-ID: <20190514145605.19112-10-chris.brandt@renesas.com> (raw)
In-Reply-To: <20190514145605.19112-1-chris.brandt@renesas.com>

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

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
---
v2:
 * options are now held in param
---
 drivers/usb/renesas_usbhs/common.c | 6 ++++++
 drivers/usb/renesas_usbhs/common.h | 1 +
 include/linux/usb/renesas_usbhs.h  | 1 +
 3 files changed, 8 insertions(+)

diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
index 1de7a44f3415..734fb4e542c5 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -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
 	 *
diff --git a/drivers/usb/renesas_usbhs/common.h b/drivers/usb/renesas_usbhs/common.h
index 1fbffb7bbc8f..de74ebd1a347 100644
--- a/drivers/usb/renesas_usbhs/common.h
+++ b/drivers/usb/renesas_usbhs/common.h
@@ -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 */
diff --git a/include/linux/usb/renesas_usbhs.h b/include/linux/usb/renesas_usbhs.h
index 17fae6e504cc..9097a38fcda8 100644
--- a/include/linux/usb/renesas_usbhs.h
+++ b/include/linux/usb/renesas_usbhs.h
@@ -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 */
 };
 
-- 
2.16.1


  parent reply	other threads:[~2019-05-14 14:55 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14 14:55 [PATCH v3 00/15] usb: Add host and device support for RZ/A2 Chris Brandt
2019-05-14 14:55 ` Chris Brandt
2019-05-14 14:55 ` [PATCH v3 01/15] ARM: dts: r7s9210: Add USB clock Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-15  7:38   ` Geert Uytterhoeven
2019-05-15  7:38     ` Geert Uytterhoeven
2019-05-15  7:52     ` Simon Horman
2019-05-15  7:52       ` Simon Horman
2019-05-14 14:55 ` [PATCH v3 02/15] ARM: dts: rza2mevb: Add 48MHz " Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-15  7:43   ` Geert Uytterhoeven
2019-05-15  7:43     ` Geert Uytterhoeven
2019-05-15  7:53     ` Simon Horman
2019-05-15  7:53       ` Simon Horman
2019-05-14 14:55 ` [PATCH v3 03/15] phy: renesas: rcar-gen3-usb2: detect usb_x1 clock Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-15  7:32   ` Yoshihiro Shimoda
2019-05-15  7:32     ` Yoshihiro Shimoda
2019-05-15  8:02   ` Simon Horman
2019-05-15  8:30   ` Kuninori Morimoto
2019-05-15  8:30     ` Kuninori Morimoto
2019-05-14 14:55 ` [PATCH v3 04/15] dt-bindings: rcar-gen3-phy-usb2: Document use of usb_x1 Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-14 19:29   ` Rob Herring
2019-05-14 19:29     ` Rob Herring
2019-05-15  7:33   ` Yoshihiro Shimoda
2019-05-15  7:33     ` Yoshihiro Shimoda
2019-05-15  7:35   ` Geert Uytterhoeven
2019-05-15  7:35     ` Geert Uytterhoeven
2019-05-15  8:39     ` Sergei Shtylyov
2019-05-15  8:39       ` Sergei Shtylyov
2019-05-15  9:03       ` Geert Uytterhoeven
2019-05-15  9:03         ` Geert Uytterhoeven
2019-05-15  7:57   ` Simon Horman
2019-05-14 14:55 ` [PATCH v3 05/15] phy: renesas: rcar-gen3-usb2: Check dr_mode when not using OTG Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-15  7:34   ` Yoshihiro Shimoda
2019-05-15  7:34     ` Yoshihiro Shimoda
2019-05-15  8:01   ` Simon Horman
2019-05-14 14:55 ` [PATCH v3 06/15] dt-bindings: rcar-gen3-phy-usb2: Document dr_mode Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-14 19:29   ` Rob Herring
2019-05-14 19:29     ` Rob Herring
2019-05-15  7:36   ` Yoshihiro Shimoda
2019-05-15  7:36     ` Yoshihiro Shimoda
2019-05-15  7:56   ` Simon Horman
2019-05-14 14:55 ` [PATCH v3 07/15] dt-bindings: rcar-gen3-phy-usb2: Add r7s9210 support Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-14 19:30   ` Rob Herring
2019-05-14 19:30     ` Rob Herring
2019-05-15  7:37   ` Yoshihiro Shimoda
2019-05-15  7:37     ` Yoshihiro Shimoda
2019-05-15  7:56   ` Simon Horman
2019-05-14 14:55 ` [PATCH v3 08/15] usb: renesas_usbhs: move flags to param Chris Brandt
2019-05-14 14:55   ` Chris Brandt
2019-05-15  7:45   ` Yoshihiro Shimoda
2019-05-15  7:45     ` Yoshihiro Shimoda
2019-05-15  7:55   ` Simon Horman
2019-05-14 14:55 ` Chris Brandt [this message]
2019-05-14 14:55   ` [PATCH v3 09/15] usb: renesas_usbhs: add support for CNEN bit Chris Brandt
2019-05-15  7:46   ` Yoshihiro Shimoda
2019-05-15  7:46     ` Yoshihiro Shimoda
2019-05-15  7:55   ` Simon Horman
2019-05-14 14:56 ` [PATCH v3 10/15] usb: renesas_usbhs: support byte addressable CFIFO Chris Brandt
2019-05-14 14:56   ` Chris Brandt
2019-05-15  7:48   ` Yoshihiro Shimoda
2019-05-15  7:48     ` Yoshihiro Shimoda
2019-05-15  7:57     ` Yoshihiro Shimoda
2019-05-15  7:57       ` Yoshihiro Shimoda
2019-05-15  8:05   ` Simon Horman
2019-05-14 14:56 ` [PATCH v3 11/15] usb: renesas_usbhs: Add support for RZ/A2 Chris Brandt
2019-05-14 14:56   ` Chris Brandt
2019-05-15  7:52   ` Yoshihiro Shimoda
2019-05-15  7:52     ` Yoshihiro Shimoda
2019-05-15 13:09     ` Chris Brandt
2019-05-15 13:09       ` Chris Brandt
2019-05-15  8:06   ` Simon Horman
2019-05-15  8:26   ` Kuninori Morimoto
2019-05-15  8:26     ` Kuninori Morimoto
2019-05-15 14:18     ` Chris Brandt
2019-05-15 14:18       ` Chris Brandt
2019-05-14 14:56 ` [PATCH v3 12/15] dt-bindings: usb: renesas_usbhs: Add support for r7s9210 Chris Brandt
2019-05-14 14:56   ` Chris Brandt
2019-05-14 19:30   ` Rob Herring
2019-05-14 19:30     ` Rob Herring
2019-05-15  7:53   ` Yoshihiro Shimoda
2019-05-15  7:53     ` Yoshihiro Shimoda
2019-05-15  8:00   ` Geert Uytterhoeven
2019-05-15  8:00     ` Geert Uytterhoeven
2019-05-15 13:11     ` Chris Brandt
2019-05-15 13:11       ` Chris Brandt
2019-05-15  8:07   ` Simon Horman
2019-05-14 14:56 ` [PATCH v3 13/15] ARM: dts: r7s9210: Add USB Host support Chris Brandt
2019-05-14 14:56   ` Chris Brandt
2019-05-15  7:59   ` Geert Uytterhoeven
2019-05-15  7:59     ` Geert Uytterhoeven
2019-05-15 13:38     ` Chris Brandt
2019-05-15 13:38       ` Chris Brandt
2019-05-15  9:05   ` Geert Uytterhoeven
2019-05-15  9:05     ` Geert Uytterhoeven
2019-05-14 14:56 ` [PATCH v3 14/15] ARM: dts: r7s9210: Add USB Device support Chris Brandt
2019-05-14 14:56   ` Chris Brandt
2019-05-15  8:02   ` Geert Uytterhoeven
2019-05-15  8:02     ` Geert Uytterhoeven
2019-05-14 14:56 ` [PATCH v3 15/15] ARM: dts: rza2mevb: Add USB host support Chris Brandt
2019-05-14 14:56   ` Chris Brandt
2019-05-15  8:21   ` Geert Uytterhoeven
2019-05-15  8:21     ` Geert Uytterhoeven
2019-05-15 14:03     ` Chris Brandt
2019-05-15 14:03       ` Chris Brandt
2019-05-15 14:33       ` Geert Uytterhoeven
2019-05-15 14:33         ` Geert Uytterhoeven
2019-05-15 14:54         ` Chris Brandt
2019-05-15 14:54           ` Chris Brandt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190514145605.19112-10-chris.brandt@renesas.com \
    --to=chris.brandt@renesas.com \
    --cc=chunfeng.yun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=horms@verge.net.au \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.