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

the unthinkable: rockchip-rk3588 current (to 6.8.12, EOL and non-LTS!) and edge to 6.10-rc2 (from #6699) #6717

Conversation

rpardini
Copy link
Member

@rpardini rpardini commented Jun 9, 2024

the unthinkable: rockchip-rk3588 current (to 6.8.12, EOL and non-LTS!) and edge to 6.10-rc2 (from #6699)

  • rk3588: edge: Bump kernel from 6.8 to 6.10
    • Bump mainline kernel from 6.10-rc1 to 6.10-rc2
    • Remove patches which are now mainlined
    • Re-number "fix-initial-PERST-GPIO-value" patch as per number
      ordering seen in 0000.patching_config.yaml
    • Rewrite kernel config
  • rk3588: edge: Fix dtb overlay compilation and installation
    "general-add-overlay-compilation-support.patch" became obsolete in
    Linux 6.9 (see AR-2352 [1]). Fix this problem:
    • Rename *.dts sources in overlay directory to *.dtso
    • Change "target +=" line to "dts-y +=" in overlay Makefile
    • Remove "always +=" line in overlay Makefile
    • Add .scr compilation support in kernel scripts/Makefile.lib
    • Patch kernel scripts/Makefile.dtbinst to avoid flattening overlay
      directory
      For the last two points, see
      general-add-overlay-compilation-support.patch
      Credits for this fix go to @paolosabatino
      [1] https://armbian.atlassian.net/browse/AR-2352
  • orangepi 5: Fix patch for 6.10 and convert from patch to .dts file
    This simplifies the process updating to newer kernel versions and makes
    it easier to see and edit the actual dts file being used.
  • khadas edge 2: Fix patch for 6.10
  • rk3588: edge: Update thermal and cpufreq support patches
    Patches are from the Linux Rockchip Mailing List, submitted by Alexey
    Charkov. [1]
    Notable improvements from changelog:
    • Moved the TSADC enablement to per-board .dts/.dtsi files
    • Dropped extra "inefficient" OPPs (same voltage - lower frequencies)
    • Dropped second passive cooling trips altogether to keep things simple
    • Added a cooling map for passive GPU cooling (in a separate patch)
    • Added regulator coupling for EVB1 and QuartzPro64
      Also enable automatic fan control on Rock 5B.
      [1] https://lore.kernel.org/linux-rockchip/[email protected]/
  • rk3588: edge: Rewrite kernel patches to 6.10-rc2
  • rk3588: edge: Patch in new HDMI controller driver
    The old driver didn't build on 6.10, so the kernel build couldn't finish.
    Link to the added patch series:
    https://lore.kernel.org/all/20240601-b4-rk3588-bridge-upstream-v1-0-f6203753232b@collabora.com/
  • rockchip-rk3588/edge: nanopct6: Add NanoPC T6 SPI Flash (6.10-rc2 version)
  • rockchip-rk3588-edge (6.8.y) -> archive/rockchip-rk3588-6.8 (patches copied)
    • lets move to standard patch dir for this family
    • patches are being copied (not moved) on purpose; we've already PR open to move to 6.10-rcX
  • rockchip-rk3588 6.8.y: nanopct6: Add NanoPC T6 SPI Flash (v6.8.y version)
  • rockchip-rk3588: add oldedge pointing to 6.8
  • rockchip-rk3588/edge 6.8.y: rewrite/rebase patches against v6.8.12 (EOL)
  • rockchip-rk3588: add oldedge pointing to 6.8; preserve .config
  • rockchip-rk3588: add oldedge pointing to 6.8; update .config (no changes)
    • CONFIG_EXPERT is now yes in armbian code, it reflects here
  • rockchip-rk3588: add oldedge pointing to 6.8; convert .config to defconfig against v6.8.12 (EOL)
  • rockchip-rk3588: move rockchip-rk3588-edge (6.10) patches to archive/rockchip-rk3588-6.10
    • no changes
  • rockchip-rk3588: don't spell out KERNELPATCHDIR anymore, as we have default convention now (under archive/rockchip-rk3588-x.z)
  • rockchip-rk3588: shellfmt, some comments on collabora (no real changes)
  • rockchip-rk3588-6.10: rewrite patches against v6.10-rc2, no changes
  • rockchip-rk3588: current (6.8) and edge (6.10) - use major+minor in kernel config filenames
    • LINUXCONFIG="linux-rockchip-rk3588-${KERNEL_MAJOR_MINOR}" # Attention: not -${BRANCH} (edge/current/legacy), -but ${KERNEL_MAJOR_MINOR} thus 6.8 / 6.10 etc
  • kernel: mainline: Bump 6.10-rc2 to 6.10-rc3
  • rk3588: 6.10: armsom-sige7: Use dts patch instead of bare dts (adapted path + rewritten patches)
    • rpardini was here and adapted this to archive/ path and rewrote patches using newly-merged patching tool with stable index stanzas
  • rockchip-rk3588-6.10: rewrite patches against v6.10-rc3, no changes
    • interesting that with stable index stanzas, we get to clearly see patches that actually changed only in position during rewrites

@github-actions github-actions bot added the Hardware Hardware related like kernel, U-Boot, ... label Jun 9, 2024
@rpardini rpardini marked this pull request as ready for review June 9, 2024 13:50
@rpardini
Copy link
Member Author

rpardini commented Jun 9, 2024

Important: this does not enable current in each board's KERNEL_TARGETS=.
Still it is perfectly possible to build with ./compile BOARD=nanopct6 BRANCH=current -- you get a warning but that's it.

Copy link
Collaborator

@ColorfulRhino ColorfulRhino left a comment

Choose a reason for hiding this comment

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

See the comments below.

Overall, I'd still wait a while and see what others think. If 6.10 can be fixed soon, we don't need to break the convention that current has to be an LTS kernel.

config/sources/families/rockchip-rk3588.conf Show resolved Hide resolved
config/sources/families/rockchip-rk3588.conf Show resolved Hide resolved
@rpardini rpardini force-pushed the pr/the-unthinkable-rockchip-rk3588-current-to-6812-EOL-and-non-LTS-and-edge-to-610-rc2-from-6699 branch 4 times, most recently from a8ab19b to 76ffdd2 Compare June 10, 2024 17:37
@rpardini
Copy link
Member Author

Updated based on recent changes in #6699 (incl -rc3 bump + patch rewrite, and @amazingfate 's dts-to-patches for sige7 + path change + patch rewrite).

@rpardini rpardini force-pushed the pr/the-unthinkable-rockchip-rk3588-current-to-6812-EOL-and-non-LTS-and-edge-to-610-rc2-from-6699 branch from 76ffdd2 to 33460a9 Compare June 11, 2024 06:00
@github-actions github-actions bot added the size/large PR with 250 lines or more label Jun 11, 2024
@igorpecovnik
Copy link
Member

If 6.10 can be fixed soon, we don't need to break the convention that current has to be an LTS kernel.

I also have thoughts, but on the other hand - let the users play with it? 6.10 won't be stable / LTS fixed very soon and this could be the thing for awhile?

ColorfulRhino and others added 10 commits June 11, 2024 19:20
- Bump mainline kernel from 6.10-rc1 to 6.10-rc2
- Remove patches which are now mainlined
- Re-number "fix-initial-PERST-GPIO-value" patch as per number
  ordering seen in 0000.patching_config.yaml
- Rewrite kernel config
"general-add-overlay-compilation-support.patch" became obsolete in
Linux 6.9 (see AR-2352 [1]). Fix this problem:

- Rename *.dts sources in overlay directory to *.dtso
- Change "target +=" line to "dts-y +=" in overlay Makefile
- Remove "always +=" line in overlay Makefile
- Add .scr compilation support in kernel scripts/Makefile.lib
- Patch kernel scripts/Makefile.dtbinst to avoid flattening overlay
  directory

For the last two points, see
general-add-overlay-compilation-support.patch

Credits for this fix go to @paolosabatino

[1] https://armbian.atlassian.net/browse/AR-2352
This simplifies the process updating to newer kernel versions and makes
it easier to see and edit the actual dts file being used.
Patches are from the Linux Rockchip Mailing List, submitted by Alexey
Charkov. [1]

Notable improvements from changelog:
- Moved the TSADC enablement to per-board .dts/.dtsi files
- Dropped extra "inefficient" OPPs (same voltage - lower frequencies)
- Dropped second passive cooling trips altogether to keep things simple
- Added a cooling map for passive GPU cooling (in a separate patch)
- Added regulator coupling for EVB1 and QuartzPro64

Also enable automatic fan control on Rock 5B.

[1] https://lore.kernel.org/linux-rockchip/[email protected]/
The old driver didn't build on 6.10, so the kernel build couldn't finish.

Link to the added patch series:
https://lore.kernel.org/all/20240601-b4-rk3588-bridge-upstream-v1-0-f6203753232b@collabora.com/
…copied)

- lets move to standard patch dir for this family
- patches are being copied (not moved) on purpose; we've already PR open to move to 6.10-rcX
rpardini and others added 13 commits June 11, 2024 19:20
…anges)

- CONFIG_EXPERT is now yes in armbian code, it reflects here
…efault convention now (under `archive/rockchip-rk3588-x.z`)
…in kernel config filenames

- `LINUXCONFIG="linux-rockchip-rk3588-${KERNEL_MAJOR_MINOR}" # Attention: not -${BRANCH} (edge/current/legacy), -but ${KERNEL_MAJOR_MINOR} thus 6.8 / 6.10 etc`
…d path + rewritten patches)

- rpardini was here and adapted this to archive/ path and rewrote patches using newly-merged patching tool with stable index stanzas
- interesting that with stable index stanzas, we get to clearly see patches that actually changed only in position during rewrites
@rpardini rpardini force-pushed the pr/the-unthinkable-rockchip-rk3588-current-to-6812-EOL-and-non-LTS-and-edge-to-610-rc2-from-6699 branch from 33460a9 to 16b0fb6 Compare June 11, 2024 17:20
@leelists
Copy link

Fast review on 3 targets :

./compile.sh BOARD=nanopc-cm3588-nas BRANCH=edge RELEASE=bookworm EXPERT=yes KERNEL_CONFIGURE=no BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_GIT=shallow
=> build success but no HDMI (did not verify serial)

./compile.sh BOARD=rock-5b BRANCH=edge RELEASE=bookworm EXPERT=yes KERNEL_CONFIGURE=no BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_GIT=shallow
=> build success but no HDMI (did not verify serial)

./compile.sh BOARD=nanopct6 BRANCH=edge RELEASE=bookworm EXPERT=yes KERNEL_CONFIGURE=no BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_GIT=shallow
=> build success but no HDMI (did not verify serial)

Will try to connect serial port when I have some time

Anyway, thank's for working on this ;-)

@ColorfulRhino
Copy link
Collaborator

Fast review on 3 targets :

Thanks for testing! HDMI has unresolved issues which make the board not even boot when the HDMI nodes in the devicetree are active, see also #6699 (comment)

Also nice to see that more people than me got the CM3588 NAS now 🔥

@rpardini
Copy link
Member Author

This effort kindly adopted by @ColorfulRhino into #6699 - closing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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