thunderbolt: Add support for Intel Ice Lake
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 16 Jan 2018 20:19:00 +0000 (22:19 +0200)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Mon, 26 Aug 2019 09:15:06 +0000 (12:15 +0300)
commit3cdb9446a117d5d63af823bde6fe6babc312e77b
tree7359140a756c47d7ac7823d855420e9155a7c274
parent3f415e5ee18b0097755afc3ac3a5640b196a239e
thunderbolt: Add support for Intel Ice Lake

The Thunderbolt controller is integrated into the Ice Lake CPU itself
and requires special flows to power it on and off using force power bit
in NHI VSEC registers. Runtime PM (RTD3) and Sx flows also differ from
the discrete solutions. Now the firmware notifies the driver whether
RTD3 entry or exit are possible. The driver is responsible of sending
Go2Sx command through link controller mailbox when system enters Sx
states (suspend-to-mem/disk). Rest of the ICM firwmare flows follow
Titan Ridge.

Signed-off-by: Raanan Avargil <raanan.avargil@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Yehezkel Bernat <YehezkelShB@gmail.com>
Tested-by: Mario Limonciello <mario.limonciello@dell.com>
drivers/thunderbolt/Makefile
drivers/thunderbolt/icm.c
drivers/thunderbolt/nhi.c
drivers/thunderbolt/nhi.h
drivers/thunderbolt/nhi_ops.c [new file with mode: 0644]
drivers/thunderbolt/nhi_regs.h
drivers/thunderbolt/switch.c
drivers/thunderbolt/tb_msgs.h
include/linux/thunderbolt.h