Enable interrupts on CM5 ethernet phy (again)#6963
Merged
pelwell merged 4 commits intoraspberrypi:rpi-6.12.yfrom Sep 5, 2025
Merged
Enable interrupts on CM5 ethernet phy (again)#6963pelwell merged 4 commits intoraspberrypi:rpi-6.12.yfrom
pelwell merged 4 commits intoraspberrypi:rpi-6.12.yfrom
Conversation
Contributor
Author
|
Tested on cm5io (booted with cable attached, unplug, re-plug cable): 2 interrupts when cable was attached make sense (probably one for link status + one for auto neg and other stuff) |
3dd58ca to
5493f44
Compare
On CM5, the active-low interrupt pin (INT_N) of the Ethernet PHY is connected to GPIO37. However, an internal pull-up resistor appears to be missing, which causes the interrupt edge to be missed or not detected reliably. Fix this by configuring a bias pull-up on the gpio controller. Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
On CM4/CM5, LED3 is used for ETH_LEDY, while LED4 may be unused or serve as INT_N. Previously, both LEDs 3 and 4 were mirrored from LED1, which overwrote the INT_N configuration on CM5. Fix this by only shadowing LED1 to LED3, preserving the setting for LED4/INT. Fixes: 9704fab ("net: phy: broadcom: Allow ethernet LED mode to be set via device tree") Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
…onfig_init The driver previously set the global interrupt mask in the ECR register in bcm54xx_config_init(), disabling all interrupts. This conflicts with the configuration in bcm_phy_config_intr(), which enables or disables the global interrupt mask as needed and is called earlier. As a result, interrupts may remain globally disabled even when the IMR is configured to unmask specific events. Remove the ECR handling from bcm54xx_config_init() so that interrupt enable/disable is managed exclusively by bcm_phy_config_intr(). Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
This reverts commit 4421ed1.
5493f44 to
b6791b7
Compare
popcornmix
added a commit
to raspberrypi/firmware
that referenced
this pull request
Sep 15, 2025
kernel: Enable interrupts on CM5 ethernet phy (again) See: raspberrypi/linux#6963 kernel: media: i2c: imx500: input tensor injection See: raspberrypi/linux#7040
popcornmix
added a commit
to raspberrypi/rpi-firmware
that referenced
this pull request
Sep 15, 2025
kernel: Enable interrupts on CM5 ethernet phy (again) See: raspberrypi/linux#6963 kernel: media: i2c: imx500: input tensor injection See: raspberrypi/linux#7040
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.
Second attempt to enable interrupts on CM5's ethernet phy (see #6953). Took me some time, but I think I finally sorted it out:
Happy for feedback and also some tests, so we won't missing anything out.