* [PATCH v1] usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag
@ 2023-09-18 16:10 Tomer Maimon
2023-09-19 7:17 ` J. Neuschäfer
0 siblings, 1 reply; 2+ messages in thread
From: Tomer Maimon @ 2023-09-18 16:10 UTC (permalink / raw)
To: peter.chen, gregkh, avifishman70, tali.perry1, joel, venture,
yuenn, benjaminfair, j.neuschaefer
Cc: openbmc, linux-usb, linux-kernel, Tomer Maimon
Adding CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag to modify the vbus_active
parameter to active in case the ChipIdea USB IP role is device-only and
there is no otgsc register.
Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
---
drivers/usb/chipidea/otg.c | 5 ++++-
include/linux/usb/chipidea.h | 1 +
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c
index f5490f2a5b6b..647e98f4e351 100644
--- a/drivers/usb/chipidea/otg.c
+++ b/drivers/usb/chipidea/otg.c
@@ -130,8 +130,11 @@ enum ci_role ci_otg_role(struct ci_hdrc *ci)
void ci_handle_vbus_change(struct ci_hdrc *ci)
{
- if (!ci->is_otg)
+ if (!ci->is_otg) {
+ if (ci->platdata->flags & CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS)
+ usb_gadget_vbus_connect(&ci->gadget);
return;
+ }
if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active)
usb_gadget_vbus_connect(&ci->gadget);
diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h
index 0b4f2d5faa08..5a7f96684ea2 100644
--- a/include/linux/usb/chipidea.h
+++ b/include/linux/usb/chipidea.h
@@ -64,6 +64,7 @@ struct ci_hdrc_platform_data {
#define CI_HDRC_PMQOS BIT(15)
#define CI_HDRC_PHY_VBUS_CONTROL BIT(16)
#define CI_HDRC_HAS_PORTSC_PEC_MISSED BIT(17)
+#define CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS BIT(18)
enum usb_dr_mode dr_mode;
#define CI_HDRC_CONTROLLER_RESET_EVENT 0
#define CI_HDRC_CONTROLLER_STOPPED_EVENT 1
--
2.33.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v1] usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag
2023-09-18 16:10 [PATCH v1] usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag Tomer Maimon
@ 2023-09-19 7:17 ` J. Neuschäfer
0 siblings, 0 replies; 2+ messages in thread
From: J. Neuschäfer @ 2023-09-19 7:17 UTC (permalink / raw)
To: Tomer Maimon
Cc: peter.chen, gregkh, avifishman70, tali.perry1, joel, venture,
yuenn, benjaminfair, j.neuschaefer, openbmc, linux-usb,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1843 bytes --]
On Mon, Sep 18, 2023 at 07:10:28PM +0300, Tomer Maimon wrote:
> Adding CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag to modify the vbus_active
> parameter to active in case the ChipIdea USB IP role is device-only and
> there is no otgsc register.
>
> Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
I think it would make sense to include this patch as part of the
patchset that uses the functionality to enable NPCM support, so that
reviewers would immediately see the context in which it is used.
Jonathan
> ---
> drivers/usb/chipidea/otg.c | 5 ++++-
> include/linux/usb/chipidea.h | 1 +
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c
> index f5490f2a5b6b..647e98f4e351 100644
> --- a/drivers/usb/chipidea/otg.c
> +++ b/drivers/usb/chipidea/otg.c
> @@ -130,8 +130,11 @@ enum ci_role ci_otg_role(struct ci_hdrc *ci)
>
> void ci_handle_vbus_change(struct ci_hdrc *ci)
> {
> - if (!ci->is_otg)
> + if (!ci->is_otg) {
> + if (ci->platdata->flags & CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS)
> + usb_gadget_vbus_connect(&ci->gadget);
> return;
> + }
>
> if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active)
> usb_gadget_vbus_connect(&ci->gadget);
> diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h
> index 0b4f2d5faa08..5a7f96684ea2 100644
> --- a/include/linux/usb/chipidea.h
> +++ b/include/linux/usb/chipidea.h
> @@ -64,6 +64,7 @@ struct ci_hdrc_platform_data {
> #define CI_HDRC_PMQOS BIT(15)
> #define CI_HDRC_PHY_VBUS_CONTROL BIT(16)
> #define CI_HDRC_HAS_PORTSC_PEC_MISSED BIT(17)
> +#define CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS BIT(18)
> enum usb_dr_mode dr_mode;
> #define CI_HDRC_CONTROLLER_RESET_EVENT 0
> #define CI_HDRC_CONTROLLER_STOPPED_EVENT 1
> --
> 2.33.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-09-19 7:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-18 16:10 [PATCH v1] usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag Tomer Maimon
2023-09-19 7:17 ` J. Neuschäfer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).