[U-Boot] [PATCH 0/20] tegra: Expand Nyan-big support

Simon Glass
2017-05-01T23:34:10Z

Hi Matthew,

On 1 May 2017 at 17:27, Matthew Gorski <matt.gorski@gmail.com> wrote:
>
>
> On Mon, May 1, 2017 at 6:02 PM, Simon Glass <sjg@chromium.org> wrote:
>>
>> Hi Matthew,
>>
>> On 1 May 2017 at 14:30, Matthew Gorski <matt.gorski@gmail.com> wrote:
>> >
>> >
>> > On Mon, May 1, 2017 at 2:36 PM, Simon Glass <sjg@chromium.org> wrote:
>> >>
>> >> Hi Matthew,
>> >>
>> >> On 1 May 2017 at 11:26, Matthew Gorski <matt.gorski@gmail.com> wrote:
>> >> >
>> >> >
>> >> >
>> >> > On Mon, May 1, 2017 at 1:03 PM, Simon Glass <sjg@chromium.org> wrote:
>> >> >>
>> >> >> Hi Matthew,
>> >> >>
>> >> >> On 1 May 2017 at 10:40, Matthew Gorski <matt.gorski@gmail.com>
>> >> >> wrote:
>> >> >> > Let me repost this to the bottom. New to the mailing list ;)
>> >> >> >
>> >> >> > I am using chained boot to test uboot as a FIT image so I I don't
>> >> >> > have to
>> >> >> > flash to spl flash. Does CONFIG_SPL_TEXT_BASE need to be adjusted
>> >> >> > for
>> >> >> > chained boot?
>> >> >> >
>> >> >> > I am using instructions to boot Linux for Tegra from sdcard/USB in
>> >> >> > developer
>> >> >> > mode. I can boot L4T fine with kernel v3.10.
>> >> >> >
>> >> >> > What mainline branch should I try?
>> >> >>
>> >> >> There's only one mainline, here:
>> >> >> http://git.denx.de/?p=u-boot.git;a=summary
>> >> >>
>> >> >> There are various custodian branches but I don't believe the tegra
>> >> >> one
>> >> >> has anything different from mainline at present.
>> >> >>
>> >> >> - Simon
>> >> >>
>> >> > I will give mainline a try with:
>> >> >
>> >> > CONFIG_SYS_TEXT_BASE 0x8010E000
>> >> > and
>> >> >
>> >> > CONFIG_SPL_TEXT_BASE 0x80108000
>> >> >
>> >> >
>> >> > I know I will also need:
>> >> >
>> >> >
>> >> > CONFIG_DISPLAY_PORT=y
>> >>
>> >> Do you mean CONFIG_DISPLAY? If so, it is already defined.
>> >>
>> >> > CONFIG_VIDEO_TEGRA124=y
>> >>
>> >> That is defined in mainline
>> >>
>> >> >
>> >> >
>> >> > for the console to display command prompt.
>> >> >
>> >> >
>> >> > The FIT config I am using is from
>> >> >
>> >> > here:https://git.collabora.com/cgit/user/tomeu/u-boot.git/commit/?h=nyan-big
>> >> >
>> >> >
>> >> > Do I need to adjust:
>> >> >
>> >> >
>> >> > load = <0>;
>> >> > entry = <0>;
>> >> >
>> >> >
>> >> > /dts-v1/;
>> >> >
>> >> > / {
>> >> > description = "U-Boot + FDT --------- THIS PADDING IS NEEDED SO
>> >> > THE
>> >> > IMAGE STARTS AT THE RIGHT OFFSET";
>> >>
>> >> Perhaps you need to adjust this? How was the length of it calcualted?
>> >
>> >
>> > I am really not sure how the padding was calculated. I just assumed
>> > this
>> > kernel-big.its FIT config was correct for nyan_big. I will try using my
>> > working linux kernel fit config.
>> >>
>> >>
>> >> > #address-cells = <1>;
>> >> > images {
>> >> > kernel at 1{
>> >> > description = "kernel";
>> >> > data = /incbin/("u-boot-dtb.bin");
>> >> > type = "kernel_noload";
>> >> > arch = "arm";
>> >> > os = "linux";
>> >> > compression = "none";
>> >> > load = <0>;
>> >> > entry = <0>;
>> >> > };
>> >> > fdt at 1{
>> >> > description = "tegra124-nyan-big.dtb";
>> >> > data = /incbin/("dts/dt.dtb");
>> >> > type = "flat_dt";
>> >> > arch = "arm";
>> >> > compression = "none";
>> >> > hash at 1{
>> >> > algo = "sha1";
>> >> > };
>> >> > };
>> >> > };
>> >> > configurations {
>> >> > default = "conf at 1";
>> >> > conf at 1{
>> >> > kernel = "kernel at 1";
>> >> > fdt = "fdt at 1";
>> >> > };
>> >> > };
>> >> > };
>> >> >
>> >> >
>> >> > please let me know if I should also adjust the SPL CONFIG even though
>> >> > I
>> >> > am chainbooting uboot:
>> >> >
>> >> >
>> >> >
>> >> > https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook#TOC-Installing-nv-U-Boot-chained-U-Boot-method-
>> >>
>> >> This is exynos, where we booted directly into U-Boot. Actually I'm
>> >> wondering we should boot directly into U-Boot (instead of SPL) on nyan
>> >> also. Perhaps someone at collabora would know? Did you search the
>> >> mailing list?
>> >>
>> >> Regards,
>> >> Simon
>> >
>> >
>> > I have not searched the mailing list. What should I search for?
>> > Booting
>> > nyan to u-boot directly bypassing SPL?
>>
>> Here are two subjects to search for:
>>
>> Veyron-speedy u-boot
>> [PATCH 0/20] tegra: Expand Nyan-big support
>>
>> Regards,
>> Simon
>
>
> Very odd if I do not use "#address-cells = <1>;" the display flashes and
> reboots into recovery but if I do use #address-cells = <1>; in my FIT config
> I get a blank screen
> so something is working when not using the padding.

If you figure out where u-boot-dtb.bin needs to start by looking at
depthcharge or where the kernel starts, then you can figure out how
long the padding needs to be at the start of the FIT. Rather than
guessing...!

- Simon

>
> /dts-v1/;
>
> / {
> description = "Chrome OS nyan u-boot chain boot method";
> #address-cells = <1>;
> images {
> kernel at 1{
>
>>
>> >>
>> >>
>> >> >>
>> >> >> >
>>
>> >> >> > On May 1, 2017 12:11 PM, "Matthew Gorski" <matt.gorski@gmail.com>
>> >> >> > wrote:
>> >> >> >
>> >> >> > On May 1, 2017 11:45 AM, "Simon Glass" <sjg@chromium.org> wrote:
>> >> >> >
>> >> >> > Hi Matthew,
>> >> >> >
>> >> >> > On 1 May 2017 at 09:37, Matthew Gorski <matt.gorski@gmail.com>
>> >> >> > wrote:
>> >> >> >> Thanks for the reply Simon.
>> >> >> >>
>> >> >> >> I have been trying to find the System.map for depthcharge to see
>> >> >> >> the
>> >> >> >> kernel
>> >> >> >> load address but I am unable to find anything. I have tried
>> >> >> >> multiple
>> >> >> >> CONFIG_SYS_TEXT_BASE settings with no luck.
>> >> >> >
>> >> >> > How did you choose what to use? Also note that Tegra uses SPL to
>> >> >> > start, so you may need to adjust CONFIG_SPL_TEXT_BASE instead.
>> >> >> >
>> >> >> >>
>> >> >> >> I am creating my sdcard with a standard linux (Linux for Tegra)
>> >> >> >> rootfs:
>> >> >> >
>> >> >> > Did these instructions come from a web site somewhere?
>> >> >> >
>> >> >> >>
>> >> >> >> Partition an SD card
>> >> >> >>
>> >> >> >> sudo cgpt create <MMC BLOCK DEVICE>
>> >> >> >> sudo cgpt add -b 34 -s 32768 -P 1 -S 1 -t kernel <MMC BLOCK
>> >> >> >> DEVICE>
>> >> >> >> # 16
>> >> >> >> MB
>> >> >> >> kernel image partition
>> >> >> >> sudo cgpt add -b 32802 -s <ROOT PARTITION SIZE in 512B sectors>
>> >> >> >> -t
>> >> >> >> rootfs
>> >> >> >> <MMC BLOCK DEVICE>
>> >> >> >>
>> >> >> >> cgpt doesn't seem to create a protective MBR. If one is not
>> >> >> >> already
>> >> >> >> in
>> >> >> >> place, it can be created with:
>> >> >> >>
>> >> >> >> sudo gdisk <MMC BLOCK DEVICE> # and enter command w
>> >> >> >>
>> >> >> >> Copy data to the SD card
>> >> >> >>
>> >> >> >> sudo dd if=./kernelpart.bin of=<MMC BLOCK DEVICE>p1
>> >> >> >> sudo mkfs.ext4 <MMC BLOCK DEVICE>p2
>> >> >> >> sudo mount <MMC BLOCK DEVICE>p2 /mnt/
>> >> >> >>
>> >> >> >
>> >> >> > How are you actually making it boot? Is this in dev mode with USB
>> >> >> > boot
>> >> >> > enabled and pressing Ctrl-U?
>> >> >> >
>> >> >> > Also, as this is a mailing list, please avoid top-posting.
>> >> >> >
>> >> >> > - Simon
>> >> >> >
>> >> >> > I am using chained boot to test uboot as a FIT image so I I don't
>> >> >> > have to
>> >> >> > flash to spl flash. Does CONFIG_SPL_TEXT_BASE need to be adjusted
>> >> >> > for
>> >> >> > chained boot?
>> >> >> >
>> >> >> > I am using instructions to boot Linux for Tegra from sdcard/USB in
>> >> >> > developer
>> >> >> > mode. I can boot L4T fine with kernel v3.10.
>> >> >> >
>> >> >> > What mainline branch should I try?
>> >> >> >
>> >> >> >
>> >> >> >>
>> >> >> >> On Mon, May 1, 2017 at 11:14 AM, Simon Glass <sjg@chromium.org>
>> >> >> >> wrote:
>> >> >> >>>
>> >> >> >>> Hi Matthew,
>> >> >> >>>
>> >> >> >>> On 1 May 2017 at 08:43, Matthew Gorski <matt.gorski@gmail.com>
>> >> >> >>> wrote:
>> >> >> >>> > I am porting u-boot to nyan_big and need some input. I have
>> >> >> >>> > been
>> >> >> >>> > searching
>> >> >> >>> > high and low and found this thread here: [U-Boot] [PATCH 0/20]
>> >> >> >>> > tegra:
>> >> >> >>> > Expand
>> >> >> >>> > Nyan-big support
>> >> >> >>> >
>> >> >> >>> > https://lists.denx.de/pipermail/u-boot/2015-March/209530.html
>> >> >> >>> >
>> >> >> >>> > I have tried to build u-boot with the branch here:
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > https://git.collabora.com/cgit/user/tomeu/u-boot.git/commit/?h=nyan-big
>> >> >> >>> >
>> >> >> >>> > and also the official chromium next branch
>> >> >> >>>
>> >> >> >>> Have you tried mainline U-Boot? It already supports nyan-big.
>> >> >> >>> I'm
>> >> >> >>> not
>> >> >> >>> sure about the situation with the downstream trees.
>> >> >> >>>
>> >> >> >>> >
>> >> >> >>> > I followed building instructions here:
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> >
>> >> >> >>> > https://www.chromium.org/chromium-os/firmware-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook
>> >> >> >>> >
>> >> >> >>> > I build with these commands:
>> >> >> >>> >
>> >> >> >>> > mkimage -e 0x81000100 -a 0x81000100 -f kernel-big.its
>> >> >> >>> > kernel-u-boot
>> >> >> >>> >
>> >> >> >>> > (with and without the load address setting)
>> >> >> >>> >
>> >> >> >>> > vbutil_kernel --arch arm --pack kernel.bin --keyblock
>> >> >> >>> > /usr/share/vboot/devkeys/kernel.keyblock --signprivate
>> >> >> >>> > /usr/share/vboot/devkeys/kernel_data_key.vbprivk --version 1
>> >> >> >>> > --config
>> >> >> >>> > dummy.txt --vmlinuz kernel-u-boot --bootloader dummy.txt
>> >> >> >>> >
>> >> >> >>> > I have had numerous failed attempts to boot uboot from sdcard
>> >> >> >>> > mmcblk1p1
>> >> >> >>> >
>> >> >> >>> > Any help is appreciated I have only gotten a blank screen
>> >> >> >>> > after
>> >> >> >>> > weeks
>> >> >> >>> > of
>> >> >> >>> > flashing. I can boot custom v3.10 kernels so I assume I am
>> >> >> >>> > using
>> >> >> >>> > the
>> >> >> >>> > correct building procedure. Thanks in advance for help from
>> >> >> >>> > the
>> >> >> >>> > u-boot
>> >> >> >>> > community.
>> >> >> >>>
>> >> >> >>> It is possible that it needs a particular address due to
>> >> >> >>> limitations
>> >> >> >>> in the FIT support on Nyan. I'm not sure what it is but might be
>> >> >> >>> able
>> >> >> >>> to take a look at some point.
>> >> >> >>>
>> >> >> >>> How are you building your SD card? Are you following some
>> >> >> >>> instructions
>> >> >> >>> from somewhere?
>> >> >> >>>
>> >> >> >>> Regards,
>> >> >> >>> Simon
>> >> >> >>
>> >> >> >>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >
>> >> >
>> >
>> >
>
>