configs: Enable USB Type-C/PD support for FUSB302-based HATs - #7532
Merged
pelwell merged 1 commit intoAug 3, 2026
Merged
Conversation
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>
Contributor
|
That'll do. |
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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, theTYPEC_TCPMstate machine thatfusb302binds 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 fromrpi-6.18.yis these three symbols.What
in all five current Pi defconfigs — 32-bit included, per the question raised in #7305:
arch/arm64/configs/bcm2711_defconfigarch/arm64/configs/bcm2711_rt_defconfigarch/arm64/configs/bcm2712_defconfigarch/arm/configs/bcm2709_defconfigarch/arm/configs/bcmrpi_defconfigNotes
=m, so the built-in kernel size is unchanged.CONFIG_TYPEC_TCPCIis deliberately not enabled —TYPEC_FUSB302sits underif TYPEC_TCPMand depends only on I2C, so the TCPCI-compliant-controller driver isn't needed.TYPEC_TCPMneedsCONFIG_USB(already=y) andTYPEC_FUSB302needsCONFIG_I2C(already=y).USB_ROLE_SWITCHandPOWER_SUPPLYareselected byTYPEC_TCPMand already enabled.savedefconfigordering (betweenCONFIG_USB_G_WEBCAM=mandCONFIG_MMC=y); the hunk is identical in all five files.rpi-6.18.yrather 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.