Raspberry Pi Compute Module

Martin Sperl martin at sperl.org
Wed Aug 26 06:57:46 PDT 2015


> On 24.07.2015, at 05:58, Stephen Warren <swarren at wwwdotorg.org> wrote:
> 
> On 07/22/2015 10:58 AM, Stefan Wahren wrote:
>> Hi Stephen,
>> 
>> Am 22.07.2015 um 05:41 schrieb Stephen Warren:
>>> On 07/17/2015 11:08 AM, Stefan Wahren wrote:
>>>> Hi all,
>>>> 
>>>> is there anyone working on Mainline support for the Compute Module?
>>>> 
>>>> I noticed the downstream kernel already has a bcm2708-rpi-cm.dtsi
>>> 
>>> It is probably close enough that you can simply use bcm2835-rpi-b.dtb
>>> for the CM too, for testing at least.
>>> 
>>> I just tried this with latest U-Boot and a 4.2.0-rc3 kernel. The eMMC
>>> works fine in U-Boot, but the kernel can't access it for some reason,
>>> failing with e.g.:
>>> 
>>> [    3.110503] Waiting for root device /dev/mmcblk0p2...
>>> [    3.123895] mmc0: MAN_BKOPS_EN bit is not set
>>> [    3.132264] mmc0: error -110 whilst initialising MMC card
>>> [    3.788447] cfg80211: Calling CRDA to update world regulatory domain
>>> [    4.204078] mmc0: MAN_BKOPS_EN bit is not set
>>> [    4.212748] mmc0: error -110 whilst initialising MMC card
>>> [    5.283981] mmc0: MAN_BKOPS_EN bit is not set
>>> [    5.292657] mmc0: error -110 whilst initialising MMC card
>>> 
>>> I had hoped that the kernel fixes for the VC MMU high address bits (via
>>> the dma-ranges property in DT) would fix this, but I guess not since it
>>> still doesn't work.
>>> 
>> 
>> thank your for testing.
>> 
>> Does defining the bus width as in bcm2708-rpi-cm.dtsi change anything?
>> 
>> &mmc {
>>    status = "okay";
>>    bus-width = <4>;
>> };
> 
> Unfortunately not.
> 

I am seeing the same thing - maybe the GPIO47 needs to get toggled at some point to output?

See the comment in the CMIO PDF:

BCM2835 BootROM boot from USB:
- J4 set to enable USB boot
- Plug host into micro USB socket J15 (VBUSB=5V)
- GPIO47_1V8 high at boot (input with 50k pullup)
- EMMC_DISABLE_N therefore LOW
- On power up BCM2835 can't access eMMC so boots from USB
- Once booted, 2835 USB boot SW forces GPIO47_1V8 LOW to enable access to eMMC C

BCM2835 BootROM boot from eMMC:
- Nothing plugged into micro USB socket J15 (VBUSB=0V) OR J4 set to disable USB Boot
- EMMC_DISABLE_N therefore HIGH
- On power up BCM2835 boots from eMMC
- GPIO_1B8 used as status LED

BCM2835 BootROM boot from eMMC with GPIO boot select:
- Set J4 to disable USB boot
- EMMC_DISABLE_N therefore always HIGH
- On power up BCM2835 boots from eMMC
- BCM2835 boot SW reads GPIO47_1V8 (GPIO47_CTL_1V8) if low perform 'alternate’ boot
  (e.g. can boot into safe mode, or USB mass storage...)
- Once booted GPIO47_1V8 used as status LED

On the CM PDF there is als a NC7SB3157p6X that switches EMMC_CMD to be connected either
SD_CMD (GPIO49) or to 1V8 - depending on the state of EMMC_DISABLE_N (which is on the CMIO
board connected to GPIO47_1V8 via the above mentioned circuitry).

Note that if you boot from USB via u-boot, then everything works (but MMC is not available)

Martin






More information about the linux-rpi-kernel mailing list