[RFC PATCH 0/2] usb: typec: alternate mode bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi guys,

The bus allows SVID specific communication with the partners to be
handled in separate drivers for each alternate mode.

Alternate mode handling happens with two separate logical devices:
1. Partner alternate mode devices which represent the alternate modes
   on the partner. The driver for them will handle the alternate mode
   specific communication with the partner using VDMs.
2. Port alternate mode devices which represent connections from the
   USB Type-C port to devices on the platform.

The drivers will be bind to the partner alternate modes. The alternate
mode drivers will need to deliver the result of the negotiated pin
configurations to the rest of the platform (towards the port alternate
mode devices). This series includes API for that, however, not the
final implementation yet.

The connections to the other devices on the platform the ports have
can be described by using the remote endpoint concept [1][2] on ACPI
and DT platforms, but I have no solution for the "platform data" case
where we have neither DT nor ACPI to describe the connections for us.

[1] Documentation/devicetree/bindings/graph.txt
[2] Documentation/acpi/dsd/graph.txt


Heikki Krogerus (2):
  usb: typec: Simple bus for alternate modes
  usb: typec: dummy alternate mode driver

 drivers/usb/typec/Kconfig              |   2 +
 drivers/usb/typec/Makefile             |   3 +
 drivers/usb/typec/altmode.c            | 249 +++++++++++++++++++++++++++++++++
 drivers/usb/typec/altmode.h            |  46 ++++++
 drivers/usb/typec/altmodes/Kconfig     |   9 ++
 drivers/usb/typec/altmodes/Makefile    |   2 +
 drivers/usb/typec/altmodes/dummy.c     | 133 ++++++++++++++++++
 drivers/usb/typec/{typec.c => class.c} | 128 ++++++++++++-----
 drivers/usb/typec/tcpm.c               |   2 +-
 include/linux/usb/typec.h              |   6 +-
 include/linux/usb/typec_altmode.h      |  65 +++++++++
 11 files changed, 608 insertions(+), 37 deletions(-)
 create mode 100644 drivers/usb/typec/altmode.c
 create mode 100644 drivers/usb/typec/altmode.h
 create mode 100644 drivers/usb/typec/altmodes/Kconfig
 create mode 100644 drivers/usb/typec/altmodes/Makefile
 create mode 100644 drivers/usb/typec/altmodes/dummy.c
 rename drivers/usb/typec/{typec.c => class.c} (93%)
 create mode 100644 include/linux/usb/typec_altmode.h

-- 
2.14.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux