[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#845422: [PATCH] Please add BCM2835 MMC driver for Raspberry Pi 3





On Sat, Nov 26, 2016 at 12:05 AM, Aurelien Jarno <aurelien@aurel32.net> wrote:
On 2016-11-23 09:43, Michael Stapelberg wrote:
> Source: linux
> Severity: wishlist
> Tags: patch
>
> Thank you for your work on maintaining the Linux kernel in Debian, I really
> appreciate it!
>
> I am interested in running Debian on the Raspberry Pi 3.
>
> As per https://github.com/anholt/linux/wiki/Raspberry-Pi-3, the mainline Linux
> kernel in version 4.8 includes support for the Raspberry Pi 3, so we are in
> pretty good shape already.
>
> However, when trying to boot linux-image-4.8.0-1-arm64 version 4.8.5-1, I
> noticed that the kernel can’t find any block devices (and hence no root file
> system). This is because the bcm2835-sdhost MMC driver has not actually made it
> into Linux 4.8; it is still under review:
> https://www.spinics.net/lists/arm-kernel/msg513433.html

While this is correct, please note that the BCM2835 has two sdhost
controller, one that can be used for the wireless card and one for the
sdcard. The 4.8 kernel already has support for the other sdhost
controller, namely the iProc one. You can use this one for your root
filesystem as it is built in the Debian kernel.

I guess you have a problem somewhere, maybe in the device tree that
causes the wrong SD controller to be used. I use the device tree that is
provided by the kernel:

Thanks for pointing this out! I must have indeed messed up the DTB while testing. I just installed linux-image-4.8.0-1-arm64 without any modifications and could indeed still boot successfully. So, this bug is no longer a blocker for Raspberry Pi 3 support, but would still be good to get fixed to enable us to make progress on the WiFi card support.
 

|                sdhci: sdhci@7e300000 {
|                        compatible = "brcm,bcm2835-sdhci";
|                        reg = <0x7e300000 0x100>;
|                        interrupts = <2 30>;
|                        clocks = <&clocks BCM2835_CLOCK_EMMC>;
|                        status = "disabled";
|                };

This work since at least kernel 4.8.4-1~exp1.

Aurelien

--
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net



--
Best regards,
Michael

Reply to: