* [U-Boot] U-boot 2017.07 not working on Raspberry Pi @ 2017-08-02 12:13 Paul Barker 2017-08-03 9:02 ` Jonathan Gray 0 siblings, 1 reply; 14+ messages in thread From: Paul Barker @ 2017-08-02 12:13 UTC (permalink / raw) To: u-boot I'm currently testing U-boot 2017.07 on Raspberry Pi, both on a Model B+ and a Raspberry Pi 3. On both devices I'm seeing two issues with u-boot: * U-boot can't boot the Linux kernel, it just hangs at "Starting kernel ...". * U-boot doesn't recognise any input via a USB keyboard. These issues were not present in U-boot 2017.05. I see them both when building U-boot via OpenEmbedded and when building using arm-linux-gnueabi-gcc on Debian Stretch (GCC 6.3.0). After bisecting to identify the commits which introduced these issues, I've found I can get a working U-boot by doing the following: * Start with U-boot 2017.07 * Revert "dm: arm: rpi: Move to driver model for USB" (25085236) * Revert "dm: arm: rpi: Use driver model for Ethernet" (d90385be) * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) * Drop CONFIG_USB_STORAGE as leaving this enables gives a compile error when CONFIG_DM_USB is not set. I've staged these changes here for testing: https://gitlab.com/toganlabs/u-boot/commits/pbarker/rpi Reverting these commits is definitely a step backwards though so I'm hoping for another solution. Has anyone else has seen these issues and got any ideas? Or has anyone else got U-boot 2017.07 working on the Raspberry Pi? Please let me know if you need any more details. Thanks, -- Paul Barker Co-Founder & Principal Engineer Togán Labs Ltd ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-02 12:13 [U-Boot] U-boot 2017.07 not working on Raspberry Pi Paul Barker @ 2017-08-03 9:02 ` Jonathan Gray 2017-08-03 9:37 ` Mark Kettenis 0 siblings, 1 reply; 14+ messages in thread From: Jonathan Gray @ 2017-08-03 9:02 UTC (permalink / raw) To: u-boot On Wed, Aug 02, 2017 at 01:13:30PM +0100, Paul Barker wrote: > I'm currently testing U-boot 2017.07 on Raspberry Pi, both on a Model > B+ and a Raspberry Pi 3. On both devices I'm seeing two issues with > u-boot: > > * U-boot can't boot the Linux kernel, it just hangs at "Starting kernel ...". > > * U-boot doesn't recognise any input via a USB keyboard. > > These issues were not present in U-boot 2017.05. I see them both when > building U-boot via OpenEmbedded and when building using > arm-linux-gnueabi-gcc on Debian Stretch (GCC 6.3.0). > > After bisecting to identify the commits which introduced these issues, > I've found I can get a working U-boot by doing the following: > > * Start with U-boot 2017.07 > > * Revert "dm: arm: rpi: Move to driver model for USB" (25085236) > > * Revert "dm: arm: rpi: Use driver model for Ethernet" (d90385be) > > * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) > > * Drop CONFIG_USB_STORAGE as leaving this enables gives a compile > error when CONFIG_DM_USB is not set. > > I've staged these changes here for testing: > https://gitlab.com/toganlabs/u-boot/commits/pbarker/rpi > > Reverting these commits is definitely a step backwards though so I'm > hoping for another solution. Has anyone else has seen these issues and > got any ideas? Or has anyone else got U-boot 2017.07 working on the > Raspberry Pi? We had to revert 25877d4e4c45451c5398aec3de50e0d5befe0e9f to add CONFIG_OF_EMBED back to get OpenBSD to continue working on the rpi3. 70bfcdc6bb6f969babd69efc49e1dc7a1faeca54 efi_loader: disk: iterate only over valid block devices which is part of master/2017.09-rc1 was also required for someone that was booting off USB after changes made between 2017.05 and 2017.07. ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 9:02 ` Jonathan Gray @ 2017-08-03 9:37 ` Mark Kettenis 2017-08-03 13:45 ` Simon Glass 0 siblings, 1 reply; 14+ messages in thread From: Mark Kettenis @ 2017-08-03 9:37 UTC (permalink / raw) To: u-boot > Date: Thu, 3 Aug 2017 19:02:06 +1000 > From: Jonathan Gray <jsg@jsg.id.au> > > On Wed, Aug 02, 2017 at 01:13:30PM +0100, Paul Barker wrote: > > I'm currently testing U-boot 2017.07 on Raspberry Pi, both on a Model > > B+ and a Raspberry Pi 3. On both devices I'm seeing two issues with > > u-boot: > > > > * U-boot can't boot the Linux kernel, it just hangs at "Starting kernel ...". > > > > * U-boot doesn't recognise any input via a USB keyboard. > > > > These issues were not present in U-boot 2017.05. I see them both when > > building U-boot via OpenEmbedded and when building using > > arm-linux-gnueabi-gcc on Debian Stretch (GCC 6.3.0). > > > > After bisecting to identify the commits which introduced these issues, > > I've found I can get a working U-boot by doing the following: > > > > * Start with U-boot 2017.07 > > > > * Revert "dm: arm: rpi: Move to driver model for USB" (25085236) > > > > * Revert "dm: arm: rpi: Use driver model for Ethernet" (d90385be) > > > > * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) > > > > * Drop CONFIG_USB_STORAGE as leaving this enables gives a compile > > error when CONFIG_DM_USB is not set. > > > > I've staged these changes here for testing: > > https://gitlab.com/toganlabs/u-boot/commits/pbarker/rpi > > > > Reverting these commits is definitely a step backwards though so I'm > > hoping for another solution. Has anyone else has seen these issues and > > got any ideas? Or has anyone else got U-boot 2017.07 working on the > > Raspberry Pi? > > We had to revert 25877d4e4c45451c5398aec3de50e0d5befe0e9f to add > CONFIG_OF_EMBED back to get OpenBSD to continue working on the rpi3. That revert is in particular necessary for passthrough of the device tree from the Raspberry Pi firmwre to work. I haven't investigated this further yet, but it seems some of the relocation code is conditionalized on CONFIG_OF_EMBED, and I suspect that when CONFIG_OF_EMBED is absent, u-boot overwrites the device tree when it relocates itself. ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 9:37 ` Mark Kettenis @ 2017-08-03 13:45 ` Simon Glass 2017-08-03 15:42 ` Stephen Warren 2017-08-04 12:58 ` Paul Barker 0 siblings, 2 replies; 14+ messages in thread From: Simon Glass @ 2017-08-03 13:45 UTC (permalink / raw) To: u-boot Hi, On 3 August 2017 at 03:37, Mark Kettenis <mark.kettenis@xs4all.nl> wrote: >> Date: Thu, 3 Aug 2017 19:02:06 +1000 >> From: Jonathan Gray <jsg@jsg.id.au> >> >> On Wed, Aug 02, 2017 at 01:13:30PM +0100, Paul Barker wrote: >> > I'm currently testing U-boot 2017.07 on Raspberry Pi, both on a Model >> > B+ and a Raspberry Pi 3. On both devices I'm seeing two issues with >> > u-boot: >> > >> > * U-boot can't boot the Linux kernel, it just hangs at "Starting kernel ...". >> > >> > * U-boot doesn't recognise any input via a USB keyboard. >> > >> > These issues were not present in U-boot 2017.05. I see them both when >> > building U-boot via OpenEmbedded and when building using >> > arm-linux-gnueabi-gcc on Debian Stretch (GCC 6.3.0). >> > >> > After bisecting to identify the commits which introduced these issues, >> > I've found I can get a working U-boot by doing the following: >> > >> > * Start with U-boot 2017.07 >> > >> > * Revert "dm: arm: rpi: Move to driver model for USB" (25085236) >> > >> > * Revert "dm: arm: rpi: Use driver model for Ethernet" (d90385be) >> > >> > * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) >> > >> > * Drop CONFIG_USB_STORAGE as leaving this enables gives a compile >> > error when CONFIG_DM_USB is not set. >> > >> > I've staged these changes here for testing: >> > https://gitlab.com/toganlabs/u-boot/commits/pbarker/rpi >> > >> > Reverting these commits is definitely a step backwards though so I'm >> > hoping for another solution. Has anyone else has seen these issues and >> > got any ideas? Or has anyone else got U-boot 2017.07 working on the >> > Raspberry Pi? >> >> We had to revert 25877d4e4c45451c5398aec3de50e0d5befe0e9f to add >> CONFIG_OF_EMBED back to get OpenBSD to continue working on the rpi3. > > That revert is in particular necessary for passthrough of the device > tree from the Raspberry Pi firmwre to work. I haven't investigated > this further yet, but it seems some of the relocation code is > conditionalized on CONFIG_OF_EMBED, and I suspect that when > CONFIG_OF_EMBED is absent, u-boot overwrites the device tree when it > relocates itself. I'm not sure why it needs CONFIG_OF_EMBED. Certainly U-Boot does relocate the DT when this is not set. But it should not be set for production images, only for debugging. I'm not sure if we have a Raspberry Pi in a test farm anywhere. I should be able to look next week if no one can figure these out beforehand. Regards, Simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 13:45 ` Simon Glass @ 2017-08-03 15:42 ` Stephen Warren 2017-08-03 17:42 ` Tom Rini 2017-08-04 12:58 ` Paul Barker 1 sibling, 1 reply; 14+ messages in thread From: Stephen Warren @ 2017-08-03 15:42 UTC (permalink / raw) To: u-boot On 08/03/2017 07:45 AM, Simon Glass wrote: ... > I'm not sure if we have a Raspberry Pi in a test farm anywhere. I > should be able to look next week if no one can figure these out > beforehand. I thought that Tom had some Pis in his test farm? ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 15:42 ` Stephen Warren @ 2017-08-03 17:42 ` Tom Rini 2017-08-21 2:59 ` Simon Glass 2017-08-21 5:06 ` Heiko Schocher 0 siblings, 2 replies; 14+ messages in thread From: Tom Rini @ 2017-08-03 17:42 UTC (permalink / raw) To: u-boot On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: > On 08/03/2017 07:45 AM, Simon Glass wrote: > ... > >I'm not sure if we have a Raspberry Pi in a test farm anywhere. I > >should be able to look next week if no one can figure these out > >beforehand. > > I thought that Tom had some Pis in his test farm? I have an RPi 3, but we don't have Linux boot tests atm. I'm talking with Kevin Hilman about how I might setup kernelci to test a few things in my lab, which might catch this kind of problem sooner rather than later. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170803/1f379654/attachment.sig> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 17:42 ` Tom Rini @ 2017-08-21 2:59 ` Simon Glass 2017-08-25 1:46 ` Simon Glass 2017-08-21 5:06 ` Heiko Schocher 1 sibling, 1 reply; 14+ messages in thread From: Simon Glass @ 2017-08-21 2:59 UTC (permalink / raw) To: u-boot Hi Paul, On 3 August 2017 at 11:42, Tom Rini <trini@konsulko.com> wrote: > On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: >> On 08/03/2017 07:45 AM, Simon Glass wrote: >> ... >> >I'm not sure if we have a Raspberry Pi in a test farm anywhere. I >> >should be able to look next week if no one can figure these out >> >beforehand. >> >> I thought that Tom had some Pis in his test farm? > > I have an RPi 3, but we don't have Linux boot tests atm. I'm talking > with Kevin Hilman about how I might setup kernelci to test a few things > in my lab, which might catch this kind of problem sooner rather than > later. Just a note that I can repeat the CONFIG_OF_EMBED problem. I am not sure what is going on or why this would prevent the kernel booting. But I believe rpi has a device tree pass-through from the pre-U-Boot boot loader, and I am booting with that, so perhaps it relies on CONFIG_OF_EMBED in some way? I can also repeat the USB keyboard problem. It doesn't detect the keyboard at all. For me this can be fixed by enabling CONFIG_DM_KEYBOARD, so we should probably do that for all rpi boards. Re the Ethernet thing, what changes when you disable that? Regards, Simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-21 2:59 ` Simon Glass @ 2017-08-25 1:46 ` Simon Glass 2017-08-25 9:46 ` Paul Barker 0 siblings, 1 reply; 14+ messages in thread From: Simon Glass @ 2017-08-25 1:46 UTC (permalink / raw) To: u-boot Hi, On 20 August 2017 at 20:59, Simon Glass <sjg@chromium.org> wrote: > Hi Paul, > > On 3 August 2017 at 11:42, Tom Rini <trini@konsulko.com> wrote: >> On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: >>> On 08/03/2017 07:45 AM, Simon Glass wrote: >>> ... >>> >I'm not sure if we have a Raspberry Pi in a test farm anywhere. I >>> >should be able to look next week if no one can figure these out >>> >beforehand. >>> >>> I thought that Tom had some Pis in his test farm? >> >> I have an RPi 3, but we don't have Linux boot tests atm. I'm talking >> with Kevin Hilman about how I might setup kernelci to test a few things >> in my lab, which might catch this kind of problem sooner rather than >> later. > > Just a note that I can repeat the CONFIG_OF_EMBED problem. I am not > sure what is going on or why this would prevent the kernel booting. > But I believe rpi has a device tree pass-through from the pre-U-Boot > boot loader, and I am booting with that, so perhaps it relies on > CONFIG_OF_EMBED in some way? I can see some code in board_fdt_blob_setup() but it does not seem to be enabled. For me I am able to boot Linux without CONFIG_OF_EMBED. > > I can also repeat the USB keyboard problem. It doesn't detect the > keyboard at all. For me this can be fixed by enabling > CONFIG_DM_KEYBOARD, so we should probably do that for all rpi boards. I have sent a patch for this. > > Re the Ethernet thing, what changes when you disable that? Regards, Simon ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-25 1:46 ` Simon Glass @ 2017-08-25 9:46 ` Paul Barker 2017-08-25 12:25 ` Jonathan Gray 2017-08-25 16:01 ` Stephen Warren 0 siblings, 2 replies; 14+ messages in thread From: Paul Barker @ 2017-08-25 9:46 UTC (permalink / raw) To: u-boot On Fri, Aug 25, 2017 at 2:46 AM, Simon Glass <sjg@chromium.org> wrote: > Hi, > > On 20 August 2017 at 20:59, Simon Glass <sjg@chromium.org> wrote: >> Hi Paul, >> >> On 3 August 2017 at 11:42, Tom Rini <trini@konsulko.com> wrote: >>> On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: >>>> On 08/03/2017 07:45 AM, Simon Glass wrote: >>>> ... >>>> >I'm not sure if we have a Raspberry Pi in a test farm anywhere. I >>>> >should be able to look next week if no one can figure these out >>>> >beforehand. >>>> >>>> I thought that Tom had some Pis in his test farm? >>> >>> I have an RPi 3, but we don't have Linux boot tests atm. I'm talking >>> with Kevin Hilman about how I might setup kernelci to test a few things >>> in my lab, which might catch this kind of problem sooner rather than >>> later. >> >> Just a note that I can repeat the CONFIG_OF_EMBED problem. I am not >> sure what is going on or why this would prevent the kernel booting. >> But I believe rpi has a device tree pass-through from the pre-U-Boot >> boot loader, and I am booting with that, so perhaps it relies on >> CONFIG_OF_EMBED in some way? > > I can see some code in board_fdt_blob_setup() but it does not seem to > be enabled. For me I am able to boot Linux without CONFIG_OF_EMBED. > >> >> I can also repeat the USB keyboard problem. It doesn't detect the >> keyboard at all. For me this can be fixed by enabling >> CONFIG_DM_KEYBOARD, so we should probably do that for all rpi boards. > > I have sent a patch for this. This patch looks good. I've now got working keyboard and network in u-boot along with a successful boot of Linux for the 2 devices I've tested (Original rpi and rpi3 32-bit) from the following: * U-boot 2017.07 release * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) * Apply backported version of your patch The rpi firmware does provide a device tree blob at boot and my only guess is that this is currently being overwritten or ignored. That's masked when CONFIG_OF_EMBED is enabled as we use an embedded device tree instead of the one provided by the rpi firmware. For u-boot v2017.09 release is it possible to re-enable CONFIG_OF_EMBED until we can find and fix the underlying issue? Or is there some reason to avoid CONFIG_OF_EMBED? > >> >> Re the Ethernet thing, what changes when you disable that? CONFIG_DM_ETH was disabled purely as it depends on CONFIG_DM_USB on the Raspberry Pi and I'd disabled that to work around the USB keyboard issue. With CONFIG_DM_ETH, CONFIG_DM_USB and CONFIG_DM_KEYBOARD enabled everything looks good. Thanks, -- Paul Barker Togán Labs Ltd ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-25 9:46 ` Paul Barker @ 2017-08-25 12:25 ` Jonathan Gray 2017-08-25 16:01 ` Stephen Warren 1 sibling, 0 replies; 14+ messages in thread From: Jonathan Gray @ 2017-08-25 12:25 UTC (permalink / raw) To: u-boot On Fri, Aug 25, 2017 at 10:46:55AM +0100, Paul Barker wrote: > On Fri, Aug 25, 2017 at 2:46 AM, Simon Glass <sjg@chromium.org> wrote: > > Hi, > > > > On 20 August 2017 at 20:59, Simon Glass <sjg@chromium.org> wrote: > >> Hi Paul, > >> > >> On 3 August 2017 at 11:42, Tom Rini <trini@konsulko.com> wrote: > >>> On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: > >>>> On 08/03/2017 07:45 AM, Simon Glass wrote: > >>>> ... > >>>> >I'm not sure if we have a Raspberry Pi in a test farm anywhere. I > >>>> >should be able to look next week if no one can figure these out > >>>> >beforehand. > >>>> > >>>> I thought that Tom had some Pis in his test farm? > >>> > >>> I have an RPi 3, but we don't have Linux boot tests atm. I'm talking > >>> with Kevin Hilman about how I might setup kernelci to test a few things > >>> in my lab, which might catch this kind of problem sooner rather than > >>> later. > >> > >> Just a note that I can repeat the CONFIG_OF_EMBED problem. I am not > >> sure what is going on or why this would prevent the kernel booting. > >> But I believe rpi has a device tree pass-through from the pre-U-Boot > >> boot loader, and I am booting with that, so perhaps it relies on > >> CONFIG_OF_EMBED in some way? > > > > I can see some code in board_fdt_blob_setup() but it does not seem to > > be enabled. For me I am able to boot Linux without CONFIG_OF_EMBED. > > > >> > >> I can also repeat the USB keyboard problem. It doesn't detect the > >> keyboard at all. For me this can be fixed by enabling > >> CONFIG_DM_KEYBOARD, so we should probably do that for all rpi boards. > > > > I have sent a patch for this. > > This patch looks good. I've now got working keyboard and network in > u-boot along with a successful boot of Linux for the 2 devices I've > tested (Original rpi and rpi3 32-bit) from the following: > > * U-boot 2017.07 release > * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) > * Apply backported version of your patch > > The rpi firmware does provide a device tree blob at boot and my only > guess is that this is currently being overwritten or ignored. That's > masked when CONFIG_OF_EMBED is enabled as we use an embedded device > tree instead of the one provided by the rpi firmware. > > For u-boot v2017.09 release is it possible to re-enable > CONFIG_OF_EMBED until we can find and fix the underlying issue? Or is > there some reason to avoid CONFIG_OF_EMBED? There is also CONFIG_OF_BOARD that is supposed to do something similiar but adding that to rpi_3_defconfig resulted in nothing on serial and a coloured splash screen from the gpu firmware on hdmi. The only way to use the device trees that come with the firmware seems to be adding CONFIG_OF_EMBED. Without it the dtb header is missing from where fdt_addr_r points to (0x100), libfdt rightfully complains and anything expecting a device tree breaks. U-Boot> boot switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found EFI removable media binary efi/boot/bootaa64.efi reading efi/boot/bootaa64.efi 78271 bytes read in 27 ms (2.8 MiB/s) libfdt fdt_check_header(): FDT_ERR_BADMAGIC ## Starting EFI application at 01000000 ... Scanning disk sdhci at 7e300000.blk... Scanning disk usb_mass_storage.lun0... Found 2 disks >> OpenBSD/arm64 BOOTAA64 0.8 boot> boot -a cannot open sd0a:/etc/random.seed: No such file or directory booting sd0a:/bsd: 3804004+574452+508392+674936 [283297+96+448008+238164]=0x80df08 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-25 9:46 ` Paul Barker 2017-08-25 12:25 ` Jonathan Gray @ 2017-08-25 16:01 ` Stephen Warren 1 sibling, 0 replies; 14+ messages in thread From: Stephen Warren @ 2017-08-25 16:01 UTC (permalink / raw) To: u-boot On 08/25/2017 03:46 AM, Paul Barker wrote: > On Fri, Aug 25, 2017 at 2:46 AM, Simon Glass <sjg@chromium.org> wrote: >> Hi, >> >> On 20 August 2017 at 20:59, Simon Glass <sjg@chromium.org> wrote: >>> Hi Paul, >>> >>> On 3 August 2017 at 11:42, Tom Rini <trini@konsulko.com> wrote: >>>> On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: >>>>> On 08/03/2017 07:45 AM, Simon Glass wrote: >>>>> ... >>>>>> I'm not sure if we have a Raspberry Pi in a test farm anywhere. I >>>>>> should be able to look next week if no one can figure these out >>>>>> beforehand. >>>>> >>>>> I thought that Tom had some Pis in his test farm? >>>> >>>> I have an RPi 3, but we don't have Linux boot tests atm. I'm talking >>>> with Kevin Hilman about how I might setup kernelci to test a few things >>>> in my lab, which might catch this kind of problem sooner rather than >>>> later. >>> >>> Just a note that I can repeat the CONFIG_OF_EMBED problem. I am not >>> sure what is going on or why this would prevent the kernel booting. >>> But I believe rpi has a device tree pass-through from the pre-U-Boot >>> boot loader, and I am booting with that, so perhaps it relies on >>> CONFIG_OF_EMBED in some way? >> >> I can see some code in board_fdt_blob_setup() but it does not seem to >> be enabled. For me I am able to boot Linux without CONFIG_OF_EMBED. >> >>> >>> I can also repeat the USB keyboard problem. It doesn't detect the >>> keyboard at all. For me this can be fixed by enabling >>> CONFIG_DM_KEYBOARD, so we should probably do that for all rpi boards. >> >> I have sent a patch for this. > > This patch looks good. I've now got working keyboard and network in > u-boot along with a successful boot of Linux for the 2 devices I've > tested (Original rpi and rpi3 32-bit) from the following: > > * U-boot 2017.07 release > * Revert "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) > * Apply backported version of your patch > > The rpi firmware does provide a device tree blob at boot and my only > guess is that this is currently being overwritten or ignored. That's > masked when CONFIG_OF_EMBED is enabled as we use an embedded device > tree instead of the one provided by the rpi firmware. As background information, note that there are two ways U-Boot can work: 1) Load a DTB from "disk", and pass that to the kernel. This is typically used for upstream kernels, since at least historically the DTBs supplied by the RPi Foundation and loaded/modified by the VideoCore firmware use a non-upstream schema, so need to be replaced with an upstream-compatible DTB by U-Boot. 2) Pass through the DTB from the VideoCore firmware to the kernel. This is almost certainly required when booting a downstream RPi Foundation kernel. Historically, U-Boot has only implemented option 1. I think recent versions of U-Boot support option 2, although you'd have to make some configuration(environment) changes to use that method. That's because historically, U-Boot has been targeted at booting upstream kernels. I haven't investigated whether any of this is related to the problem you're seeing. ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 17:42 ` Tom Rini 2017-08-21 2:59 ` Simon Glass @ 2017-08-21 5:06 ` Heiko Schocher 1 sibling, 0 replies; 14+ messages in thread From: Heiko Schocher @ 2017-08-21 5:06 UTC (permalink / raw) To: u-boot Hello Tom, Am 03.08.2017 um 19:42 schrieb Tom Rini: > On Thu, Aug 03, 2017 at 09:42:13AM -0600, Stephen Warren wrote: >> On 08/03/2017 07:45 AM, Simon Glass wrote: >> ... >>> I'm not sure if we have a Raspberry Pi in a test farm anywhere. I >>> should be able to look next week if no one can figure these out >>> beforehand. >> >> I thought that Tom had some Pis in his test farm? > > I have an RPi 3, but we don't have Linux boot tests atm. I'm talking > with Kevin Hilman about how I might setup kernelci to test a few things > in my lab, which might catch this kind of problem sooner rather than > later. You might try tbot? I just writting a guide [1] how to setup tbot for a beagleboneblack, so I hope it is easier to start with... I have running a weekly linux test for the beagleboneblack [2] beside the weekly U-Boot mainline tests on the beagleboneblack [3]. [2] based on the linux tree from Robert Nelson, tbot does: "git clone --reference=/home/git/linux.git git at github.com:beagleboard/linux.git linux-bbb" compiles/boots it and does some very basic tests (for example check all SoC registers defined in the files [4] under linux) ... you can easy expand this tests, as tbot does cmdline tests ... new board configs/testcases are welcome ;-) bye, Heiko [1] http://www.tbot.tools/guide.html [2] http://xeidos.ddns.net/buildbot/builders/bbb_lx last result: http://xeidos.ddns.net/tests/test_db_auslesen.php#387 [3] http://xeidos.ddns.net/buildbot/builders/bbb_ub last result: http://xeidos.ddns.net/tests/test_db_auslesen.php#386 [4] https://github.com/hsdenx/tbot/tree/master/src/files/bbb -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-03 13:45 ` Simon Glass 2017-08-03 15:42 ` Stephen Warren @ 2017-08-04 12:58 ` Paul Barker 2017-08-04 13:18 ` Mark Kettenis 1 sibling, 1 reply; 14+ messages in thread From: Paul Barker @ 2017-08-04 12:58 UTC (permalink / raw) To: u-boot On Thu, Aug 3, 2017 at 2:45 PM, Simon Glass <sjg@chromium.org> wrote: > Hi, > > On 3 August 2017 at 03:37, Mark Kettenis <mark.kettenis@xs4all.nl> wrote: >>> Date: Thu, 3 Aug 2017 19:02:06 +1000 >>> From: Jonathan Gray <jsg@jsg.id.au> >>> >>> >>> We had to revert 25877d4e4c45451c5398aec3de50e0d5befe0e9f to add >>> CONFIG_OF_EMBED back to get OpenBSD to continue working on the rpi3. >> >> That revert is in particular necessary for passthrough of the device >> tree from the Raspberry Pi firmwre to work. I haven't investigated >> this further yet, but it seems some of the relocation code is >> conditionalized on CONFIG_OF_EMBED, and I suspect that when >> CONFIG_OF_EMBED is absent, u-boot overwrites the device tree when it >> relocates itself. > > I'm not sure why it needs CONFIG_OF_EMBED. Certainly U-Boot does > relocate the DT when this is not set. But it should not be set for > production images, only for debugging. > I've tried reverting just "dm: arm: rpi: Drop CONFIG_OF_EMBED" (25877d4e) but I'm still left without a working keyboard in u-boot - hitting keys during the countdown does not interrupt the boot process. However the kernel can be booted with just that one commit reverted. I've also looking into the CONFIG_OF_BOARD option. This is currently disabled for raspberrypi devices which means that board_fdt_blob_setup() in board/raspberrypi/rpi/rpi.c is not called. Enabling CONFIG_OF_BOARD leads to a crash at boot with no output from u-boot, the monitor connected to the raspberrypi just shows the colour palette. I can look into this further but it probably needs to wait until I can order some RS232 adaptors and get a serial port setup for early debug output. Thanks, -- Paul Barker Co-Founder & Principal Engineer Togán Labs Ltd ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] U-boot 2017.07 not working on Raspberry Pi 2017-08-04 12:58 ` Paul Barker @ 2017-08-04 13:18 ` Mark Kettenis 0 siblings, 0 replies; 14+ messages in thread From: Mark Kettenis @ 2017-08-04 13:18 UTC (permalink / raw) To: u-boot > From: Paul Barker <pbarker@toganlabs.com> > Date: Fri, 4 Aug 2017 13:58:50 +0100 > > On Thu, Aug 3, 2017 at 2:45 PM, Simon Glass <sjg@chromium.org> wrote: > > Hi, > > > > On 3 August 2017 at 03:37, Mark Kettenis <mark.kettenis@xs4all.nl> wrote: > >>> Date: Thu, 3 Aug 2017 19:02:06 +1000 > >>> From: Jonathan Gray <jsg@jsg.id.au> > >>> > >>> > >>> We had to revert 25877d4e4c45451c5398aec3de50e0d5befe0e9f to add > >>> CONFIG_OF_EMBED back to get OpenBSD to continue working on the rpi3. > >> > >> That revert is in particular necessary for passthrough of the device > >> tree from the Raspberry Pi firmwre to work. I haven't investigated > >> this further yet, but it seems some of the relocation code is > >> conditionalized on CONFIG_OF_EMBED, and I suspect that when > >> CONFIG_OF_EMBED is absent, u-boot overwrites the device tree when it > >> relocates itself. > > > > I'm not sure why it needs CONFIG_OF_EMBED. Certainly U-Boot does > > relocate the DT when this is not set. But it should not be set for > > production images, only for debugging. > > > > I've tried reverting just "dm: arm: rpi: Drop CONFIG_OF_EMBED" > (25877d4e) but I'm still left without a working keyboard in u-boot - > hitting keys during the countdown does not interrupt the boot process. > However the kernel can be booted with just that one commit reverted. > > I've also looking into the CONFIG_OF_BOARD option. This is currently > disabled for raspberrypi devices which means that > board_fdt_blob_setup() in board/raspberrypi/rpi/rpi.c is not called. > Enabling CONFIG_OF_BOARD leads to a crash at boot with no output from > u-boot, the monitor connected to the raspberrypi just shows the colour > palette. > > I can look into this further but it probably needs to wait until I can > order some RS232 adaptors and get a serial port setup for early debug > output. FWIW, I tried to enable CONFIG_OF_BOARD as well as an alternative to re-enabling CONFIG_OF_EMBED and didn't see any output on serial console in that case either. So debugging this probably requires enabling some more debug output. ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2017-08-25 16:01 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-02 12:13 [U-Boot] U-boot 2017.07 not working on Raspberry Pi Paul Barker 2017-08-03 9:02 ` Jonathan Gray 2017-08-03 9:37 ` Mark Kettenis 2017-08-03 13:45 ` Simon Glass 2017-08-03 15:42 ` Stephen Warren 2017-08-03 17:42 ` Tom Rini 2017-08-21 2:59 ` Simon Glass 2017-08-25 1:46 ` Simon Glass 2017-08-25 9:46 ` Paul Barker 2017-08-25 12:25 ` Jonathan Gray 2017-08-25 16:01 ` Stephen Warren 2017-08-21 5:06 ` Heiko Schocher 2017-08-04 12:58 ` Paul Barker 2017-08-04 13:18 ` Mark Kettenis
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox