From: Peter Rosin <peda@axentia.se>
To: Hans de Goede <hdegoede@redhat.com>,
MyungJoo Ham <myungjoo.ham@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Guenter Roeck <linux@roeck-us.net>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Darren Hart <dvhart@infradead.org>,
Andy Shevchenko <andy@infradead.org>,
Mathias Nyman <mathias.nyman@intel.com>
Cc: linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org, devel@driverdev.osuosl.org,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Sathyanarayanan Kuppuswamy Natarajan <sathyaosid@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org
Subject: Re: [PATCH v2 03/11] mux: core: Add usb.h header with MUX_USB_* and and MUX_TYPEC_* state constants
Date: Fri, 8 Sep 2017 17:47:12 +0200 [thread overview]
Message-ID: <ef2cb0f4-00c4-fac4-2bf9-cc0230dba752@axentia.se> (raw)
In-Reply-To: <20170905164221.11266-4-hdegoede@redhat.com>
On 2017-09-05 18:42, Hans de Goede wrote:
> Add MUX_USB_* and MUX_TYPEC_* state constant defines, which can be used by
> USB device/host, resp. Type-C polarity/role/altmode mux drivers and
> consumers to ensure that they agree on the meaning of the
> mux_control_select() state argument.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> Changes in v2:
> -Start numbering of defines at 0 not 1
> -Use a new usb.h header, rather then adding these to consumer.h
> -Add separate MUX_USB_* and MUX_TYPEC_* defines
> ---
> include/linux/mux/usb.h | 32 ++++++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 include/linux/mux/usb.h
>
> diff --git a/include/linux/mux/usb.h b/include/linux/mux/usb.h
> new file mode 100644
> index 000000000000..44df5eca5256
> --- /dev/null
> +++ b/include/linux/mux/usb.h
> @@ -0,0 +1,32 @@
> +/*
> + * mux/usb.h - definitions for USB multiplexers
> + *
> + * Copyright (C) 2017 Hans de Goede <hdegoede@redhat.com>
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +#ifndef _LINUX_MUX_USB_H
> +#define _LINUX_MUX_USB_H
> +
> +/* Mux state values for USB device/host role muxes */
> +#define MUX_USB_DEVICE (0) /* USB device mode */
> +#define MUX_USB_HOST (1) /* USB host mode */
> +#define MUX_USB_STATES (2)
> +
> +/*
> + * Mux state values for Type-C polarity/role/altmode muxes.
> + *
> + * MUX_TYPEC_POLARITY_INV may be or-ed together with any other mux-state as
> + * inverted-polarity (Type-C plugged in upside down) can happen with any
> + * other mux-state.
> + */
> +#define MUX_TYPEC_POLARITY_INV BIT(0) /* Polarity inverted bit */
> +#define MUX_TYPEC_DEVICE (0 << 1) /* USB device mode */
> +#define MUX_TYPEC_HOST (1 << 1) /* USB host mode */
> +#define MUX_TYPEC_HOST_AND_DP_SRC (2 << 1) /* USB host + 2 lanes DP src */
> +#define MUX_TYPEC_DP_SRC (3 << 1) /* 4 lanes Display Port src */
> +#define MUX_TYPEC_STATES (4 << 1)
But USB Type-C muxes need not support just these states If I read it right?
USB Type-C seems to be usable for a variety of protocols and the above list
seems pretty much like a special case for this mux (and perhaps a set of
other similar muxes). But when someone with a USB Type-C mux for different
protocols shows up, that person will probably be frustrated by these
defines, no? Or is there something I don't see that limits USB-C to DP?
Cheers,
Peter
> +
> +#endif /* _LINUX_MUX_TYPEC_H */
>
next prev parent reply other threads:[~2017-09-08 15:47 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-05 16:42 [PATCH v2 00/11] mux/typec: Add USB / TypeC mux drivers and hook them up on some x86 systems Hans de Goede
2017-09-05 16:42 ` [PATCH v2 01/11] mux: core: Add of_mux_control_get helper function Hans de Goede
2017-09-05 16:42 ` [PATCH v2 02/11] mux: core: Add support for getting a mux controller on a non DT platform Hans de Goede
2017-09-05 16:42 ` [PATCH v2 03/11] mux: core: Add usb.h header with MUX_USB_* and and MUX_TYPEC_* state constants Hans de Goede
2017-09-08 15:47 ` Peter Rosin [this message]
2017-09-08 17:07 ` Hans de Goede
2017-09-10 21:36 ` Peter Rosin
2017-09-21 12:07 ` Hans de Goede
2017-09-05 16:42 ` [PATCH v2 04/11] usb: xhci: Add Intel cherrytrail extended cap / otg phy mux handling Hans de Goede
2017-09-07 13:14 ` Mathias Nyman
2017-09-07 15:49 ` Hans de Goede
2017-09-19 12:40 ` Mathias Nyman
2017-09-21 11:55 ` Hans de Goede
2017-09-08 15:47 ` Peter Rosin
2017-09-05 16:42 ` [PATCH v2 05/11] mux: Add Intel Cherrytrail USB mux driver Hans de Goede
2017-09-08 15:45 ` Peter Rosin
2017-09-08 15:45 ` [PATCH 1/2] mux: add mux_control_get_optional() API Peter Rosin
2017-09-08 15:54 ` Peter Rosin
2017-09-19 18:35 ` Hans de Goede
2017-09-20 16:11 ` Stephen Boyd
2017-09-08 15:45 ` [PATCH 2/2] mux: add explicit hook to leave the mux as-is on init/registration Peter Rosin
2017-09-19 16:38 ` [PATCH v2 05/11] mux: Add Intel Cherrytrail USB mux driver Hans de Goede
2017-09-05 16:42 ` [PATCH v2 06/11] mux: Add Pericom PI3USB30532 Type-C " Hans de Goede
2017-09-05 16:42 ` [PATCH v2 07/11] extcon: intel-int3496: Add support for controlling the USB-role mux Hans de Goede
2017-09-05 16:42 ` [PATCH v2 08/11] staging: typec: tcpm: Set mux to device mode when configured as such Hans de Goede
2017-09-10 22:56 ` Guenter Roeck
2017-09-22 14:02 ` Hans de Goede
2017-09-05 16:42 ` [PATCH v2 09/11] staging: typec: Add Generic TCPC mux driver using the mux subsys Hans de Goede
2017-09-05 16:42 ` [PATCH v2 10/11] staging: typec: fusb302: Hook up mux support using tcpc_gen_mux support Hans de Goede
2017-09-12 22:20 ` Rob Herring
2017-09-13 8:56 ` Hans de Goede
2017-09-13 13:38 ` Rob Herring
2017-09-13 14:06 ` Hans de Goede
2017-09-13 15:07 ` Rob Herring
2017-09-13 15:48 ` Hans de Goede
2017-09-13 16:17 ` Guenter Roeck
2017-09-25 10:34 ` Peter Rosin
2017-09-25 11:35 ` Hans de Goede
2017-09-25 13:45 ` Peter Rosin
2017-09-25 14:17 ` Hans de Goede
2017-09-05 16:42 ` [PATCH v2 11/11] platform/x86: intel_cht_int33fe: Add mux mappings for the Type-C port Hans de Goede
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=ef2cb0f4-00c4-fac4-2bf9-cc0230dba752@axentia.se \
--to=peda@axentia.se \
--cc=andy@infradead.org \
--cc=cw00.choi@samsung.com \
--cc=devel@driverdev.osuosl.org \
--cc=dvhart@infradead.org \
--cc=gregkh@linuxfoundation.org \
--cc=hdegoede@redhat.com \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mathias.nyman@intel.com \
--cc=myungjoo.ham@samsung.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=sathyaosid@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®