Hi all, This series adds support for ASMedia NVM images. It is based on the work of Szuying Chen with a couple of changes from me. The first patches move Intel specific NVM validation into nvm.c and adds a vendor table for both routers and retimers that can be extended to support different vendor NVM image formats. Once that is done the ASMedia NVM image format support is added. The previous version of the patch series can be found here: https://lore.kernel.org/linux-usb/20220902094010.2170-1-chensiying21@xxxxxxxxx/ Changes from the previous version: * Shuffled the ordering of the patches a bit * Add tb_retimer_nvm_read() and tb_switch_nvm_read() * Add ->write_headers() callback that is used with Thunderbolt 2 routers * Cover retimers too * Minor cleanups and tweaks I have tested this on Intel Thunderbolt 3 and Thunderbolt 4 routers. ASMedia folks, can you try this also on your side and let me know if it works or not? Mika Westerberg (1): thunderbolt: Provide tb_retimer_nvm_read() analogous to tb_switch_nvm_read() Szuying Chen (5): thunderbolt: Allow NVM upgrade of USB4 host routers thunderbolt: Extend NVM version fields to 32-bits thunderbolt: Rename and make nvm_read() available for other files thunderbolt: Move vendor specific NVM handling into nvm.c thunderbolt: Add support for ASMedia NVM image format drivers/thunderbolt/nvm.c | 385 +++++++++++++++++++++++++++++++++- drivers/thunderbolt/retimer.c | 105 ++++------ drivers/thunderbolt/switch.c | 162 +++++--------- drivers/thunderbolt/tb.c | 5 +- drivers/thunderbolt/tb.h | 30 ++- 5 files changed, 498 insertions(+), 189 deletions(-) -- 2.35.1