All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] thunderbolt: Add retimer NVM upgrade support
@ 2020-06-16 13:56 Mika Westerberg
  2020-06-16 13:56 ` [PATCH 1/6] thunderbolt: Add Intel USB-IF ID to the NVM upgrade supported list Mika Westerberg
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Mika Westerberg @ 2020-06-16 13:56 UTC (permalink / raw)
  To: linux-usb
  Cc: Andreas Noever, Michael Jamet, Mika Westerberg, Yehezkel Bernat,
	Kranthi Kuntala, Rajmohan Mani, Mario.Limonciello,
	Greg Kroah-Hartman, Lukas Wunner

Hi all,

USB4 added standard means for accessing retimers on the link. This access
is done through the side-band channel (two side-band wires in Type-C
cable). The retimer specification is part of USB4 spec and can be
downloaded here:

  https://www.usb.org/sites/default/files/USB4%20Specification_5.zip

On-board retimers are represented as devices and added under the router
they belong to with names like <device>:<port>.<index>. We re-use some of
the current NVM upgrade code for routers for retimers as well. Also we only
expose these when software connection manager is used. It is not clear if
firmware connection manager is going to support this (and what kind of
messaging it needs).

The user-space interface is the same we have for routers so that should
allow code re-use for tools such as fwupd.

Currently only Intel NVM format is supported but this will be relaxed once
we learn format of other vendors.

This series applies on top of the tunneling improvements series here:

  https://lore.kernel.org/linux-usb/20200615142645.56209-1-mika.westerberg@linux.intel.com/

Kranthi Kuntala (1):
  thunderbolt: Add support for on-board retimers

Mika Westerberg (4):
  thunderbolt: Add Intel USB-IF ID to the NVM upgrade supported list
  thunderbolt: Split common NVM functionality into a separate file
  thunderbolt: Generalize usb4_switch_do_[read|write]_data()
  thunderbolt: Retry USB4 block read operation

Rajmohan Mani (1):
  thunderbolt: Implement USB4 port sideband operations for retimer access

 .../ABI/testing/sysfs-bus-thunderbolt         |  33 ++
 Documentation/admin-guide/thunderbolt.rst     |  11 +-
 drivers/thunderbolt/Makefile                  |   1 +
 drivers/thunderbolt/domain.c                  |   2 +-
 drivers/thunderbolt/nvm.c                     | 169 ++++++
 drivers/thunderbolt/retimer.c                 | 485 +++++++++++++++++
 drivers/thunderbolt/sb_regs.h                 |  33 ++
 drivers/thunderbolt/switch.c                  | 122 +----
 drivers/thunderbolt/tb.c                      |  10 +
 drivers/thunderbolt/tb.h                      |  85 ++-
 drivers/thunderbolt/tb_regs.h                 |  10 +
 drivers/thunderbolt/usb4.c                    | 505 +++++++++++++++++-
 12 files changed, 1338 insertions(+), 128 deletions(-)
 create mode 100644 drivers/thunderbolt/nvm.c
 create mode 100644 drivers/thunderbolt/retimer.c
 create mode 100644 drivers/thunderbolt/sb_regs.h

-- 
2.27.0.rc2


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-06-30 12:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-16 13:56 [PATCH 0/6] thunderbolt: Add retimer NVM upgrade support Mika Westerberg
2020-06-16 13:56 ` [PATCH 1/6] thunderbolt: Add Intel USB-IF ID to the NVM upgrade supported list Mika Westerberg
2020-06-16 13:56 ` [PATCH 2/6] thunderbolt: Split common NVM functionality into a separate file Mika Westerberg
2020-06-16 13:56 ` [PATCH 3/6] thunderbolt: Generalize usb4_switch_do_[read|write]_data() Mika Westerberg
2020-06-16 13:56 ` [PATCH 4/6] thunderbolt: Retry USB4 block read operation Mika Westerberg
2020-06-16 13:56 ` [PATCH 5/6] thunderbolt: Implement USB4 port sideband operations for retimer access Mika Westerberg
2020-06-16 13:56 ` [PATCH 6/6] thunderbolt: Add support for on-board retimers Mika Westerberg
2020-06-30 12:21 ` [PATCH 0/6] thunderbolt: Add retimer NVM upgrade support Mika Westerberg

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.