Linux 3.12, BCM2835 and dwc2 - Freezes

notro at tronnes.org notro at tronnes.org
Sat Nov 9 13:47:03 PST 2013


I'm having problems with BCM2835 and USB/network on 3.12.

With https://github.com/swarren/linux-rpi.git networking is fine.
But when I try the same with 3.12 it fails.

Raspberry Pi B rev. 2
Distro: Raspian 2013-09-25

This is what I have done:

Source: 3.12 from kernel.org

Add patches from https://github.com/swarren/linux-rpi.git:
  ARM: bcm2835: enable some config options useful with USB
  HACK: enable DWC2 OTG on RPi
  LOCAL HACK: ARM: bcm2835: enable enc28j60 SPI device

make bcm2835_defconfig
scripts/config --enable DYNAMIC_DEBUG

U-Boot:
setenv prop-2-2 'mw.l 0x00001000 0x00000020 ; mw.l 0x00001004 0x00000000 ; mw.l 0x00001008 \$tag ; mw.l 0x0000100c 0x00000008 ; mw.l 0x00001010 0x00000008 ; mw.l 0x00001014 \$p1 ; mw.l 0x00001018 \$p2 ; mw.l 0x0000101c 0x00000000 ; md.l 0x1000 8'
setenv send-rec 'mw 0x2000b8a0 0x00001008 ; md 0x2000b880 1 ; md.l 0x00001000 8'
setenv tag 0x28001 ; setenv p1 3 ; setenv p2 3; run prop-2-2 ; run send-rec
setenv devtype mmc
setenv bootargs 'earlyprintk loglevel=8 console=ttyAMA0 verbose rootwait root=/dev/mmcblk0p2 rw debug'
fatload ${devtype} ${devnum}:1 ${kernel_addr_r} /zImage
fatload ${devtype} ${devnum}:1 ${fdt_addr_r} /bcm2835-rpi-b.dtb
bootz ${kernel_addr_r} - ${fdt_addr_r}

Boot log:
[    0.000000] Linux version 3.12.0+ (pi at raspi1) (gcc version 4.7.1 20120402 (prerelease) (crosstool-NG 1.15.2) ) #1 Sat Nov 9 20:54:03 CET 2013
[    0.000000] Machine: BCM2835, model: Raspberry Pi Model B

[   23.859983] ERROR: 256 KiB atomic DMA coherent pool is too small!
[   23.859983] Please increase it with coherent_pool= kernel parameter!
[   23.860030] dwc2 20980000.usb: dwc2_assign_and_init_hc: Failed to allocate memory to handle non-dword aligned buffer
[   23.871258] dwc2 20980000.usb: dwc2_assign_and_init_hc: Failed to allocate memory to handle non-dword aligned buffer

Networking doesn't work, but mouse and keyboard does (tested with evtest)

[  306.380717] usb 1-1.1: ifplugd timed out on ep0in len=0/4
[  306.380780] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -11
[  306.380802] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[  306.380821] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read


Then i add: coherent_pool=1M
setenv bootargs 'earlyprintk loglevel=8 console=ttyAMA0 verbose rootwait root=/dev/mmcblk0p2 rw debug coherent_pool=1M'

The kernel boots without errors, I log in, and after a few seconds, it freezes. ACT led stops blinking.

Has anyone had success this?


Regards,
Noralf Trønnes



More information about the linux-rpi-kernel mailing list