linux-next/drivers/platform
Hans de Goede 2513563edc platform/x86: Add new MeeGoPad ANX7428 Type-C Cross Switch driver
Some MeeGoPad top-set boxes have an ANX7428 Type-C Switch for USB3.1 Gen 1
and DisplayPort over Type-C alternate mode support.

The ANX7428 has a microcontroller which takes care of the PD negotiation
and automatically sets the builtin Crosspoint Switch to send the right
signal to the 4 highspeed pairs of the Type-C connector. It also takes
care of HPD and AUX channel routing for DP alternate mode.

IOW the ANX7428 operates fully autonomous and to the x5-Z8350 SoC
things look like there simple is a USB-3 Type-A connector and a
separate DisplayPort connector. Except that the BIOS does not
power on the ANX7428 at boot (meh).

Add a driver to power on the ANX7428. This driver is added under
drivers/platform/x86 rather than under drivers/usb/typec for 2 reasons:

1. This driver is specifically written to work with how the ANX7428 is
described in the ACPI tables of the MeeGoPad x86 (Cherry Trail) devices.

2. This driver only powers on the ANX7428 and does not do anything wrt
its Type-C functionality. It should be possible to tell the controller
which data- and/or power-role to negotiate and to swap the role(s) after
negotiation but the MeeGoPad top-set boxes always draw their power from
a separate power-connector and they only support USB host-mode. So this
functionality is unnecessary and due to lack of documentation this is
tricky to support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240514180343.70795-1-hdegoede@redhat.com
2024-05-15 10:07:11 +02:00
..
arm64 platform: arm64: Add Acer Aspire 1 embedded controller driver 2024-03-25 15:49:01 +01:00
chrome TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
goldfish platform: goldfish: move the separate 'default' propery for CONFIG_GOLDFISH 2024-03-07 21:47:48 +00:00
loongarch platform/loongarch: laptop: Fix possible UAF and simplify generic_acpi_laptop_init() 2022-10-29 16:29:31 +08:00
mellanox platform/mellanox: mlxreg-hotplug: Remove redundant NULL-check 2024-03-12 12:48:36 +02:00
mips mips: rs870e: stop exporting local functions 2023-12-10 17:21:39 -08:00
olpc platform/olpc: olpc-xo175-ec: Use SPI device ID data to bind device 2023-03-20 14:43:35 +01:00
surface platform/surface: aggregator: Log critical errors during SAM probing 2024-05-14 11:43:39 +02:00
x86 platform/x86: Add new MeeGoPad ANX7428 Type-C Cross Switch driver 2024-05-15 10:07:11 +02:00
Kconfig platform: Add ARM64 platform directory 2024-03-25 15:48:04 +01:00
Makefile platform: Add ARM64 platform directory 2024-03-25 15:48:04 +01:00