Hi, v1: https://lore.kernel.org/linux-usb/20210918120934.28252-1-sven@xxxxxxxxxxxxx/ v2: https://lore.kernel.org/linux-usb/20210923181321.3044-1-sven@xxxxxxxxxxxxx/ Thanks again to Heikki for your review of v2! This series adds initial support for the Apple CD3217/3218 chip which is also known as Apple ACE1/2. These chips are used on Apple M1 machines. They are based on the TI TPS6598x chips with a few differences: - The interrupt numbers have been changed - The secondary i2c bus and its interrupt controller are connected to the system management controller and must not be disturbed - The chip comes up in a low power state and must be booted using the "SPSS" (System Power State Switch maybe) command which is not documented in the TI manual - The interrupt mask must be set up explicitly The only difference to v2 is that now of_device_is_compatible instead of of_device_get_match_data is used to switch to the CD321x logic as suggested by Heikki. Best, Sven Sven Peter (6): dt-bindings: usb: tps6598x: Add Apple CD321x compatible usb: typec: tipd: Split interrupt handler usb: typec: tipd: Add short-circuit for no irqs usb: typec: tipd: Add support for Apple CD321X usb: typec: tipd: Switch CD321X power state to S0 usb: typec: tipd: Remove FIXME about testing with I2C_FUNC_I2C .../devicetree/bindings/usb/ti,tps6598x.yaml | 4 + drivers/usb/typec/tipd/core.c | 206 +++++++++++++++--- drivers/usb/typec/tipd/tps6598x.h | 12 + drivers/usb/typec/tipd/trace.h | 23 ++ 4 files changed, 209 insertions(+), 36 deletions(-) -- 2.25.1