Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDHostBRCME88C - sdport-based driver for RPI4 emmc2 #27

Merged
merged 5 commits into from
May 6, 2021
Merged

SDHostBRCME88C - sdport-based driver for RPI4 emmc2 #27

merged 5 commits into from
May 6, 2021

Conversation

idigdoug
Copy link
Contributor

@idigdoug idigdoug commented Apr 29, 2021

sdport-based miniport driver for RPI4's emmc2 controller.

  • Supports UHS-DDR50
  • Supports DMA (via bounce buffer)

Intended to help with issue #20

New SDHost miniport driver for BRCME88C. Implementation guided by the
sdhc sample code.
@binarymaster
Copy link

Just to note, it seems the directory for eMMC2 controller driver already exists in the source tree:

https://github.com/raspberrypi/windows-drivers/tree/master/drivers/sd/bcm2711/bcmemmc2

@mariobalanica
Copy link
Collaborator

Thanks for working on this!

I'm not sure how it would be best to merge it, considering the issues you've mentioned here: #20 (comment), and the already existing bcmemmc2 INF. It could be merged in a separate branch, and once it's confirmed to be as stable as sdbus, replace bcmemmc2 with it then finally merge into master.
@christopherco thoughts?

bcm2836sdhc isn't particularly useful without a WLAN driver, but if someone starts writing one, the interrupt conflicts will become an issue.

I've briefly tested the driver without bcm2836sdhc being present and haven't seen any issues. Even unloading works fine in the latest insider builds.

@idigdoug
Copy link
Contributor Author

I was assuming this would be merged and treated like all of the other drivers that are in the repo but not actually ready to be in the default image. That would make it easier for people to test and fix bugs than having it in a separate branch.

@mariobalanica
Copy link
Collaborator

Oh, forgot about the non-working drivers. Good point.
We can merge it into master, but there should be a README in the "drivers/sd/bcm2711" directory explaining why we have 2 drivers for the same controller.

drivers/sd/bcm2711/README.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@christopherco christopherco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding this EMMC2 driver. Went through all but the SlotExtension code and made some comments. Will read through the slot extension tomorrow.

drivers/sd/bcm2711/brcme88c/driver.cpp Show resolved Hide resolved
@mariobalanica mariobalanica merged commit fc8e571 into raspberrypi:master May 6, 2021
@idigdoug idigdoug deleted the SDHostBRCME88C branch May 15, 2021 00:57
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