rockchip: rk3399: Add support for chromebook_kevin
authorMarty E. Plummer <hanetzer@startmail.com>
Fri, 24 Dec 2021 13:43:46 +0000 (16:43 +0300)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 18 Mar 2022 10:12:03 +0000 (18:12 +0800)
commit6d36e92d28c9d009c786e29623c9558b7652ceda
tree0986fbfcdf64b5f1ffe8960ecee10c1bfa928e43
parente4015661c39383c786e00beec586bddb0cf1541c
rockchip: rk3399: Add support for chromebook_kevin

Add support for Kevin, an RK3399-based convertible chromebook that is
very similar to Bob. This patch is mostly based on existing support for
Bob, with only minor changes for Kevin-specific things.

Unlike other Gru boards, coreboot sets Kevin's center logic to 925 mV,
so adjust it here in the dts as well. The rk3399-gru-kevin devicetree
has an unknown event code reference which has to be defined, set it
to the Linux counterpart. The new defconfig is copied from Bob with the
diffconfig:

     DEFAULT_DEVICE_TREE "rk3399-gru-bob" -> "rk3399-gru-kevin"
     DEFAULT_FDT_FILE "rockchip/rk3399-gru-bob.dtb" -> "rockchip/rk3399-gru-kevin.dtb"
     VIDEO_ROCKCHIP_MAX_XRES 1280 -> 2400
     VIDEO_ROCKCHIP_MAX_YRES 800 -> 1600
    +TARGET_CHROMEBOOK_KEVIN y

With this Kevin can boot from SPI flash to a usable U-Boot prompt on the
display with the keyboard working, but cannot boot into Linux for
unknown reasons.

eMMC starts in a working state but fails to re-init, microSD card works
but at a lower-than-expected speed, USB works but causes a hang on
de-init. There are known workarounds to solve eMMC and USB issues.

Cc: Marty E. Plummer <hanetzer@startmail.com>
Cc: Simon Glass <sjg@chromium.org>
[Alper: commit message, resync config with Bob, update MAINTAINERS,
        add to Rockchip doc, add Kconfig help message, set regulator]
Co-developed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
arch/arm/dts/Makefile
arch/arm/dts/rk3399-gru-kevin-u-boot.dtsi [new file with mode: 0644]
arch/arm/mach-rockchip/rk3399/Kconfig
arch/arm/mach-rockchip/rk3399/rk3399.c
arch/arm/mach-rockchip/spl.c
board/google/gru/Kconfig
board/google/gru/MAINTAINERS
board/google/gru/gru.c
configs/chromebook_kevin_defconfig [new file with mode: 0644]
doc/board/rockchip/rockchip.rst
include/dt-bindings/input/linux-event-codes.h