Skip to content

configs: Enable USB Type-C/PD support for FUSB302-based HATs - #7532

Merged
pelwell merged 1 commit into
raspberrypi:rpi-6.18.yfrom
matthewdva:configs-enable-typec-fusb302
Aug 3, 2026
Merged

configs: Enable USB Type-C/PD support for FUSB302-based HATs#7532
pelwell merged 1 commit into
raspberrypi:rpi-6.18.yfrom
matthewdva:configs-enable-typec-fusb302

Conversation

@matthewdva

Copy link
Copy Markdown
Contributor

Enables the USB Type-C Port Controller Manager and the Fairchild FUSB302 driver as modules in the Raspberry Pi defconfigs.

Fixes #7531

Why

The FUSB302 is an I2C-attached USB Type-C/PD sink controller appearing on Pi HATs that need to negotiate more than the default 5 V over USB-C (e.g. the FutureProofHomes Satellite1 voice-satellite HAT). Since no Pi defconfig enables CONFIG_TYPEC, the TYPEC_TCPM state machine that fusb302 binds to is absent, so the driver cannot be loaded at all — not even out-of-tree. Today the only option is a full custom kernel rebuild whose entire delta from rpi-6.18.y is these three symbols.

What

CONFIG_TYPEC=m
CONFIG_TYPEC_TCPM=m
CONFIG_TYPEC_FUSB302=m

in all five current Pi defconfigs — 32-bit included, per the question raised in #7305:

defconfig
arch/arm64/configs/bcm2711_defconfig +3
arch/arm64/configs/bcm2711_rt_defconfig +3
arch/arm64/configs/bcm2712_defconfig +3
arch/arm/configs/bcm2709_defconfig +3
arch/arm/configs/bcmrpi_defconfig +3

Notes

  • All three are =m, so the built-in kernel size is unchanged.
  • CONFIG_TYPEC_TCPCI is deliberately not enabled — TYPEC_FUSB302 sits under if TYPEC_TCPM and depends only on I2C, so the TCPCI-compliant-controller driver isn't needed.
  • Dependencies are already satisfied in every file touched: TYPEC_TCPM needs CONFIG_USB (already =y) and TYPEC_FUSB302 needs CONFIG_I2C (already =y). USB_ROLE_SWITCH and POWER_SUPPLY are selected by TYPEC_TCPM and already enabled.
  • Nothing probes unless a device tree describes an FUSB302 on an I2C bus, so there is no runtime effect on machines without the hardware.
  • Placement follows savedefconfig ordering (between CONFIG_USB_G_WEBCAM=m and CONFIG_MMC=y); the hunk is identical in all five files.
  • Branched directly from rpi-6.18.y rather than rebased, to avoid the spurious conflicts seen in rpi-6.18.y configs: enable NET_ACT_CTINFO in Raspberry Pi defconfigs #7312.

Happy to adjust the scope — drop the 32-bit or RT configs, or reorder — whatever suits.

The FUSB302 is an I2C-attached USB Type-C/PD sink controller used by Pi
HATs that need to negotiate more than the default 5V over a USB-C
connector. None of the Pi defconfigs enable CONFIG_TYPEC, so the TCPM
state machine that fusb302 binds to is unavailable and the driver cannot
be loaded at all, even out-of-tree.

Enable the Type-C Port Controller Manager and the FUSB302 driver as
modules. CONFIG_TYPEC_TCPCI is not required: TYPEC_FUSB302 depends only
on I2C within the TYPEC_TCPM block. The dependencies (CONFIG_USB and
CONFIG_I2C) are already enabled in all of these defconfigs, and nothing
probes unless the device tree describes an FUSB302, so there is no
runtime effect on machines without the hardware.

Signed-off-by: Matthew Davis <fedoraproject@virtual.drop.net>
@pelwell

pelwell commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

That'll do.

@pelwell
pelwell merged commit 7afb7e9 into raspberrypi:rpi-6.18.y Aug 3, 2026
11 of 12 checks passed
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Aug 3, 2026
kernel: Strict pinmux support for pinctrl-bcm2835
See: raspberrypi/linux#7530

kernel: dtoverlays: mcp2515: Add spi6 support
See: raspberrypi/linux#7534

kernel: configs: Enable USB Type-C/PD support for FUSB302-based HATs
See: raspberrypi/linux#7532

kernel: Backport vd65g4 camera driver support
See: raspberrypi/linux#7463
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Aug 3, 2026
kernel: Strict pinmux support for pinctrl-bcm2835
See: raspberrypi/linux#7530

kernel: dtoverlays: mcp2515: Add spi6 support
See: raspberrypi/linux#7534

kernel: configs: Enable USB Type-C/PD support for FUSB302-based HATs
See: raspberrypi/linux#7532

kernel: Backport vd65g4 camera driver support
See: raspberrypi/linux#7463
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable USB Type-C / PD support (CONFIG_TYPEC, TYPEC_TCPM, TYPEC_FUSB302) in the Pi defconfigs

2 participants