rk3399-gru-kevin: issues on bringup

Simon Glass sjg at chromium.org
Sat Nov 6 04:16:16 CET 2021


Hi Alper,

On Tue, 2 Nov 2021 at 17:05, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Alpher,
>
> On Mon, 1 Nov 2021 at 17:25, Alper Nebi Yasak <alpernebiyasak at gmail.com> wrote:
> >
> > Hi,
> >
> > I've had some recent success with my gru-kevin and wanted to update you
> > on this. Long story short, I can boot from SPI flash and have the
> > display, keyboard, eMMC, microSD card, USB disks all work (however with
> > some hacks); but can't boot into Linux. Things seem to hang shortly
> > after "Starting kernel..." but I don't know if something fails in U-Boot
> > or if I get a kernel panic. (I still have no serial console).
> >
> > There are three relevant branches on my GitHub repo now, please have a
> > look. The first is for what I intend to send upstream soon enough. The
> > other two include hacks and additional patches that build on top of the
> > first, meant to improve things on a per-board basis:
> >
> >     https://github.com/alpernebbi/u-boot/tree/rk3399-gru-chromebooks
> >     https://github.com/alpernebbi/u-boot/tree/rk3399-gru-kevin
> >     https://github.com/alpernebbi/u-boot/tree/rk3399-gru-bob
> >
> > I have no idea if the gru-bob versions work. I just thought things I did
> > for gru-kevin are applicable to it as well and decided I should include
> > them in case anyone wants to test.
> >
> >
> > I also want to ask you some things I'm indecisive about, before posting
> > the rk3399-gru-chromebooks branch as patches.
> >
> > Most of the patches are small config and dts changes that I've grouped
> > by whatever effect they have. Should I squash them into one commit each
> > for config/dts?
>
> Probably best.
>
> >
> > Simon, I've edited some of your patches and kept you as author &
> > sign-off. Are you OK with the edited versions, am I doing things right? See:
> >
> >
> > https://github.com/alpernebbi/u-boot/commit/8c658b7811f4324cd699bd035e802f9339efa8f7
> >
> > https://github.com/alpernebbi/u-boot/commit/c2c68f23e10a51b8d34c00764a33fc847d785f60
> >
> > https://github.com/alpernebbi/u-boot/commit/995454193906e04bfb4e0e38f2bf1a18634a1ebf
>
> LGTM
>
> >
> > Marty, your (second) chromebook_kevin support patch didn't have your
> > sign-off. Is it OK to add it? See:
> >
> >
> > https://github.com/alpernebbi/u-boot/commit/4cee351e012dc26714640e868069b5cc4b5a8329
> >
> > I also think I should squash my gru-kevin changes into that commit, add
> > a commit message about board status, and keep Marty as author & sign-off
> > while adding myself as Co-authored-by & sign-off. Any better ideas on
> > how to structure the patches?
> >
> > Do both of you want to be in /board/google/gru/MAINTAINERS? I have three
> > of us listed there right now, but no idea if that's fine with you two.
> >
> > Hope you can spare time on this.
>
> I actually have bob in my lab but I have not tried the Chrome OS boot
> script on it. I could probably add kevin.
>
> $ do-try-int.sh bob
> Revision 77680d8f85b94ffe690b8fe1f35767aef8b1415a, board bob
>
> Checking revision 77680d8f85b94ffe690b8fe1f35767aef8b1415a
> /vid/software/devel/ubtest
> tbot starting ...
> ├─Parameters:
> │     rev        = '77680d8f85b94ffe690b8fe1f35767aef8b1415a'
> │     clean      = False
> ├─Calling uboot_build_and_flash ...
> │   ├─bob is on port 9904 and uses /dev/pts/39
> │   ├─POWERON (bob)
> │   ├─Calling uboot_build ...
> │   │   ├─Calling uboot_checkout ...
> │   │   │   ├─Builder: bob
> │   │   │   └─Done. (1.038s)
> │   │   ├─Configuring build ...
> │   │   ├─Calling uboot_make ...
> │   │   │   └─Done. (9.073s)
> │   │   └─Done. (10.454s)
> │   ├─Calling uboot_flash ...
> │   │   └─Done. (0.677s)
> │   ├─POWEROFF (bob)
> │   └─Done. (11.868s)
> ├─────────────────────────────────────────
> └─SUCCESS (11.994s)
> tbot starting ...
> ├─Calling interactive_board ...
> │   ├─bob is on port 9904 and uses /dev/pts/39
> │   ├─POWERON (bob)
> │   ├─Entering interactive shell (CTRL+D to exit) ...
> �Channel 0: LPDDR3, 933MHz
> BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
> Channel 1: LPDDR3, 933MHz
> BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
> 256B stride
>
> U-Boot SPL 2021.10-00181-g77680d8f85b (Nov 02 2021 - 09:07:44 -0600)
> Trying to boot from SPI
> rockchip_rk3399_pinctrl pinctrl: pinctrl_select_state_full:
> uclass_get_device_by_phandle_id: err=-19
> rockchip_rk3399_pinctrl pinctrl: pinctrl_select_state_full:
> uclass_get_device_by_phandle_id: err=-19
> ns16550_serial serial at ff1a0000: pinctrl_select_state_full:
> uclass_get_device_by_phandle_id: err=-19
>
>
> U-Boot 2021.10-00181-g77680d8f85b (Nov 02 2021 - 09:07:44 -0600)
>
> Model: Google Bob
> DRAM:  3.9 GiB
> Cannot find regulator pwm init_voltage
> MMC:   mmc at fe320000: 1, mmc at fe330000: 0
> Loading Environment from MMC... *** Warning - bad CRC, using default environment
>
> Got rc -1, expected 100
> Failed to probe keyboard 'keyboard-controller'
> In:    serial at ff1a0000
> Out:   serial at ff1a0000
> Err:   serial at ff1a0000
> Model: Google Bob
> Net:   No ethernet found.
> Hit any key to stop autoboot:  0
> =>

Just to note that I have a kevin in my lab now and it boots into
U-Boot with your

https://github.com/alpernebbi/u-boot/tree/rk3399-gru-chromebooks

I also tried Bob and got this:

$ do-try-int.sh bob
Revision 6a549d02fc43408cf4f000cc97688e7a64948572, board bob

Checking revision 6a549d02fc43408cf4f000cc97688e7a64948572
/vid/software/devel/ubtest
tbot starting ...
├─Parameters:
│     rev        = '6a549d02fc43408cf4f000cc97688e7a64948572'
│     clean      = False
├─Calling uboot_build_and_flash ...
│   ├─bob is on port 9904 and uses /dev/pts/37
│   ├─POWERON (bob)
│   ├─Calling uboot_build ...
│   │   ├─Calling uboot_checkout ...
│   │   │   ├─Builder: bob
│   │   │   └─Done. (0.195s)
│   │   ├─Configuring build ...
│   │   ├─Calling uboot_make ...
│   │   │   └─Done. (9.943s)
│   │   └─Done. (10.329s)
│   ├─Calling uboot_flash ...
│   │   └─Done. (2.209s)
│   ├─POWEROFF (bob)
│   └─Done. (13.305s)
├─────────────────────────────────────────
└─SUCCESS (13.438s)
tbot starting ...
├─Calling interactive_board ...
│   ├─bob is on port 9904 and uses /dev/pts/37
│   ├─POWERON (bob)
│   ├─Entering interactive shell (CTRL+D to exit) ...
Channel 0: LPDDR3, 933MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR3, 933MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride

U-Boot SPL 2021.10-00036-g6a549d02fc4 (Nov 05 2021 - 21:12:30 -0600)
Trying to boot from SPI
rockchip_rk3399_pinctrl pinctrl: pinctrl_select_state_full:
uclass_get_device_by_phandle_id: err=-19
rockchip_rk3399_pinctrl pinctrl: pinctrl_select_state_full:
uclass_get_device_by_phandle_id: err=-19
ns16550_serial serial at ff1a0000: pinctrl_select_state_full:
uclass_get_device_by_phandle_id: err=-19


U-Boot 2021.10-00036-g6a549d02fc4 (Nov 05 2021 - 21:12:30 -0600)

Model: Google Bob
DRAM:  3.9 GiB
MMC:   mmc at fe320000: 1, mmc at fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    cros-ec-keyb
Out:   vidconsole
Err:   vidconsole
Model: Google Bob
Net:   No ethernet found.
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:c...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc at fe320000.blk...
Disk mmc at fe320000.blk not ready
Scanning disk mmc at fe330000.blk...
fs_devread read outside partition 2
Failed to mount ext2 filesystem...
fs_devread read outside partition 2
Failed to mount ext2 filesystem...
fs_devread read outside partition 2
Failed to mount ext2 filesystem...
fs_devread read outside partition 2
Failed to mount ext2 filesystem...
Found 13 disks
** Unable to read file ubootefi.var **
Failed to load EFI variables
BootOrder not defined
EFI boot manager: Cannot load any image
starting USB...
Bus usb at fe380000: USB EHCI 1.00
Bus usb at fe3a0000: USB OHCI 1.0
Bus usb at fe3c0000: USB EHCI 1.00
Bus usb at fe3e0000: USB OHCI 1.0
Bus usb at fe800000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus usb at fe900000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb at fe380000 for devices... 2 USB Device(s) found
scanning bus usb at fe3a0000 for devices... 1 USB Device(s) found
scanning bus usb at fe3c0000 for devices... 2 USB Device(s) found
scanning bus usb at fe3e0000 for devices... 1 USB Device(s) found
scanning bus usb at fe800000 for devices... 1 USB Device(s) found
scanning bus usb at fe900000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rk3399-gru
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rk3399
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
SF: Detected gd25lq32 with page size 256 Bytes, erase size 4 KiB, total 4 MiB
Offset exceeds device limit
sf - SPI flash sub-system

Usage:
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus
  and chip select
sf read addr offset|partition len - read `len' bytes starting at
          `offset' or from start of mtd
  `partition'to memory at `addr'
sf write addr offset|partition len - write `len' bytes from memory
          at `addr' to flash at `offset'
  or to start of mtd `partition'
sf erase offset|partition [+]len - erase `len' bytes from `offset'
  or from start of mtd `partition'
`+len' round up `len' to block size
sf update addr offset|partition len - erase and write `len' bytes from memory
  at `addr' to flash at `offset'
  or to start of mtd `partition'
sf protect lock/unlock sector len - protect/unprotect 'len' bytes starting
  at address 'sector'

sf test offset len - run a very basic destructive test
## Executing script at 00500000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
=>

Having both in my lab will make it much easier to test.

Regards,
Simon


More information about the U-Boot mailing list