Skip to content

feat: add configuration files for npu-zone support on sysoul_x3300 with zone2-android - #397

Merged
agicy merged 1 commit into
syswonder:devfrom
agicy:feat/sysoul_x3300
Sep 14, 2026
Merged

agicy merged 1 commit into
syswonder:devfrom
agicy:feat/sysoul_x3300

Conversation

@agicy

@agicy agicy commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Add support for rknpu zone when running android on sysoul_x3300.

Motivation

Update the configuration files for better examples showcase.

Verification

Tested on sysoul_x3300 (based on RK3588).

Risks and Limitations

Only configuration files changed, no code changes.

@agicy
agicy requested a review from li041 September 14, 2026 09:36
@github-actions github-actions Bot added the feature New feature or request label Sep 14, 2026

@li041 li041 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@agicy

agicy commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

@Jaxtonmax

Could you please use the configuration checking tool to check these configuration files?

@agicy
agicy merged commit 02f9b34 into syswonder:dev Sep 14, 2026
23 of 26 checks passed
@agicy
agicy deleted the feat/sysoul_x3300 branch September 14, 2026 09:52
@Jaxtonmax

Copy link
Copy Markdown
Contributor

Hi @agicy,

I ran cfgchk against syswonder/hvisor upstream/dev at commit 02f9b34.
The check covers Root, Zone 1 Linux NPU, and Zone 2 Android as one coexistence
scenario.

Scope

Item Upstream-relative path
Root config platform/aarch64/sysoul_x3300/board.rs
Root DTS platform/aarch64/sysoul_x3300/image/dts/zone0.dts
Zone 1 JSON/DTS platform/aarch64/sysoul_x3300/configs/zone1-linux-npu.json
platform/aarch64/sysoul_x3300/image/dts/zone1-linux-npu.dts
Zone 2 JSON/DTS platform/aarch64/sysoul_x3300/configs/zone2-android.json
platform/aarch64/sysoul_x3300/image/dts/zone2-android.dts
VirtIO config platform/aarch64/sysoul_x3300/configs/zones-npu-android.json

Phase 4 reports 48 physical address overlaps, one pinctrl conflict, and two
pinctrl warnings
. Paths below are relative to the upstream repository.

Phase 4 findings

All address findings below are host-physical overlaps. Click any numbered entry to open its exact source lines at commit 02f9b34.

  • Root[n]: platform/aarch64/sysoul_x3300/board.rs → ROOT_ZONE_MEMORY_REGIONS[n]
  • Zone1[n]: platform/aarch64/sysoul_x3300/configs/zone1-linux-npu.json → memory_regions[n]
  • Zone2[n]: platform/aarch64/sysoul_x3300/configs/zone2-android.json → memory_regions[n]

Root ↔ Zone 1: 5 overlaps

# Root entry and full range Zone 1 entry Actual overlap
1 Root #9 [0xfc000000,0xfd5a4000) Zone 1 #10 [0xfd588000,0xfd589000)
2 Root #11 [0xfd5a6000,0xfdd90000) Zone 1 #7 [0xfdab0000,0xfdac0000)
3 Root #11 [0xfd5a6000,0xfdd90000) Zone 1 #8 [0xfdac0000,0xfdad0000)
4 Root #11 [0xfd5a6000,0xfdd90000) Zone 1 #9 [0xfdad0000,0xfdae0000)
5 Root #18 [0x100000,0x10f000) Zone 1 #0 [0x100000,0x10f000)

Root ↔ Zone 2: 42 overlaps

# Root entry and full range Zone 2 entry Actual overlap
6 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #3 [0xfd104000,0xfd108000)
7 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #4 [0xfd58c000,0xfd58d000)
8 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #6 [0xfd5a0000,0xfd5a1000)
9 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #22 [0xfc000000,0xfc400000)
10 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #23 [0xfc800000,0xfc840000)
11 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #24 [0xfc840000,0xfc880000)
12 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #25 [0xfc880000,0xfc8c0000)
13 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #26 [0xfc8c0000,0xfc900000)
14 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #27 [0xfcd00000,0xfd100000)
15 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #35 [0xfd124000,0xfd128000)
16 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #36 [0xfd10c000,0xfd10d000)
17 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #37 [0xfd10d000,0xfd10e000)
18 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #38 [0xfd10e000,0xfd10f000)
19 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #39 [0xfd10f000,0xfd110000)
20 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #40 [0xfd12c000,0xfd12d000)
21 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #41 [0xfd12d000,0xfd12e000)
22 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #42 [0xfd12e000,0xfd12f000)
23 Root #9 [0xfc000000,0xfd5a4000) Zone 2 #43 [0xfd12f000,0xfd130000)
24 Root #10 [0xfd5a4000,0xfd5a6000) Zone 2 #7 [0xfd5a4000,0xfd5a6000)
25 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #5 [0xfd8d8000,0xfd8d9000)
26 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #8 [0xfd5a6000,0xfd5a7000)
27 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #9 [0xfd5a8000,0xfd5a9000)
28 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #10 [0xfd5f0000,0xfd600000)
29 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #11 [0xfdb30000,0xfdb31000)
30 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #14 [0xfd5e8000,0xfd5ec000)
31 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #17 [0xfd8b0000,0xfd8b1000)
32 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #28 [0xfd5ac000,0xfd5b0000)
33 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #29 [0xfd5b0000,0xfd5b1000)
34 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #30 [0xfd5c4000,0xfd5c5000)
35 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #31 [0xfd5d0000,0xfd5d4000)
36 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #32 [0xfd5d8000,0xfd5dc000)
37 Root #11 [0xfd5a6000,0xfdd90000) Zone 2 #33 [0xfd5dc000,0xfd5e0000)
38 Root #12 [0xfdd90000,0xfdd98000) Zone 2 #12 [0xfdd90000,0xfdd98000)
39 Root #13 [0xfdd98000,0xfe000000) Zone 2 #12 [0xfdd98000,0xfdda0000)
40 Root #13 [0xfdd98000,0xfe000000) Zone 2 #13 [0xfde20000,0xfde30000)
41 Root #14 [0xfe000000,0xfe600000) Zone 2 #15 [0xfe2e0000,0xfe2f0000)
42 Root #15 [0xfea00000,0xfef00000) Zone 2 #16 [0xfec30000,0xfec31000)
43 Root #15 [0xfea00000,0xfef00000) Zone 2 #18 [0xfeda0000,0xfedb0000)
44 Root #15 [0xfea00000,0xfef00000) Zone 2 #34 [0xfee20000,0xfee30000)
45 Root #15 [0xfea00000,0xfef00000) Zone 2 #44 [0xfeac0000,0xfeac1000)
46 Root #15 [0xfea00000,0xfef00000) Zone 2 #45 [0xfec20000,0xfec21000)
47 Root #18 [0x100000,0x10f000) Zone 2 #0 [0x100000,0x10f000)

Zone 1 ↔ Zone 2: 1 overlap

# Zone 1 entry Zone 2 entry Actual overlap
48 Zone 1 #0 Zone 2 #0 [0x100000,0x10f000)

Pinctrl findings

Severity Pin First claim Second claim
Warning gpio0-7 Root rk806single@0 → pmic-pins (/spi@feb20000/rk806single@0) Zone 2 rk806single@0 → pmic-pins (/spi@feb20000/rk806single@0)
Warning gpio1-18 Root es8388@11 → i2s0-mclk (/i2c@fec90000/es8388@11) Zone 2 es8311@19 → i2s0-mclk (/i2c@feab0000/es8311@19)
Error gpio3-17 Root gt1x@14 → touch-gpio (/i2c@fead0000/gt1x@14) Root hynitron@5a → ts_reset_active (/i2c@fead0000/hynitron@5a)

What needs confirmation

  1. Are the Root/Zone 1 and Root/Zone 2 physical MMIO overlaps intentional?
  2. Is [0x100000,0x10f000) intentionally mapped by Root, Zone 1, and Zone 2?
  3. Which Root device should own gpio3-17: gt1x@14 or hynitron@5a?
  4. Are the gpio0-7 and gpio1-18 identical claims intentional DTS mirroring?

--ignore-disabled only suppresses disabled-DTS-node warnings; it does not hide
any finding listed above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants