Skip to content

JH7110 IMG BXE-4-32 GPU: bare-metal measurements and upstream enablement questions #119

Description

@KyotoMiyaChan

Hi all,

I have been bringing up the JH7110 / VisionFive 2 GPU while developing kachoiOS,
a self-developed performance-oriented RISC-V OS kernel. The kachoiOS repository
is not public at this stage, but I would like to share the hardware measurements
that may help the wider JH7110 / PowerVR community.

This is not a claim that the JH7110 GPU is fully supported in mainline Linux or
Mesa. It is a set of bare-metal measurements and questions for the upstream
enablement path.

Measured hardware facts:

  • GPU MMIO: 0x18000000, 1 MiB window.
  • IRQ: 82.
  • Power domain: PD_GPUA.
  • BVNC: 36.50.54.182.
  • ROGUE_CR_CORE_ID was read as:
    • low@0x20 = 0x003600b6
    • high@0x24 = 0x00240032
    • CORE_ID64 = 0x00240032003600b6
  • The GPU firmware processor for this BXE-4-32 core is Rogue MIPS, not the
    separate StarFive E24 block.
  • The MIPS firmware path uses MIPS wrapper/remap registers plus SOFT_RESET,
    not the RISC-V FWCORE_BOOT path.
  • IRQ82 appears to behave as a firmware event/boot-event channel. For GP-class
    KCCB commands, completion was observed through KCCB consumption/execution
    counters rather than a per-command IRQ.
  • Minimal KCCB commands such as SLCFLUSHINVAL and HEALTH_CHECK were consumed
    and executed by the firmware.
  • A minimal kicksync-style path reached common-context scheduling, client CCB
    consumption, and UFO update.

Questions:

  1. Is anyone already working on a JH7110 GPU DT binding / DTS series for
    drm/imagination?
  2. For upstream DT, would maintainers prefer exposing JH7110's GPU clocks as
    the existing core/mem/sys model used by img,powervr-rogue.yaml, or extending
    the binding for the fuller JH7110 clock/reset topology?
  3. What is the preferred public firmware packaging path for BVNC 36.50.54.182?
    StarFive packages use rgx.fw.36.50.54.182 and rgx.sh.36.50.54.182, while
    the upstream drm/imagination firmware naming scheme expects names like
    powervr/rogue_36.50.54.182_v1.fw.
  4. Would a disabled-by-default JH7110 gpu@18000000 DTS node be useful as a
    first RFC, assuming firmware and userspace support are still experimental?

I can share concise log excerpts and a proposed DTS/binding sketch if useful.

Contact:
Zhang Liang zhanglianggs@gmail.com

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions