summaryrefslogtreecommitdiffstats
path: root/security/loadpin
diff options
context:
space:
mode:
authorJavier Carrasco <javier.carrasco@wolfvision.net>2023-12-14 17:29:12 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-01-02 14:41:30 +0100
commit4c3ea81aa8e11400f24e5541bf46c2cadb4202e9 (patch)
tree2c44a545dd1e00a6227c4bdb425ea5044727d367 /security/loadpin
parentusb: typec: tipd: declare in_data in as const in exec_cmd functions (diff)
downloadlinux-4c3ea81aa8e11400f24e5541bf46c2cadb4202e9.tar.xz
linux-4c3ea81aa8e11400f24e5541bf46c2cadb4202e9.zip
usb: typec: tipd: add patch update support for tps6598x
The TPS6598x PD controller supports firmware updates that can be loaded either from an external flash memory or a host using the device's I2C host interface. This patch implements the second approach, which is especially relevant if no flash memory is available. In order to make patch bundle updates, a series of tasks (special commands) must be sent to the device as it is documented in the TPS65987DDH and TPS65988DH Host Interface Technical Reference Manual[1], section 4.11 (Patch Bundle Update Tasks). The update sequence is as follows: 1. PTCs - Start Patch Load Sequence: the proposed approach includes device and application configuration data. 2. PTCd - Patch Download: 64-byte data chunks must be sent until the end of the firmware file is reached (the last chunk may be shorter). 3. PTCc - Patch Data Transfer Complete: ends the patch loading sequence. After this sequence and if no errors occurred, the device will change its mode to 'APP' after SETUP_MS milliseconds, and then it will be ready for normal operation. [1] https://www.ti.com/lit/ug/slvubh2b/slvubh2b.pdf?ts=1697623299919&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTPS65987D Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://lore.kernel.org/r/20231207-tps6598x_update-v2-4-f3cfcde6d890@wolfvision.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'security/loadpin')
0 files changed, 0 insertions, 0 deletions