OSDN Git Service

platform/chrome: Add Type C connector class driver
authorPrashant Malani <pmalani@chromium.org>
Mon, 16 Mar 2020 09:00:17 +0000 (02:00 -0700)
committerEnric Balletbo i Serra <enric.balletbo@collabora.com>
Sun, 22 Mar 2020 10:11:26 +0000 (11:11 +0100)
commitfdc6b21e2444290b69ac9ffa936bf583830dc0de
tree88cdee3a4011ce366f76c737fc14632b39687afd
parenta88214089d67b0f246cf6ae4fb0a7e0735ff3595
platform/chrome: Add Type C connector class driver

Add a driver to implement the Type C connector class for Chrome OS
devices with ECs (Embedded Controllers).

The driver relies on firmware device specifications for various port
attributes. On ACPI platforms, this is specified using the logical
device with HID GOOG0014. On DT platforms, this is specified using the
DT node with compatible string "google,cros-ec-typec".

The driver reads the device FW node and uses the port attributes to
register the typec ports with the Type C connector class framework, but
doesn't do much else.

Subsequent patches will add more functionality to the driver, including
obtaining current port information (polarity, vconn role, current power
role etc.) after querying the EC.

Co-developed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
drivers/platform/chrome/Kconfig
drivers/platform/chrome/Makefile
drivers/platform/chrome/cros_ec_typec.c [new file with mode: 0644]