BCM2836 (Raspberry Pi 2) port
Stephen Warren
swarren at wwwdotorg.org
Thu Apr 23 21:25:08 PDT 2015
On 04/21/2015 12:09 PM, Eric Anholt wrote:
> This is my first submission of a Raspberry Pi 2 port. It can be found
> at https://github.com/anholt/linux/tree/bcm2836
>
> I'm using the 2835 interrupt controller support, without adding the
> checks for ARM local interrupts first. That means no support for IPIs
> (and thus no SMP), no PMU events, and no local timer (I'm using the
> same 2835 peripheral one).
>
> It supports a similar featureset to Pi 1 at this point. Serial and SD
> cards work. Just one CPU supported. USB (ethernet) works if you use
> U-Boot, or my mailbox series
> (https://github.com/anholt/linux/tree/bcm2836-mbox).
I can't quite get this to work. I think what's happening is that U-Boot
is over-writing the location of the code/data that the CPU1..3 pin loop
uses. Do you know what that address is so I can confirm that?
I suspect this because when I load the kernel/DT in U-Boot, or when I
jump to the kernel to boot it, I see lots of extra duplicated characters
on the UART, like all 4 CPUs are booting Linux. For example:
> Hit any key to stop autoboot: 0
> U-Boot> setenv fdt_high fffffff
> U-Boot> boot
> switch to partitions #0, OK
> mmc0 is current device
> Scanning mmc 0:1...
> Found /extlinux/extlinux.conf
> Retrieving file: /extlinux/extlinux.conf
> reading /extlinux/extlinux.conf
> 429 bytes read in 18 ms (22.5 KiB/s)
> Boot menu
> 1: Default kernel
> 2: Backup kernel
> Enter choice: 1
> 1: Default kernel
> Retrieving file: /extlinux/../zImage
> reading /extlinux/../zImage
> 3467376 bytes read in 1996 ms (1.7 MiB/s)
> append: earlyprintk loglevel=8 console=ttyAMA0 console=tty1 verbose rootwait root=/dev/mmcblk0p2 rw
> Retrieving file: /extlinux/../bcm2836-rpi-2-b.dtb
> reading /extlinux/../bcm2836-rpi-2-b.dtb LLLiiinnnuuuxxx.........
>
>
>
>
>
>
> OOOuuuttt ooofff mmmeeemmmooorrryyy wwwhhhiiillleee aaallllllooocccaaatttiiinnnggg ooouuutttpppuuuttt bbbuuuffffffeeerrr
>
> -- System halted4572 bytes read in 33 ms (134.8 KiB/s)
> Kernel image @ 0x1000000 [ 0x000000 - 0x34e870 ]
> ## Flattened Device Tree blob at 02000000
> Booting using the fdt blob at 0x2000000
> Loading Device Tree to 0fffb000, end 0ffff1db ... OK
>
> Starting kernel ...
More information about the linux-arm-kernel
mailing list