All of lore.kernel.org
 help / color / mirror / Atom feed
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: BCM2836 (Raspberry Pi 2) port
Date: Fri, 24 Apr 2015 12:57:05 -0600	[thread overview]
Message-ID: <553A9201.3080308@wwwdotorg.org> (raw)
In-Reply-To: <87pp6tweql.fsf@eliezer.anholt.net>

On 04/24/2015 12:41 PM, Eric Anholt wrote:
> Stephen Warren <swarren@wwwdotorg.org> writes:
>
>> 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:
>
> Oops, I was just extrapolating that U-Boot would work.  I've quit using
> it because of the extra configuration work (particularly the compiled
> text files for the boot scripts).

You don't need any compiled text files if you create an extlinux.conf 
rather than a boot.scr. extlinux.conf is plain text.

To boot without U-Boot: Could you say what's in your config.txt? I 
assume I can just copy the kernel zImage as kernel.img, and the DTB from 
the kernel build tree without renaming it?

> I haven't looked into how SMP works, because I don't have the interrupt
> support necessary yet (bcm2836-irq branch for hacks in that direction).
>
> And in further testing, the USB is actually not working and I'm not sure
> what gave me the idea that it was.

It might be intermittent depending on (GPU) cache content. We need to 
fix the kernel in a similar fashion to the following U-Boot commits:

> http://git.denx.de/?p=u-boot.git;a=commit;h=79340db7f1f676b8eb5911f4993ebedf27009c0b
ARM: bcm2835: implement phys_to_bus/bus_to_phys

> http://git.denx.de/?p=u-boot.git;a=commit;h=5c0beb5c58c86d2a6d12dee6330dc85554de5c60
usb: dwc2: use phys_to_bus/bus_to_phys

> http://git.denx.de/?p=u-boot.git;a=commit;h=122426d46e31391480c4b83b1003e4feca24d491
ARM: bcm2835: use phys_to_bus() for mbox

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Lee Jones <lee-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: BCM2836 (Raspberry Pi 2) port
Date: Fri, 24 Apr 2015 12:57:05 -0600	[thread overview]
Message-ID: <553A9201.3080308@wwwdotorg.org> (raw)
In-Reply-To: <87pp6tweql.fsf-omZaPlIz5HhaEpDpdNBo/KxOck334EZe@public.gmane.org>

On 04/24/2015 12:41 PM, Eric Anholt wrote:
> Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> writes:
>
>> 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:
>
> Oops, I was just extrapolating that U-Boot would work.  I've quit using
> it because of the extra configuration work (particularly the compiled
> text files for the boot scripts).

You don't need any compiled text files if you create an extlinux.conf 
rather than a boot.scr. extlinux.conf is plain text.

To boot without U-Boot: Could you say what's in your config.txt? I 
assume I can just copy the kernel zImage as kernel.img, and the DTB from 
the kernel build tree without renaming it?

> I haven't looked into how SMP works, because I don't have the interrupt
> support necessary yet (bcm2836-irq branch for hacks in that direction).
>
> And in further testing, the USB is actually not working and I'm not sure
> what gave me the idea that it was.

It might be intermittent depending on (GPU) cache content. We need to 
fix the kernel in a similar fashion to the following U-Boot commits:

> http://git.denx.de/?p=u-boot.git;a=commit;h=79340db7f1f676b8eb5911f4993ebedf27009c0b
ARM: bcm2835: implement phys_to_bus/bus_to_phys

> http://git.denx.de/?p=u-boot.git;a=commit;h=5c0beb5c58c86d2a6d12dee6330dc85554de5c60
usb: dwc2: use phys_to_bus/bus_to_phys

> http://git.denx.de/?p=u-boot.git;a=commit;h=122426d46e31391480c4b83b1003e4feca24d491
ARM: bcm2835: use phys_to_bus() for mbox
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2015-04-24 18:57 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-21 18:09 BCM2836 (Raspberry Pi 2) port Eric Anholt
2015-04-21 18:09 ` Eric Anholt
2015-04-21 18:09 ` [PATCH 1/9] dt-bindings: Add root properties for Raspberry Pi 2 Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-24  4:27   ` Stephen Warren
2015-04-24  4:27     ` Stephen Warren
2015-04-21 18:09 ` [PATCH 2/9] ARM: BCM2835: Split peripheral definitions off to a common include Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-24  4:28   ` Stephen Warren
2015-04-24  4:28     ` Stephen Warren
2015-04-21 18:09 ` [PATCH 3/9] ARM: Make a copy of the 2835 dts for the 2836 Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-24  4:35   ` Stephen Warren
2015-04-24  4:35     ` Stephen Warren
2015-04-21 18:09 ` [PATCH 4/9] ARM: Update the device trees for 2836 Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-24  4:36   ` Stephen Warren
2015-04-24  4:36     ` Stephen Warren
2015-04-21 18:09 ` [PATCH 5/9] ARM: BCM2836: Add io map initialization for bcm2836 Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-21 18:53   ` Arnd Bergmann
2015-04-21 18:53     ` Arnd Bergmann
2015-04-21 20:37     ` Eric Anholt
2015-04-21 20:37       ` Eric Anholt
2015-04-21 21:11       ` Arnd Bergmann
2015-04-21 21:11         ` Arnd Bergmann
2015-04-21 23:02         ` Eric Anholt
2015-04-21 23:02           ` Eric Anholt
2015-04-22  7:22           ` Arnd Bergmann
2015-04-22  7:22             ` Arnd Bergmann
2015-04-24  7:16   ` Arnd Bergmann
2015-04-24  7:16     ` Arnd Bergmann
2015-04-21 18:09 ` [PATCH 6/9] ARM: Make a Kconfig option for shared BCM2835/BCM2836 code Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-21 18:09 ` [PATCH 7/9] ARM: Add Kconfig support for bcm2836 Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-21 18:59   ` Arnd Bergmann
2015-04-21 18:59     ` Arnd Bergmann
2015-04-21 20:38     ` Eric Anholt
2015-04-21 20:38       ` Eric Anholt
2015-04-24  3:30       ` Stephen Warren
2015-04-24  3:30         ` Stephen Warren
2015-04-21 18:09 ` [PATCH 8/9] ARM: Add MAINTAINERS for 2836 Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-24  4:38   ` Stephen Warren
2015-04-24  4:38     ` Stephen Warren
2015-04-24 17:03     ` Eric Anholt
2015-04-24 17:03       ` Eric Anholt
2015-04-21 18:09 ` [PATCH 9/9] ARM: BCM283x: Register fixed clocks for uart in the DT Eric Anholt
2015-04-21 18:09   ` Eric Anholt
2015-04-24  4:44   ` Stephen Warren
2015-04-24  4:44     ` Stephen Warren
2015-04-24 17:06     ` Eric Anholt
2015-04-24 17:06       ` Eric Anholt
2015-04-25  4:23       ` Stephen Warren
2015-04-25  4:23         ` Stephen Warren
2015-04-24  4:25 ` BCM2836 (Raspberry Pi 2) port Stephen Warren
2015-04-24  4:25   ` Stephen Warren
2015-04-24 18:41   ` Eric Anholt
2015-04-24 18:41     ` Eric Anholt
2015-04-24 18:57     ` Stephen Warren [this message]
2015-04-24 18:57       ` Stephen Warren
2015-04-27 17:19       ` Eric Anholt
2015-04-27 17:19         ` Eric Anholt
2015-05-08 16:14   ` Alexander Stein
2015-05-08 16:14     ` Alexander Stein
2015-05-12  2:36     ` Stephen Warren
2015-05-12  2:36       ` Stephen Warren
2015-05-12 15:39       ` Alexander Stein
2015-05-12 15:39         ` Alexander Stein
2015-05-12 16:03         ` Stephen Warren
2015-05-12 16:03           ` Stephen Warren
2015-05-12 17:32           ` Eric Anholt
2015-05-12 17:32             ` Eric Anholt
2015-05-12 22:03             ` Stephen Warren
2015-05-12 22:03               ` Stephen Warren
2015-05-13 17:46               ` Eric Anholt
2015-05-13 17:46                 ` Eric Anholt
2015-05-13 18:32                 ` Stephen Warren
2015-05-13 18:32                   ` Stephen Warren
2015-05-13 18:59                   ` Eric Anholt
2015-05-13 18:59                     ` Eric Anholt
2015-04-29  2:38 ` Stephen Warren
2015-04-29  2:38   ` Stephen Warren
2015-04-29  3:41   ` Florian Fainelli
2015-04-29  3:41     ` Florian Fainelli
2015-05-06 18:51   ` Eric Anholt
2015-05-06 18:51     ` Eric Anholt
2015-05-06 19:05     ` Arnd Bergmann
2015-05-06 19:05       ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=553A9201.3080308@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.