Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rockchip-rk3588: it's vendor boogie panthor time (experimental) #6459

Conversation

rpardini
Copy link
Member

@rpardini rpardini commented Apr 1, 2024

This brings panfork free desktops 🎉

boogie backported panthor to the vendor 6.1-rkr1 kernel, allowing for a hybrid using mainline mesa!

Important note: there's no certainty in the future maintenance of panthor in vendor kernel. This is thus experimental.

Screenshot_20240401_200016


👉 Images for testing (KDE Neon, Jammy, OIBAF mesa, Amazingfate's rockchip-multimedia Chromium/Widevine):

👉 For a dozen+ boards: https://github.com/armsurvivors/armbian-release/releases/tag/24.04.01-armsurvivors-78


  • main-config: fix: avoid errors when BRANCH contains a dash; convert to underscore
  • rockchip64_common: shellfmt, no changes
  • rockchip64_common: move SERIALCON defaulting logic to a (verbose) hook for flexibility
  • config: allow to build BRANCHes not listed in KERNEL_TARGET as long as the config is valid
    • useful for collabora and other experimental kernels, we don't want to have to add it to each individual board's KERNEL_TARGES one by one
    • but we don't want to allow typos in BRANCH to emit very strange unrelated errors
  • extensions: mesa-oibaf extension by @monkaBlyat - mainline mesa PPA for Ubuntu
    • does nothing on Debian
  • extensions: (v3) amazingfated-rk35xx, now rk-multimedia-amazingfate - panfork-free
    • simply skips if not on Jammy
    • deploys Chromium + Widevine if desktop
  • rockchip-rk3588: introduce vendor-boogie-panthor experimental BRANCH/kernel

Super thanks to @hbiyik @amazingfate @Joshua-Riek and so many other heroes in #armbian-rockchip

@github-actions github-actions bot added size/large PR with 250 lines or more Hardware Hardware related like kernel, U-Boot, ... Framework Framework components labels Apr 1, 2024
@rpardini
Copy link
Member Author

rpardini commented Apr 1, 2024

Images for testing (KDE Neon, Jammy, OIBAF mesa, Amazingfate's rockchip-multimedia Chromium/Widevine):

For a dozen+ boards: https://github.com/armsurvivors/armbian-release/releases/tag/24.04.01-armsurvivors-78

@rpardini
Copy link
Member Author

rpardini commented Apr 1, 2024

Also thanks @NicoD-SBC and @monkaBlyat who tested!

@rpardini
Copy link
Member Author

rpardini commented Apr 1, 2024

And let me mention @marcan @alyssarosenzweig for awareness. 🖖

Copy link
Contributor

@amazingfate amazingfate left a comment

Choose a reason for hiding this comment

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

Good!

@EvilOlaf
Copy link
Member

EvilOlaf commented Apr 2, 2024

Orangepi5plus
Works nicely from microSD. Does not boot from NVMe though. Need to investigate.

The log following is more or less informal since I guess it has nothing to do with this PR.

DDR Version V1.08 20220617
LPDDR4X, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=17 CS1 Row=17 CS=2 Die BW=8 Size=4096MB
Manufacturer ID:0x6
CH0 RX Vref:29.7%, TX Vref:21.8%,21.8%
CH1 RX Vref:30.7%, TX Vref:21.8%,21.8%
CH2 RX Vref:29.7%, TX Vref:22.8%,22.8%
CH3 RX Vref:31.7%, TX Vref:21.8%,21.8%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 2112MHz
out  
U-Boot SPL board init
U-Boot SPL 2017.09-armbian (Apr 01 2024 - 18:09:09)
Trying to boot from MMC1
spl: mmc init failed with error: -123
Trying to boot from MMC2
Card did not respond to voltage select!
spl: mmc init failed with error: -95
Trying to boot from MTD2
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(806278dba1...) + OK
## Checking uboot 0x00200000 ... sha256(157ddb89ed...) + OK
## Checking fdt 0x00311f08 ... sha256(d2dda3ef7c...) + OK
## Checking atf-2 0x000f0000 ... sha256(c00c7fd75b...) + OK
## Checking atf-3 0xff100000 ... sha256(71c3a5841b...) + OK
## Checking atf-4 0xff001000 ... sha256(2301cf73be...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 500.97 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-405-gb52c2eadd:derrick.huang
NOTICE:  BL31: Built : 11:23:47, Aug 15 2022
INFO:    spec: 0x1
INFO:    ext 32k is valid
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 2112MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-armbian (Apr 01 2024 - 18:09:09 +0000)

Model: RK3588 Orange Pi 5 Plus
PreSerial: 2, raw, 0xfeb50000
DRAM:  15.7 GiB
Sysmem: init
Relocation Offset: eda65000
Relocation fdt: eb9f8bd8 - eb9fecd0
CR: M/C/I
Using default environment

mc@fe2c0000: 0, mmc@fe2e0000: 1

Device 0: unknown device
Card did not respond to voltage select!

Device 0: unknown device

Device 1:
Device 2: SF: Detected sfc_nor with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Vendor: 0x2207 Rev: V1.00 Prod: sfc_nor
            Type: Hard Disk
            Capacity: 16.0 MB = 0.0 GB (32768 x 512)
... is now current device
Bootdev(scan): mtd 2
PartType: EFI
DM: v2
boot mode: None
Model: RK3588 Orange Pi 5 Plus
CLK: (sync kernel. arm: enter 1008000 KHz, init 1008000 KHz, kernel 0N/A)
  b0pll 24000 KHz
  b1pll 24000 KHz
  lpll 24000 KHz
  v0pll 24000 KHz
  aupll 24000 KHz
  cpll 1500000 KHz
  gpll 1188000 KHz
  npll 24000 KHz
  ppll 1100000 KHz
  aclk_center_root 702000 KHz
  pclk_center_root 100000 KHz
  hclk_center_root 396000 KHz
  aclk_center_low_root 500000 KHz
  aclk_top_root 750000 KHz
  pclk_top_root 100000 KHz
  aclk_low_top_root 396000 KHz
Net:   No ethernet found.
Hit key to stop autoboot('CTRL+C'):  0
Card did not respond to voltage select!

Device 0: Vendor: 0x15b7 Rev: 234110WD Prod: 22400V803239
            Type: Hard Disk
            Capacity: 476940.0 MB = 465.7 GB (976773168 x 512)
... is now current device
Scanning nvme 0:1...

Device 2: Vendor: 0x2207 Rev: V1.00 Prod: sfc_nor
            Type: Hard Disk
            Capacity: 16.0 MB = 0.0 GB (32768 x 512)
... is now current device
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **


Device 1: 
Device 0: unknown device
starting USB...
Bus usb@fc800000: USB EHCI 1.00
Bus usb@fc840000: USB OHCI 1.0
Bus usb@fc880000: USB EHCI 1.00
Bus usb@fc8c0000: USB OHCI 1.0
scanning bus usb@fc800000 for devices... 1 USB Device(s) found
scanning bus usb@fc840000 for devices... 2 USB Device(s) found
scanning bus usb@fc880000 for devices... 1 USB Device(s) found
scanning bus usb@fc8c0000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rockchip
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
Could not get mtd 0
## Booting FIT Image FIT: No fit blob
FIT: No FIT image
Unknown command 'bootrkp' - try 'help'
opi# 

…s the config is valid

- useful for `collabora` and other experimental kernels, we don't want to have to add it to each individual board's KERNEL_TARGES one by one
- but we don't want to allow typos in BRANCH to emit very strange unrelated errors
… - panfork-free

- simply skips if not on Jammy
- deploys Chromium + Widevine if desktop
…H/kernel

- original: https://github.com/hbiyik/linux-rockchip.git (branch `rk-6.1-rkr1-panthor-v6`)
- I picked the commits on top of clean armbian/linux-rockchip `6.1-rkr1` as of 2024-04-01
  - At https://github.com/rpardini/armbian-linux-rockchip-rk3588/tree/armbian-rk-6.1-rkr1-plus-boogie-panthor-v6
  - Diff: armbian/linux-rockchip@rk-6.1-rkr1...rpardini:armbian-linux-rockchip-rk3588:armbian-rk-6.1-rkr1-plus-boogie-panthor-v6

- rockchip-rk3588: introduce `boogie-bsp` BRANCH
- rockchip-rk3588: copy linux-rk35xx-vendor.config into linux-rk35xx-boogie-bsp.config
- rockchip-rk3588: update linux-rk35xx-boogie-bsp.config, no changes
- rockchip-rk3588: linux-rk35xx-boogie-bsp.config: `CONFIG_DRM_PANTHOR=m`
- rockchip-rk3588: linux-rk35xx-boogie-bsp.config: convert to defconfig
- rockchip-rk3588: rename to `BRANCH=vendor-boogie-panthor` for "clarity" (lol)
- rockchip-rk3588: vendor-boogie-panthor: force SERIALCON, full firmware (for blob needed for panthor) & mesa-oibaf extension
- rockchip-rk3588: vendor-boogie-panthor: enable amazingfated-rk35xx extension sans-panfork
@rpardini rpardini force-pushed the pr/rockchip-rk3588-its-vendor-boogie-panthor-time-experimental branch from e07d5cf to 1d66172 Compare April 2, 2024 18:16
@monkaBlyat monkaBlyat merged commit 43cf339 into armbian:main Apr 2, 2024
3 checks passed
rpardini added a commit to rpardini/armbian-build that referenced this pull request Apr 2, 2024
@igorpecovnik
Copy link
Member

Nightly images also enabled armbian/os@1f9dbb9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Framework Framework components Hardware Hardware related like kernel, U-Boot, ... size/large PR with 250 lines or more
Development

Successfully merging this pull request may close these issues.

5 participants