
If you’ve been around Chrome Unboxed, you are quite familiar with the names ‘Gru’ and ‘Kevin’ as they relate to an upcoming device with a hi-res screen, stylus support, and a folding 360-degree hinge.
You’d also know that the main board that shows up with ‘Kevin’ is constantly been shown as codename ‘Gru’.
You’d know that we never spoke of ‘Gru’ as a device.
Until now.
A recent comment on the site caused us to look a bit deeper at the possibility that we’d missed something in regards to the whole ‘Kevin’ saga. That comment caused us to begin digging with a slightly different viewpoint.
And what we found leads us to believe that ‘Gru’ is, in fact, the base board for ‘Kevin’.
But we also found that ‘Gru’ is a device in it’s own right as well.
So, while things we’ve understood to be true about ‘Kevin’ are still true, we simply missed the fact that ‘Gru’ is a separate, distinct device as well. Let’s take a look at a few things and I’ll show you why in the midst of all the noise about ‘Kevin’, we believe we’ve found yet another device in ‘Gru’
First, in the Chromium Projects Developer Information for Chrome OS Devices, you can see most of the already-released Chromebook codenames, main board codenames, and base board names. What you will quickly see across all devices on the page is the project (device) codename matches the main board codename. Every. Single. Time.
Your wheels might be turning as you think through the commits we’ve seen in the past regarding ‘Kevin’ and how those commits don’t ever talk about a board named ‘Kevin’. Good. Let’s keep moving.
According to the Google Git (where files are shared and worked on by the developers and programmers) we can see here that there are a few .dtsi (device tree source) files in play for ‘Kevin’ and ‘Gru’. Take a look here.
Here’s the list of files you see on this page:
- Makefile
- rk3368-evb-act8846.dts
- rk3368-evb.dtsi
- rk3368-geekbox.dts
- rk3368-r88.dts
- rk3368.dtsi
- rk3399-early-opp.dtsi
- rk3399-evb.dts
- rk3399-gru-gru-r0.dts
- rk3399-gru-gru-r1.dts
- rk3399-gru-gru.dtsi
- rk3399-gru-kevin-r2.dts
- rk3399-gru-kevin-r3.dts
- rk3399-gru-kevin-r4.dts
- rk3399-gru-kevin-r5.dts
- rk3399-gru-kevin-r6.dts
- rk3399-gru-kevin.dtsi
- rk3399-gru.dtsi
- rk3399-opp.dtsi
- rk3399-sched-energy.dtsi
- rk3399.dtsi
What we see are quite a few .dts and .dtsi files, and the first one we are going to look at is the rk3399-evb.dts. This is the Evaluation Board for the RK3399 chip. We’ve assumed up to this point that was ‘Gru’s role in all this. Turns out there already is a testing board.
What then becomes interesting is the names of the files on this page (listed above). Usually, the naming of the .dtsi file goes right with the project codename. With ‘Kevin’ and ‘Gru’, this is a bit different. We’ve always seen ‘Kevin’ and ‘Gru’ referenced together, giving us the impression that they were a board/device combo.
And this is true. Just see all the gru-kevin files above. It’s clear that ‘Gru’ is the codename for the ‘Kevin’ main board.
However, what is very clear is that there is a gru.dtsi and a gru-gru.dtsi. Notice, the .dtsi file for ‘Kevin’ is rk3399-gru-kevin.dtsi. There is no kevin.dtsi, only gru-kevin.dtsi. Thus, we believe this points to a main board called ‘Gru’ that is the main board not only for gru-kevin, but also another device: gru-gru.
Let’s keep moving and take a look at that rk339.gru-gru.dtsi file. Inside it, we see on line 86 the description of the actual display.
And it is not the display we discussed that ‘Kevin’ will be using. Instead, it is a different display referred to as “starry,kr122ea0sra”, “simple-panel”. A quick search for this panel reveals a display with the resolution of 1920×1200 (16:10) and a size of 12.2 inches. We are unsure who makes the panel and we’re unsure about other specs surrounding it, but that gives us a bit of knowledge and a clear sign that the device ‘Gru’ is utilizing a different, lower-res, slightly smaller display.
Finally, to bring this ‘Gru’-is-a-device theory home, we found these commits last night:
https://chromium-review.googlesource.com/#/c/354165/
https://chromium-review.googlesource.com/#/c/379566/
In the first, we see clear reference to two devices:
We’re doing this because we want to use either CPLL (800 MHz) or GPLL (594 MHz) for eDP on kevin and gru leaving VPLL free to change at the whim of whatever external display is plugged in.
We see here clear reference to two devices with different displays, not a single device.
In the second:
Taking our cue from commit a42f6e3f8f03 (“drm/panel: simple: Add delay timing for Sharp LQ123P1JX31”), let’s add timings…
Here we see the commiters taking data from a previous commit and adding some things for use on ‘Gru’ and it’s different display panel.
All this adds up to a very concrete truth: ‘Gru’ is a main board and a device. So that means instead of just hunting and digging for more info on the upcoming devices we’ve been tracking, we’re about to start officially tracking ‘Gru’.
There’s another piece of info that looks to be very, very exciting. But we need to do a bit more research on that.
This is great news, folks, and we cannot wait to see where ‘Gru’ and ‘Kevin’ go from here. Stay tuned!