Skip to content
Snippets Groups Projects
  1. Mar 18, 2022
    • Johan Jonker's avatar
      MAINTAINERS: add rockchip regex for more files and directories · ba366809
      Johan Jonker authored and Kever Yang's avatar Kever Yang committed
      
      The current files and directories with wildcard patterns for
      Rockchip patches in MAINTAINERS is not always complete.
      Add the regex for DT related files and a generic regex for
      catching some other forgotten cases, so that the maintainers
      receive all Rockchip related patches.
      
      Signed-off-by: default avatarJohan Jonker <jbx6244@gmail.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      ba366809
    • Marty E. Plummer's avatar
      rockchip: rk3399: Add support for chromebook_kevin · 6d36e92d
      Marty E. Plummer authored and Kever Yang's avatar Kever Yang committed
      
      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: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
      Signed-off-by: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
      Reviewed-by: Kever Yang's avatarKever Yang <kever.yang@rock-chips.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      6d36e92d
    • Alper Nebi Yasak's avatar
      rockchip: bob: Enable more configs · e4015661
      Alper Nebi Yasak authored and Kever Yang's avatar Kever Yang committed
      
      This patch enables some configs that should be working on the Bob board,
      based on what is observed to work on the Kevin board.
      
      The Bob board uses an Embedded DisplayPort panel compatible with the
      simple panel and Rockchip eDP drivers. Its backlight is controlled by
      the Chromium OS Embedded Controller Pulse Width Modulator. Enable these
      for the board.
      
      Also set VIDEO_ROCKCHIP_MAX_{XRES,YRES} to 1280x800, the resolution of
      its panel. This had to be done for the Kevin board, but it's untested if
      this is actually necessary for Bob.
      
      The Rockchip video driver needs to assert/deassert some resets, so also
      enable the reset controller. RESET_ROCKCHIP defaults to y for this board
      when DM_RESET=y, so it's enough to set that.
      
      The Bob board has two USB 3.0 Type-C ports and one USB 2.0 Type-A port
      on its right side. Enable the configs relevant to USB devices so these
      can be used. This is despite a known issue with RK3399 boards where USB
      de-init causes a hang, as there is a known workaround.
      
      Some other rk3399-based devices enable support for the SoC's random
      number generator in commit a475bef5 ("configs: rk3399: enable rng on
      firefly/rock960/rockpro64"), as it can provide a KASLR seed when booting
      using UEFI. Enable it for Bob as well.
      
      The default misc_init_r() for Rockchip boards sets cpuid and ethernet
      MAC address based on e-fuse block. A previous patch extends this on Gru
      boards to set registers related to SoC IO domains as is necessary on
      these boards. Enable this function and configs for it on Bob.
      
      The microSD card slot on this board (and others based on Gru) is
      connected to a GPIO controlled regulator (ppvar-sd-card-io), which must
      be operable by U-Boot. Enable the relevant config option to allow this.
      
      Bob boards also use the Winbond W25Q64DW SPI flash chip, enable support
      for Winbond SPI flash chips in the board config so U-Boot can boot with
      this chip.
      
      Signed-off-by: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
      Reviewed-by: Kever Yang's avatarKever Yang <kever.yang@rock-chips.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      e4015661
    • Simon Glass's avatar
      rockchip: gru: Add more devicetree settings · 8ba1ade3
      Simon Glass authored and Kever Yang's avatar Kever Yang committed
      
      This adds some devicetree settings for the Gru-based boards, based on
      what works on a Kevin board.
      
      Gru-based boards usually have an 8MiB SPI flash chip and boot from it.
      Make the u-boot.rom file intended to be flashed on it match its size.
      Add properties for booting from SPI, and only try to boot from SPI as
      MMC and SD card don't seem to work in SPL yet.
      
      The Chromium OS EC needs a delay between transactions so it can get
      itself ready. Also it currently uses a non-standard way of specifying
      the interrupt. Add these so that the EC works reliably.
      
      The Rockchip Embedded DisplayPort driver is looking for a rockchip,panel
      property to find the panel it should work on. Add the property for the
      Gru-based boards.
      
      The U-Boot GPIO controlled regulator driver only considers the
      "enable-gpios" devicetree property, not the singular "enable-gpio" one.
      Some devicetree source files have the singular form as they were added
      to Linux kernel when it used that form, and imported to U-Boot as is.
      Fix one instance of this in the Gru boards' devicetree to the form that
      works in U-Boot.
      
      The PWM controlled regulator driver complains that there is no init
      voltage set for a regulator it drives, though it's not clear which one.
      Set them all to the voltage levels coreboot sets them: 900 mV.
      
      The RK3399 SoC needs to know the voltage level that some supplies
      provides, including one fixed 1.8V audio-related regulator. Although
      this synchronization is currently statically done in the board init
      functions, a not-so-hypothetical driver that does this dynamically would
      query the regulator only to get -ENODATA and be confused. Make sure
      U-Boot knows this supply is at 1.8V by setting its limits to that.
      
      Most of this is a reapplication of commit 08c85b57 ("rockchip: gru:
      Add extra device-tree settings") whose changes were removed during a
      sync with Linux at commit 167efc2c ("arm64: dts: rk3399: Sync
      v5.7-rc1 from Linux"). Apply things to rk3399-gru-u-boot.dtsi instead so
      they don't get lost again.
      
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      [Alper: move to -u-boot.dtsi, rewrite commit message, add more nodes]
      Co-developed-by: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
      Signed-off-by: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
      Reviewed-by: Kever Yang's avatarKever Yang <kever.yang@rock-chips.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      8ba1ade3
    • Alper Nebi Yasak's avatar
      rockchip: gru: Set up SoC IO domain registers · eb0ca6b5
      Alper Nebi Yasak authored and Kever Yang's avatar Kever Yang committed
      
      The RK3399 SoC needs to know the voltage value provided by some
      regulators, which is done by setting relevant register bits. Configure
      these the way other RK3399 boards do, but with the same values as are
      set in the equivalent code in coreboot.
      
      Signed-off-by: default avatarAlper Nebi Yasak <alpernebiyasak@gmail.com>
      Reviewed-by: Kever Yang's avatarKever Yang <kever.yang@rock-chips.com>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Tested-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      eb0ca6b5
  2. Mar 16, 2022
  3. Mar 15, 2022
  4. Mar 14, 2022
Loading