Skip to content

Conversation

pelwell
Copy link
Contributor

@pelwell pelwell commented Aug 19, 2025

This PR builds on #7002, adding in sufficient extra patches to make Pi 5 usable along with a few other forward ports where the merges were non-trivial.

My approach to the recent upstream RP1 commits has been to revert or partially undo them and restore the downstream equivalent, the aim being to get something working ASAP. We can then work on more refined downstream changes, with a view to using them instead at a later date.

pelwell and others added 16 commits August 18, 2025 10:23
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
lan78xx_link_reset explicitly clears the MAC's view of the PHY's IRQ
status. In doing so it potentially leaves the PHY with a pending
interrupt that will never be acknowledged, at which point no further
interrupts will be generated.

Avoid the problem by acknowledging any pending PHY interrupt after
clearing the MAC's status bit.

See: raspberrypi#2937

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
For applications of the LAN78xx that don't have valid programmed
EEPROMs or OTPs, enabling both LEDs and auto-negotiation by default
seems reasonable.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
Add two new DT properties:
* microchip,eee-enabled  - a boolean to enable EEE
* microchip,tx-lpi-timer - time in microseconds to wait before entering
                           low power state

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Disabling tx_lpi or eee should not cause the value of tx_lpi_timer to
be lost, even though it is not useful until they are re-enabled.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Apparently some NVMe SSD implementations don't fall back to MSI cleanly,
instead making the driver allocate one queue via the legacy interrupt.

There are still only 32 vectors available, but should be sufficient for
the majority of use-cases on BCM2711.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Drop from RGB to YUV422 output if RGB couldn't be supported
within the defined max_bpc and TMDS rates, and then try
dropping max_bpc.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
The upstream version has limited functionality.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
The upstream version of the RP1 clock driver is not ready for us to use
it.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
While we continue to use the downstream RP1 driver, update some other
Kconfig settings to recognise MFD_RP1 as a valid RP1 driver.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Replace MISC_RP1 with MFD_RP1, rebuilding the defconfigs to match.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
@pelwell pelwell mentioned this pull request Aug 19, 2025
@popcornmix
Copy link
Collaborator

This worked for me:

pi@pi500:~ $ uname -a
Linux pi500 6.17.0-rc1-v8-16k #5 SMP PREEMPT Tue Aug 19 15:04:10 BST 2025 aarch64 GNU/Linux

I'll merge this now, and the "upstream" rp1 support can come on top.

@popcornmix popcornmix merged commit 20fb888 into raspberrypi:rpi-6.17.y-broken Aug 19, 2025
6 of 12 checks passed
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.

4 participants