Compare commits

...

96 Commits

Author SHA1 Message Date
Werner
e2fc24af15 Revert "linux-rk35xx-vendor: Add and enable LTE em05 driver ( Enables support…"
This reverts commit a6cfb44448.
2025-08-15 19:58:02 +02:00
Rafay Ahmed
a6cfb44448 linux-rk35xx-vendor: Add and enable LTE em05 driver ( Enables support for WWAN cards in Rock 5T/5B+ ) (#8484)
* Added a patch to add the lte_em05 driver

Adds support for the Quectel M2 WWAN card on the Rock 5T/5B+.

* Enable CONFIG_LTE and LTE_RM310 + LTE_EM05

Enables the lte_rm310 and lte_em05 drivers (drivers/net/lte/).

* Delete patch/kernel/rk35xx-vendor-6.1/net-lte-add-lte-em05-driver.patch

Changes in the patch submitted to armbian/linux-rockchip . Only config change needed now after that gets approved.
2025-08-15 19:53:49 +02:00
Igor Pecovnik
e765406935 Orangepizero: drop Crust support that is preventing succesful reboot 2025-08-16 00:53:02 +08:00
FantasyGmm
dfb7c4fa6a Update Qcom RB5 Config 2025-08-14 16:24:57 +02:00
Patrick Yavitz
bf9b1368fe BananaPi BPI-M4-Zero: Add spi0 node
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-13 10:22:27 -04:00
JohnTheCoolingFan
f6553798d4 Remove patch reverting upstream changes in radxa uboot 2025-08-13 15:44:33 +02:00
Qvy-PNG
2adb3dbaa4 improve WiFi support for the sun50iw1 board family
- compile the 8723cs kernel module for Sunxi64 current and edge kernel
- run-tested on the Pine64
2025-08-13 18:43:32 +08:00
Rolf Leggewie
5f3cb7124a config/desktop: temporarily disable mate-sntray-plugin for trixie mate #FTBFS #RC
mate-sntray-plugin:  https://bugs.debian.org/1086771
2025-08-13 18:42:36 +08:00
Rolf Leggewie
eda88e848b lib / prepare-host: debian-archive-keyring is not a host-dependency for RISCv64
This was introduced in 2a8cb5793f as a relaxation to the previous
state when RISCv64 was not yet officially supported by Debian and
lived in Debian Ports.
2025-08-13 18:39:59 +08:00
Patrick Yavitz
d833170688 BPI-CM4/M2S Set default cpufreq MIN / MAX
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-13 05:49:07 -04:00
Patrick Yavitz
94d9b3a5dd BPI-CM4: Remove Improve SDIO WiFi speeds related overlay
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-13 05:49:07 -04:00
Patrick Yavitz
617580ee89 REVERT: Improve SDIO WiFi speeds
The change isn't consistent and only works in 2 out of 3 units.
When it fails, it does so hard, breaking SDIO.

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-13 05:49:07 -04:00
dependabot[bot]
da6546d1b4 build(deps): bump gitpython from 3.1.44 to 3.1.45
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.44 to 3.1.45.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.44...3.1.45)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-version: 3.1.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:45:57 +02:00
dependabot[bot]
653c659c76 build(deps): bump dtschema from 2025.6.1 to 2025.8
Bumps [dtschema](https://github.com/devicetree-org/dt-schema) from 2025.6.1 to 2025.8.
- [Release notes](https://github.com/devicetree-org/dt-schema/releases)
- [Commits](https://github.com/devicetree-org/dt-schema/compare/v2025.06.1...v2025.08)

---
updated-dependencies:
- dependency-name: dtschema
  dependency-version: '2025.8'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:43:44 +02:00
dependabot[bot]
9e37cbd5a3 build(deps): bump tj-actions/changed-files
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 4662f28b04a04c9b3c760178bc00690771ba6fe1 to f963b3f3562b00b6d2dd25efc390eb04e51ef6c6.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](4662f28b04...f963b3f356)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-version: f963b3f3562b00b6d2dd25efc390eb04e51ef6c6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:43:22 +02:00
dependabot[bot]
750a1d2264 build(deps): bump pip from 25.1.1 to 25.2
Bumps [pip](https://github.com/pypa/pip) from 25.1.1 to 25.2.
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/25.1.1...25.2)

---
updated-dependencies:
- dependency-name: pip
  dependency-version: '25.2'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:42:55 +02:00
dependabot[bot]
27e0b70190 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:42:34 +02:00
dependabot[bot]
6009ffaf5c build(deps): bump rich from 14.0.0 to 14.1.0
Bumps [rich](https://github.com/Textualize/rich) from 14.0.0 to 14.1.0.
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0)

---
updated-dependencies:
- dependency-name: rich
  dependency-version: 14.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 05:42:08 +02:00
Rolf Leggewie
a65a5e896d extensions: add missing "install" instruction to APA extension 2025-08-11 18:25:21 +02:00
Patrick Yavitz
639811006d SpacemiT: Add CONFIG_HW_RANDOM=y to EDGE defconfig
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
1e1a42ad2b SpacemiT: Activate AppArmor in the EDGE defconfig
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
e7b1c34909 BananaPi BPI-F3: Add loglevel=1 to cmdline
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
1dee550888 SpacemiT: Add edge defconfig
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
925e22c093 SpacemiT: Add edge patches
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
2425801a79 SpacemiT: Update u-boot patches
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
fbfb2bb0fe BananaPi BPI-F3: Add edge support to conf file
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Patrick Yavitz
ac87dedeb4 SpacemiT: Add edge support to spacemit.conf
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-11 12:21:05 -04:00
Lane Jennison
2080f24aef linux-uefi-arm64-cloud.config: enable ACPI so things boot 2025-08-11 18:26:11 +08:00
Ricardo Pardini
27262ada13 linux-uefi-arm64-cloud.config: update config, no changes 2025-08-11 18:26:11 +08:00
amazingfate
94a72b9993 linux-image: provide wireguard-modules 2025-08-11 17:37:52 +08:00
JohnTheCoolingFan
2d9cce1846 Move rock-5-cmio revert patch to a board folder 2025-08-10 19:41:22 +02:00
JohnTheCoolingFan
99716df075 Add patch reverting https://github.com/radxa/u-boot/pull/148 2025-08-10 14:06:06 +02:00
Werner
5967b0b1e7 Bump version 2025-08-10 18:55:22 +08:00
Igor Pecovnik
534b97f702 Debian Trixie: declare as supported 2025-08-07 22:17:51 +02:00
juanesf
83f33fa122 Migrate Radxa Cubie A5E to mainline 6.16 (#8447)
* migrate u-boot and kernel to mainline

* Add patches for 6.17

* fix compile for patches addes

* Orderer patches, switch kernel config to sunxi64, recreate some patches for fix build

* Update linux-sunxi64-edge.config after pm-domain & sun55i-gmac200 activate

* enable wifi and bluetooth

* revert linux-sunxi64-edge.config

- Revert linux-sunxi64-edge.config
- Add modules: CONFIG_IOMMUFD, CONFIG_SUN50I_IOMMU, CONFIG_SUN55I_PCK600.

* drop sunxi-dev-6.14 and cleanup involved patches

* Update radxa-cubie-a5e.csc

make change proposed by igorpecovnik
2025-08-07 22:17:15 +02:00
Igor Pecovnik
750d4eda7d Xradio: adjust to support kernel compilation for 6.16+ 2025-08-07 19:40:40 +02:00
Vasco Guita
ef28357561 fix(armbian-firstlogin): use PRESET_USER_KEY instead of PRESET_ROOT_KEY for user SSH key 2025-08-07 14:32:52 +08:00
chainsx
ca4dc8085a filogic: fix build u-boot 2025-08-06 12:58:20 +02:00
Jesse R Codling
e72eb537c5 Use binman-atf-mainline for RockPi-4C+ 2025-08-06 10:50:55 +02:00
Jesse R Codling
4c2d8b66c9 set ROCKCHIP_TPL unconditionally for binman builds
required for boards with u-boot option CONFIG_ROCKCHIP_EXTERNAL_TPL,
should be ignored for boards without. See armbian/build#8449
2025-08-06 10:50:55 +02:00
Jesse R Codling
a8a1042391 additional commenting on binman-atf-mainline BOOT_SCENARIO 2025-08-06 10:50:55 +02:00
Jesse R Codling
c6944b49aa rock-4se: binman boot scenario with mainline ATF
This should be a long-term solution to armbian/community#39.
Adds a rockchip64 BOOT_SCENARIO for binman with mainline ATF and puts it
to use for the rock4-se board config.

Tested on my hardware, boots successfully.
2025-08-06 10:50:55 +02:00
igorpecovnik
19ed979e87 Automatic board configs status synchronise 2025-08-05 19:50:41 +02:00
Jianfeng Liu
f17caa7104 repo: add loong64 support 2025-08-05 15:12:06 +02:00
Patrick Yavitz
f022f38041 KickPi K2B: Add KASLR Support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
8a7eeb93ad KickPi K2B: Community Maintained
I doubt this will receive a lot of attention, so change to
community maintained.

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
6f08f2d0d8 aic-bluetooth: Targeted process management and error handling
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
09f263f751 AIC8800 Extension: Increase support to Linux 6.16.y
fc7cbdd179

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
50d2ee3883 Update ATF to lts-v2.12.5
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
9d515dec3d Add AIC8800 SDIO Extension
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
756a48c080 Add AIC8800 Bluetooth Service and Script
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
9f4f78ba94 Add KickPi K2B U-Boot Support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
879202b837 Add KickPi K2B DTS
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Patrick Yavitz
723f813a64 Add KickPi K2B board.conf
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-05 07:39:19 -04:00
Martin Schmiedel
57739cfeb5 MBa8MPxL: fix overlays for lvds and camera
- now they are built and packaged.

Signed-off-by: Martin Schmiedel <martin.schmiedel@tq-group.com>
2025-08-05 13:20:13 +02:00
igorpecovnik
71df622c56 Automatic board configs status synchronise 2025-08-05 13:19:59 +02:00
Jianfeng Liu
ca5e61f777 fix build dep gcc-loongarch64-linux-gnu introduced by new arch loong64 2025-08-05 11:33:56 +08:00
Jianfeng Liu
124da14067 kenrel-debs: use dynamic kernel image name installed by installkernel 2025-08-04 17:34:54 +08:00
Jianfeng Liu
947b035fc5 add yt6801 dkms extension 2025-08-04 17:34:24 +08:00
Jianfeng Liu
0439d3ed70 install pahole before linux-headers for better dkms 2025-08-04 17:34:24 +08:00
Jianfeng Liu
87e8054373 loong64: add patches for intel xe driver with non 4K page size 2025-08-04 17:34:24 +08:00
Jianfeng Liu
fb363e8829 add initial loong64 support 2025-08-04 17:34:24 +08:00
Patrick Yavitz
dda6950c34 Re-enable h616 RTC patches on current
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-03 15:44:33 -04:00
Patrick Yavitz
e408731b30 BananaPi BPI-M4-Zero: Add KASLR Support
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-03 15:44:33 -04:00
Jianfeng Liu
b3912bb03a uefi-arm64: bump to 6.16 2025-08-03 09:37:30 +08:00
Rolf Leggewie
bda921595b minor spelling mistakes 2025-08-02 19:23:38 +08:00
Jianfeng Liu
4e41a549b0 mainline-kernel: bump 6.16 to released and add future release v6.17-rc1 2025-08-01 20:43:19 +02:00
Patrick Yavitz
222fa181ad BananaPi BPI-M4-Zero: DEFAULT_OVERLAYS="bananapi-m4-sdio-wifi-bt"
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-08-01 10:33:42 -04:00
Vladimir Panov
0d11f67c23 Don't attempt to copy id_ecdsa if it is not needed. 2025-07-31 11:08:31 +08:00
Igor Pecovnik
4ae394cc4d Debian oldstable: drop security and backport repository from packages lists
It does not exists for Bullseye nor Buster, which are both anyway deprecated, but we have a user reqests.
2025-07-30 15:49:42 +02:00
c127
413a42c5e6 orangepi5pro: dts: Fix incorrect GRF node name (Update U-Boot to v2025.07 for eMMC support) (#8441)
* feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support

Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.

The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.

* orangepi5pro: dts: Fix incorrect GRF node name

The GRF node was misspelled as 'sysgrf' instead
of the correct 'sys_grf'.

This commit corrects the phandle to the proper value.
2025-07-30 08:17:02 +02:00
Igor
8141ce38a6 BLK_DEV_DM is set as a module (m) while DM_INIT is forced built-in (y)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
84c0b23e01 Sunxi64: Add CONFIG_THERMAL_GOV_USER_SPACE=y
Noticed dmesg error on the Tritium H5
[    2.354290] thermal thermal_zone0: binding cdev cpufreq-cpu0 to trip 3 failed: -22
[    2.354350] thermal thermal_zone0: binding cdev cpufreq-cpu0 to trip 4 failed: -22

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
793030a869 Sunxi64: Correct invalid symbol value 'm'
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
6676bd04bf Sunxi64: Change some usb net drivers from =y to =m
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
98f792136e Sunxi64: Switch some drivers from =y to =m
Resolve some nitpicks to appease our AI overload

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
8610013bc2 Sunxi64: Add CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_ISCSI_TARGET=m

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
3dd9a2fb7b Sunxi64: Add CONFIG_MOTORCOMM_PHY=y
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
865265ff62 Sunxi64: Update CONFIG_INPUT* JOYSTICK and MOUSE
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
47aedd86b9 Sunxi64: Bring back USB_NET_DRIVERS* and other misc
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
4a12c64fc8 Sunxi64: Set CONFIG_PREEMPT=y and CONFIG_CONNECTOR=y
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
456825942c REVERT: linux-sunxi64-current.config to d502356
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
c352a17a9f Sunxi64: Update CONFIG_NET, NFS and misc
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
51dd2f3b69 Sunxie64: Remove CONFIG_VIRTIO_FS=m
Come back to it at a later date.

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Patrick Yavitz
603f12a087 Sunxi64: Enable more I2C, IIO, SENSORS and other misc bits
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-30 08:15:01 +02:00
Julian Sikorski
6d4464a7c5 Fix up 6.6.98 to 6.6.99 patch to apply on top of odroid kernel 2025-07-30 07:29:37 +02:00
Julian Sikorski
7743cca89d Update odroidxu4-current to 6.6.100 2025-07-30 07:29:37 +02:00
Werner
449336a149 Revert "feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support …"
This reverts commit 53189d4c5e.
2025-07-29 19:07:22 +02:00
dependabot[bot]
d512a18cce build(deps): bump oras from 0.2.33 to 0.2.37
Bumps [oras](https://github.com/oras-project/oras-py) from 0.2.33 to 0.2.37.
- [Release notes](https://github.com/oras-project/oras-py/releases)
- [Changelog](https://github.com/oras-project/oras-py/blob/main/CHANGELOG.md)
- [Commits](https://github.com/oras-project/oras-py/compare/0.2.33...0.2.37)

---
updated-dependencies:
- dependency-name: oras
  dependency-version: 0.2.37
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 12:34:49 +02:00
Muhammed Efe Cetin
530faf4c3c fix nanopi r6s udev network mapping 2025-07-29 09:09:49 +02:00
c127
53189d4c5e feat(board/orangepi5pro): Update U-Boot to v2025.07 for eMMC support (#8417)
Updated the U-Boot patch from v2024.04 to v2025.07, this change
finally enables booting from eMMC on the Orange Pi 5 Pro.

The device tree source for the board has also been refactored to
support the new U-Boot version and clean up peripheral definitions.
2025-07-29 08:32:58 +02:00
Patrick Yavitz
92d0fbe38a BananaPi BPI-M4-Zero: Remove u-boot-v2025.01 patching
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-28 13:04:42 -04:00
Patrick Yavitz
11821aebf9 BananaPi BPI-M4-Zero: Update DTS files
Mostly a fixup for the emac1 node, which I am unable to test.
https://forum.armbian.com/topic/53058-banana-pi-bpi-m4-zero-sun50i-h618-emac1-internal-phy-not-detected-%E2%80%9Cno-phy-found%E2%80%9D/

Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-28 13:04:42 -04:00
Patrick Yavitz
e85633b25a BananaPi BPI-M4-Zero: Update u-boot to v2025.07
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
2025-07-28 13:04:42 -04:00
Igor Pecovnik
cbeb0992b4 Bullseye: drop backport repository as it doesn't exists anymore 2025-07-28 17:17:58 +02:00
Paolo Sabatino
96fe7dee19 bump rockchip edge to kernel 6.16 2025-07-28 20:45:52 +08:00
298 changed files with 58816 additions and 97686 deletions

26
.github/CODEOWNERS vendored
View File

@@ -69,6 +69,7 @@ config/boards/khadas-vim2.conf @igorpecovnik
config/boards/khadas-vim3.conf @NicoD-SBC @rpardini
config/boards/khadas-vim3l.conf @rpardini
config/boards/khadas-vim4.conf @adeepn @rpardini @viraniac
config/boards/kickpik2b.csc @pyavitz
config/boards/lafrite.conf @Tonymac32
config/boards/leez-p710.csc @andyshrk
config/boards/lepotato.conf @Tonymac32
@@ -78,9 +79,6 @@ config/boards/lubancat2.csc @andyshrk
config/boards/mangopi-m28k.csc @sputnik2019
config/boards/mba8mpxl-ras314.conf @schmiedelm
config/boards/mba8mpxl.conf @schmiedelm
config/boards/mekotronics-r58-minipc.conf @monkaBlyat
config/boards/mekotronics-r58x-4g.csc @monkaBlyat
config/boards/mekotronics-r58x.conf @monkaBlyat
config/boards/mixtile-blade3.csc @rpardini
config/boards/mksklipad50.conf @torte71
config/boards/mkspi.csc @redrathnure
@@ -134,7 +132,6 @@ config/boards/radxa-e25.csc @krachlatte
config/boards/radxa-e52c.conf @amazingfate
config/boards/radxa-nio-12l.conf @HeyMeco
config/boards/radxa-zero.conf @clee @engineer-80
config/boards/radxa-zero2.csc @monkaBlyat
config/boards/recore.csc @eliasbakken
config/boards/renegade.conf @Tonymac32
config/boards/retro-lite-cm5.csc @ginkage
@@ -186,13 +183,13 @@ config/kernel/linux-k3-*.config @Grippy98 @glneo
config/kernel/linux-k3-beagle-*.config @Grippy98
config/kernel/linux-meson-*.config @hzyitc @juanlufont
config/kernel/linux-meson-s4t7-*.config @adeepn @rpardini @viraniac
config/kernel/linux-meson64-*.config @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @clee @engineer-80 @igorpecovnik @jeanrhum @jomadeto @monkaBlyat @pyavitz @rpardini @teknoid
config/kernel/linux-meson64-*.config @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @clee @engineer-80 @igorpecovnik @jeanrhum @jomadeto @pyavitz @rpardini @teknoid
config/kernel/linux-mvebu-*.config @Heisath
config/kernel/linux-odroidxu4-*.config @joekhoobyar
config/kernel/linux-phytium-embedded-*.config @chainsx
config/kernel/linux-rk35xx-*.config @CodeChenL @ColorfulRhino @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @ZazaBR @alexl83 @amazingfate @andyshrk @catalinii @chainsx @efectn @fridtjof @ginkage @hoochiwetech @hqnicolas @krachlatte @lanefu @linhz0hz @mahdichi @mattx433 @monkaBlyat @prahal @rpardini @schwar3kat @sputnik2019 @vamzii
config/kernel/linux-rk35xx-*.config @CodeChenL @ColorfulRhino @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @ZazaBR @alexl83 @amazingfate @andyshrk @catalinii @chainsx @efectn @fridtjof @ginkage @hoochiwetech @hqnicolas @krachlatte @lanefu @linhz0hz @mahdichi @mattx433 @prahal @rpardini @schwar3kat @sputnik2019 @vamzii
config/kernel/linux-rockchip-*.config @paolosabatino
config/kernel/linux-rockchip64-*.config @150balbes @ColorfulRhino @HeyMeco @JohnTheCoolingFan @SuperKali @TRSx80 @TheSnowfield @Tonymac32 @ZazaBR @ahoneybun @alexl83 @amazingfate @andyshrk @brentr @catalinii @clee @efectn @fridtjof @hqnicolas @igorpecovnik @joekhoobyar @krachlatte @lanefu @linhz0hz @mlegenovic @paolosabatino @prahal @pyavitz @redrathnure @rpardini @schwar3kat @sicXnull @tdleiyao @torte71 @utlark @vamzii
config/kernel/linux-rockchip64-*.config @150balbes @ColorfulRhino @HeyMeco @JohnTheCoolingFan @SuperKali @TRSx80 @TheSnowfield @Tonymac32 @ZazaBR @ahoneybun @alexl83 @amazingfate @andyshrk @brentr @catalinii @chainsx @clee @efectn @fridtjof @hqnicolas @igorpecovnik @joekhoobyar @krachlatte @lanefu @linhz0hz @mlegenovic @paolosabatino @prahal @pyavitz @redrathnure @rpardini @schwar3kat @sicXnull @tdleiyao @torte71 @utlark @vamzii
config/kernel/linux-sm8250-*.config @FantasyGmm @amazingfate
config/kernel/linux-sm8550-*.config @FantasyGmm
config/kernel/linux-spacemit-*.config @pyavitz
@@ -226,11 +223,11 @@ patch/kernel/archive/k3-*/ @Grippy98 @glneo
patch/kernel/archive/k3-beagle-*/ @Grippy98
patch/kernel/archive/meson-*/ @hzyitc @juanlufont
patch/kernel/archive/meson-s4t7-*/ @adeepn @rpardini @viraniac
patch/kernel/archive/meson64-*/ @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @clee @engineer-80 @igorpecovnik @jeanrhum @jomadeto @monkaBlyat @pyavitz @rpardini @teknoid
patch/kernel/archive/meson64-*/ @NicoD-SBC @SteeManMI @Tonymac32 @adeepn @clee @engineer-80 @igorpecovnik @jeanrhum @jomadeto @pyavitz @rpardini @teknoid
patch/kernel/archive/mvebu-*/ @Heisath
patch/kernel/archive/odroidxu4-*/ @joekhoobyar
patch/kernel/archive/rockchip-*/ @paolosabatino
patch/kernel/archive/rockchip64-*/ @150balbes @ColorfulRhino @HeyMeco @JohnTheCoolingFan @SuperKali @TRSx80 @TheSnowfield @Tonymac32 @ZazaBR @ahoneybun @alexl83 @amazingfate @andyshrk @brentr @catalinii @clee @efectn @fridtjof @hqnicolas @igorpecovnik @joekhoobyar @krachlatte @lanefu @linhz0hz @mlegenovic @paolosabatino @prahal @pyavitz @redrathnure @rpardini @schwar3kat @sicXnull @tdleiyao @torte71 @utlark @vamzii
patch/kernel/archive/rockchip64-*/ @150balbes @ColorfulRhino @HeyMeco @JohnTheCoolingFan @SuperKali @TRSx80 @TheSnowfield @Tonymac32 @ZazaBR @ahoneybun @alexl83 @amazingfate @andyshrk @brentr @catalinii @chainsx @clee @efectn @fridtjof @hqnicolas @igorpecovnik @joekhoobyar @krachlatte @lanefu @linhz0hz @mlegenovic @paolosabatino @prahal @pyavitz @redrathnure @rpardini @schwar3kat @sicXnull @tdleiyao @torte71 @utlark @vamzii
patch/kernel/archive/sm8250-*/ @FantasyGmm @amazingfate
patch/kernel/archive/sm8550-*/ @FantasyGmm
patch/kernel/archive/spacemit-*/ @pyavitz
@@ -241,7 +238,7 @@ patch/kernel/archive/wsl2-arm64-*/ @rpardini
patch/kernel/archive/wsl2-x86-*/ @rpardini
patch/kernel/genio-1200-*/ @HeyMeco
patch/kernel/phytium-embedded-*/ @chainsx
patch/kernel/rk35xx-vendor-*/ @CodeChenL @ColorfulRhino @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @ZazaBR @alexl83 @amazingfate @andyshrk @catalinii @chainsx @efectn @fridtjof @ginkage @hoochiwetech @hqnicolas @krachlatte @lanefu @linhz0hz @mahdichi @mattx433 @monkaBlyat @prahal @rpardini @schwar3kat @sputnik2019 @vamzii
patch/kernel/rk35xx-vendor-*/ @CodeChenL @ColorfulRhino @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @ZazaBR @alexl83 @amazingfate @andyshrk @catalinii @chainsx @efectn @fridtjof @ginkage @hoochiwetech @hqnicolas @krachlatte @lanefu @linhz0hz @mahdichi @mattx433 @prahal @rpardini @schwar3kat @sputnik2019 @vamzii
patch/kernel/starfive2-*/ @libiunc
patch/kernel/sun55iw3-syterkit-*/ @chainsx
patch/kernel/thead-*/ @chainsx
@@ -250,7 +247,7 @@ patch/u-boot/legacy/ @chainsx @joekhoobyar @juanlufont @lanefu
patch/u-boot/legacy/u-boot-clearfog/ @Heisath
patch/u-boot/legacy/u-boot-helios4/ @Heisath
patch/u-boot/legacy/u-boot-khadas-edge2-rk3588/ @efectn
patch/u-boot/legacy/u-boot-radxa-rk35xx/ @CodeChenL @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @ZazaBR @alexl83 @amazingfate @catalinii @chainsx @efectn @fridtjof @ginkage @hoochiwetech @hqnicolas @krachlatte @linhz0hz @mahdichi @mattx433 @monkaBlyat @prahal @rpardini @schwar3kat @sputnik2019 @tdleiyao @vamzii
patch/u-boot/legacy/u-boot-radxa-rk35xx/ @CodeChenL @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @ZazaBR @alexl83 @amazingfate @catalinii @chainsx @efectn @fridtjof @ginkage @hoochiwetech @hqnicolas @krachlatte @linhz0hz @mahdichi @mattx433 @prahal @rpardini @schwar3kat @sputnik2019 @tdleiyao @vamzii
patch/u-boot/legacy/u-boot-spacemit-k1/ @pyavitz
patch/u-boot/u-boot-beagle/ @Grippy98
patch/u-boot/u-boot-k3-beagle/ @Grippy98
@@ -274,7 +271,7 @@ patch/u-boot/v2024.01/board_orangepi5/ @efectn
patch/u-boot/v2024.04-rock5b-radxa/ @amazingfate @linhz0hz
patch/u-boot/v2024.04/ @Tonymac32 @utlark
patch/u-boot/v2024.07-coolpi-cm5/ @andyshrk
patch/u-boot/v2024.07/ @adeepn @igorpecovnik @monkaBlyat
patch/u-boot/v2024.07/ @adeepn @igorpecovnik
patch/u-boot/v2024.07/board_station-m1/ @150balbes
patch/u-boot/v2024.10/ @alexl83 @brentr @pyavitz
patch/u-boot/v2024.10/board_bigtreetech-cb2/ @JohnTheCoolingFan
@@ -283,6 +280,7 @@ patch/u-boot/v2025.01-rc3-coolpi-cm5/ @andyshrk
patch/u-boot/v2025.01/ @ColorfulRhino @efectn @jeanrhum @joekhoobyar @paolosabatino @pyavitz @rpardini @torte71
patch/u-boot/v2025.01/board_h96-tvbox-3566/ @hqnicolas
patch/u-boot/v2025.04/ @HeyMeco @IsMrX @NicoD-SBC @SuperKali @TheSnowfield @Tonymac32 @ZazaBR @amazingfate @andyshrk @catalinii @fridtjof @igorpecovnik @mlegenovic @pyavitz @rpardini @vamzii
patch/u-boot/v2025.07/ @pyavitz
sources/families/bcm2711.conf @PanderMusubi @teknoid
sources/families/genio.conf @HeyMeco
sources/families/imx8m.conf @schmiedelm
@@ -290,7 +288,7 @@ sources/families/jethub.conf @adeepn
sources/families/k3.conf @Grippy98 @glneo
sources/families/meson-axg.conf @pyavitz
sources/families/meson-g12a.conf @clee @engineer-80
sources/families/meson-g12b.conf @NicoD-SBC @Tonymac32 @jeanrhum @monkaBlyat @pyavitz @rpardini
sources/families/meson-g12b.conf @NicoD-SBC @Tonymac32 @jeanrhum @pyavitz @rpardini
sources/families/meson-gxbb.conf @teknoid
sources/families/meson-gxl.conf @SteeManMI @Tonymac32 @igorpecovnik @jomadeto
sources/families/meson-s4t7.conf @adeepn @rpardini @viraniac
@@ -300,7 +298,7 @@ sources/families/mvebu.conf @Heisath
sources/families/odroidxu4.conf @joekhoobyar
sources/families/phytium-embedded.conf @chainsx
sources/families/rk35xx.conf @CodeChenL @ZazaBR @amazingfate @andyshrk @catalinii @hoochiwetech @hqnicolas @krachlatte @mattx433 @pyavitz @sputnik2019 @tdleiyao @vamzii
sources/families/rockchip-rk3588.conf @ColorfulRhino @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @alexl83 @amazingfate @andyshrk @chainsx @efectn @fridtjof @ginkage @lanefu @linhz0hz @mahdichi @monkaBlyat @prahal @rpardini @schwar3kat
sources/families/rockchip-rk3588.conf @ColorfulRhino @HeyMeco @JackHuang021 @SeeleVolleri @SuperKali @Tonymac32 @alexl83 @amazingfate @andyshrk @chainsx @efectn @fridtjof @ginkage @lanefu @linhz0hz @mahdichi @prahal @rpardini @schwar3kat
sources/families/rockchip.conf @paolosabatino
sources/families/rockchip64.conf @150balbes @JohnTheCoolingFan @TRSx80 @TheSnowfield @Tonymac32 @ahoneybun @andyshrk @brentr @clee @hqnicolas @igorpecovnik @joekhoobyar @mlegenovic @paolosabatino @prahal @redrathnure @rpardini @sicXnull @torte71 @utlark
sources/families/sm8250.conf @FantasyGmm @amazingfate

View File

@@ -20,7 +20,7 @@ jobs:
steps:
- name: "Checkout build repo"
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: armbian/build
ref: main

View File

@@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v5

View File

@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Get repo
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Send push to Discord

View File

@@ -14,7 +14,7 @@ jobs:
if: ${{ github.repository == 'armbian/build' && github.event.label.id == '6210849975' }}
steps:
- name: Get repo
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Discord webhook

View File

@@ -24,7 +24,7 @@ jobs:
steps:
- name: Checkout the pull request
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Check for label using GH CLI
id: check
@@ -48,7 +48,7 @@ jobs:
steps:
# Checks out the repository to read files for matching with labeler config
- uses: actions/checkout@v4
- uses: actions/checkout@v5
# Applies labels based on the .github/labeler.yml config
- uses: actions/labeler@v5

View File

@@ -28,16 +28,16 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@4662f28b04a04c9b3c760178bc00690771ba6fe1 # v46.0.3
uses: tj-actions/changed-files@f963b3f3562b00b6d2dd25efc390eb04e51ef6c6 # v46.0.3
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: a13xp0p0v/kconfig-hardened-check
path: kconfig-hardened-check

View File

@@ -24,13 +24,13 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 2
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@4662f28b04a04c9b3c760178bc00690771ba6fe1 # v46.0.3
uses: tj-actions/changed-files@f963b3f3562b00b6d2dd25efc390eb04e51ef6c6 # v46.0.3
- name: List all changed files
run: |

View File

@@ -28,7 +28,7 @@ jobs:
steps:
- name: "Checkout code"
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false

View File

@@ -63,7 +63,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Get current ${{ matrix.tool.PROJECT_NAME }} version
id: get-version-current

View File

@@ -1 +1 @@
25.08.0-trunk
25.11.0-trunk

View File

@@ -115,7 +115,7 @@ runs:
passphrase: ${{ inputs.armbian_pgp_password }}
- name: "Checkout Armbian os"
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: armbian/os
fetch-depth: 0
@@ -123,7 +123,7 @@ runs:
path: os
- name: "Checkout Armbian build framework"
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
repository: armbian/build
ref: ${{ inputs.armbian_branch }}
@@ -131,7 +131,7 @@ runs:
path: build
- name: "Checkout customisations"
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
clean: false

View File

@@ -13,6 +13,11 @@ BOOT_FDT_FILE="amlogic/meson-g12b-bananapi-cm4-cm4io.dtb"
BOOTBRANCH_BOARD="tag:v2025.01"
BOOTPATCHDIR="v2025.01"
# CPUFREQ (/etc/default/cpufrequtils)
CPUMIN=1000000
CPUMAX=2400000
GOVERNOR=performance
function post_family_tweaks_bsp__bananapi_rtl_bt() {
if [[ -d "$SRC/packages/bsp/bananapi/rtl_bt" ]]; then
mkdir -p "${destination}"/lib/firmware/updates/rtl_bt

View File

@@ -2,16 +2,15 @@
BOARD_NAME="BananaPi BPI-F3"
BOARDFAMILY="spacemit"
BOARD_MAINTAINER="pyavitz"
KERNEL_TARGET="current"
KERNEL_TARGET="current,edge"
BOOT_FDT_FILE="spacemit/k1-bananapi-f3.dtb"
BOOTDELAY=1
SRC_EXTLINUX="yes"
SRC_CMDLINE="earlycon=sbi console=tty1 console=ttyS0,115200"
SRC_CMDLINE="earlycon=sbi console=tty1 console=ttyS0,115200 loglevel=1"
PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools"
function post_config_uboot_target__extra_configs_for_bananapi_f3() {
display_alert "u-boot for ${BOARD}" "u-boot: enabling extra configs" "info"
run_host_command_logged scripts/config --enable CONFIG_SD_BOOT
run_host_command_logged scripts/config --enable CONFIG_EXT4_WRITE
run_host_command_logged scripts/config --enable CONFIG_FS_BTRFS
@@ -24,9 +23,7 @@ function post_family_tweaks_bsp__bananapi_f3_extras() {
display_alert "$BOARD" "Installing boot firmware" "info"
run_host_command_logged cp -fv $SRC/packages/blobs/riscv64/spacemit/esos.elf "${destination}"/lib/firmware
fi
display_alert "$BOARD" "Force load wireless" "info"
run_host_command_logged mkdir -pv "${destination}"/etc/modules-load.d
run_host_command_logged echo "8852bs" > "${destination}"/etc/modules-load.d/${BOARD}.conf
}

View File

@@ -13,6 +13,11 @@ BOOT_FDT_FILE="amlogic/meson-g12b-a311d-bananapi-m2s.dtb"
BOOTBRANCH_BOARD="tag:v2025.01"
BOOTPATCHDIR="v2025.01"
# CPUFREQ (/etc/default/cpufrequtils)
CPUMIN=1000000
CPUMAX=2400000
GOVERNOR=performance
function post_family_tweaks_bsp__bananapi_rtl_bt() {
if [[ -d "$SRC/packages/bsp/bananapi/rtl_bt" ]]; then
mkdir -p "${destination}"/lib/firmware/updates/rtl_bt

View File

@@ -5,13 +5,14 @@ BOARD_MAINTAINER="pyavitz"
BOOTCONFIG="bananapi_m4zero_defconfig"
OVERLAY_PREFIX="sun50i-h616"
BOOT_FDT_FILE="sun50i-h618-bananapi-m4-zero.dtb"
DEFAULT_OVERLAYS="bananapi-m4-sdio-wifi-bt"
BOOT_LOGO="desktop"
KERNEL_TARGET="current,edge"
KERNEL_TEST_TARGET="current"
MODULES_BLACKLIST="rtw88_8821c rtw88_8821cu"
FORCE_BOOTSCRIPT_UPDATE="yes"
BOOTBRANCH_BOARD="tag:v2025.01"
BOOTPATCHDIR="v2025.01"
BOOTBRANCH_BOARD="tag:v2025.07"
BOOTPATCHDIR="v2025.07"
PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools"
function post_family_tweaks_bsp__bananapi_firmware() {

View File

@@ -0,0 +1,51 @@
# Allwinner H618 quad core 1/2/4GB RAM SoC WiFi SPI USB-C
BOARD_NAME="KickPi K2B"
BOARDFAMILY="sun50iw9-bpi"
BOARD_MAINTAINER="pyavitz"
BOOTCONFIG="kickpi_k2b_defconfig"
OVERLAY_PREFIX="sun50i-h616"
BOOT_FDT_FILE="sun50i-h618-kickpi-k2b.dtb"
BOOT_LOGO="desktop"
KERNEL_TARGET="current,edge"
KERNEL_TEST_TARGET="current"
FORCE_BOOTSCRIPT_UPDATE="yes"
BOOTBRANCH_BOARD="tag:v2025.07"
BOOTPATCHDIR="v2025.07"
PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools"
# AIC8800
AIC8800_TYPE="sdio"
enable_extension "radxa-aic8800"
# AIC8800 Wireless
function post_family_tweaks_bsp__aic8800_wireless() {
display_alert "$BOARD" "Installing AIC8800 Tweaks" "info"
mkdir -p "${destination}"/etc/modprobe.d
mkdir -p "${destination}"/etc/modules-load.d
# Add wireless conf
cat > "${destination}"/etc/modprobe.d/aic8800-wireless.conf <<- EOT
options aic8800_fdrv_sdio aicwf_dbg_level=0 custregd=0 ps_on=0
options aic8800_bsp_sdio aic_fw_path=/lib/firmware/aic8800_fw/SDIO/aic8800
EOT
# Add needed bluetooth modules
cat > "${destination}"/etc/modules-load.d/aic8800-btlpm.conf <<- EOT
hidp
rfcomm
bnep
aic8800_btlpm_sdio
EOT
# Add AIC8800 Bluetooth Service and Script
if [[ -d "$SRC/packages/bsp/aic8800" ]]; then
mkdir -p "${destination}"/etc/systemd/system
mkdir -p "${destination}"/usr/bin
cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth" "${destination}"/usr/bin
chmod +x "${destination}"/usr/bin/aic-bluetooth
cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth.service" "${destination}"/etc/systemd/system
fi
}
# Enable AIC8800 Bluetooth Service
function post_family_tweaks__enable_aic8800_bluetooth_service() {
display_alert "$BOARD" "Enabling AIC8800 Bluetooth Service" "info"
chroot_sdcard systemctl --no-reload enable aic-bluetooth.service
}

View File

@@ -1,7 +1,7 @@
# Rockchip RK3588 SoC octa core 4-16GB SoC 1GBe eMMC USB3 SATA WiFi/BT
declare -g BOARD_NAME="Mekotronics R58 MiniPC"
declare -g BOARDFAMILY="rockchip-rk3588"
declare -g BOARD_MAINTAINER="monkaBlyat"
declare -g BOARD_MAINTAINER=""
declare -g KERNEL_TARGET="vendor"
declare -g BOOTCONFIG="mekotronics_r58-rk3588_defconfig" # generic ebv-ish defconfig
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-minipc-linux.dtb" # Specific to this board

View File

@@ -1,7 +1,7 @@
# Rockchip RK3588 SoC octa core 4-16GB SoC 2x1GBe eMMC USB3 NVMe SATA 4G WiFi/BT HDMI DP HDMI-In RS232 RS485
declare -g BOARD_NAME="Mekotronics R58X-4G"
declare -g BOARDFAMILY="rockchip-rk3588"
declare -g BOARD_MAINTAINER="monkaBlyat"
declare -g BOARD_MAINTAINER=""
declare -g KERNEL_TARGET="vendor"
declare -g BOOTCONFIG="mekotronics_r58x-rk3588_defconfig" # vendor u-boot; with NVMe and a DTS
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v12-linux.dtb" # Specific to this board

View File

@@ -1,7 +1,7 @@
# Rockchip RK3588 SoC octa core 4-16GB SoC 2x1GBe eMMC USB3 NVMe SATA WiFi/BT HDMI DP HDMI-In RS232 RS485
declare -g BOARD_NAME="Mekotronics R58X"
declare -g BOARDFAMILY="rockchip-rk3588"
declare -g BOARD_MAINTAINER="monkaBlyat"
declare -g BOARD_MAINTAINER=""
declare -g KERNEL_TARGET="vendor"
declare -g BOOTCONFIG="mekotronics_r58x-rk3588_defconfig" # vendor u-boot; with NVMe and a DTS
declare -g BOOT_FDT_FILE="rockchip/rk3588-blueberry-edge-v10-linux.dtb" # Specific to this board

View File

@@ -28,9 +28,9 @@ function post_family_tweaks__nanopir6s_naming_udev_network_interfaces() {
mkdir -p $SDCARD/etc/udev/rules.d/
cat <<- EOF > "${SDCARD}/etc/udev/rules.d/70-persistent-net.rules"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="fe1c0000.ethernet", NAME:="wan1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8169", KERNELS=="0003:31:00.0", NAME:="lan1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8169", KERNELS=="0004:41:00.0", NAME:="lan2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="fe1c0000.ethernet", NAME:="lan2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8169", KERNELS=="0003:31:00.0", NAME:="wan"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="r8169", KERNELS=="0004:41:00.0", NAME:="lan1"
EOF
}

View File

@@ -54,8 +54,8 @@ function post_family_config_branch_edge__orangepi5pro_use_mainline_uboot() {
declare -g BOOTCONFIG="orangepi-5-pro-rk3588s_defconfig"
declare -g BOOTDELAY=1
declare -g BOOTSOURCE="https://github.com/u-boot/u-boot.git"
declare -g BOOTBRANCH="tag:v2024.04"
declare -g BOOTPATCHDIR="v2024.04"
declare -g BOOTBRANCH="tag:v2025.07"
declare -g BOOTPATCHDIR="v2025.07"
declare -g BOOTDIR="u-boot-${BOARD}"
declare -g UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin"
declare -g INSTALL_HEADERS="yes"

View File

@@ -11,7 +11,7 @@ HAS_VIDEO_OUTPUT="yes"
SERIALCON="ttyS0,ttyGS0"
KERNEL_TARGET="legacy,current,edge"
KERNEL_TEST_TARGET="current"
CRUSTCONFIG="orangepi_zero_defconfig"
# CRUSTCONFIG="orangepi_zero_defconfig" # Crust is failing https://github.com/armbian/build/issues/8197
function orange_pi_zero_enable_xradio_workarounds() {
/usr/bin/systemctl enable xradio_unload.service

View File

@@ -7,21 +7,21 @@ declare -g KERNEL_TEST_TARGET="edge"
declare -g EXTRAWIFI="no"
declare -g BOOTCONFIG="none"
declare -g IMAGE_PARTITION_TABLE="gpt"
# Reserve for ABL Boot
# declare -g BOOTIMG_CMDLINE_EXTRA="clk_ignore_unused pd_ignore_unused console=tty0 console=ttyMSM0,1500000n8 pcie_pme=nomsi panic=30 allow_mismatched_32bit_el0 mem_sleep_default=s2idle"
# declare -g -a ABL_DTB_LIST=("qrb5165-rb5")
# Use the full firmware, complete linux-firmware plus Armbian's (for qcom/a650_sqe.fw)
declare -g BOARD_FIRMWARE_INSTALL="-full"
declare -g SERIALCON="${SERIALCON:-tty1}"
declare -g GRUB_CMDLINE_LINUX_DEFAULT="clk_ignore_unused pd_ignore_unused arm64.nopauth efi=noruntime console=ttyMSM0,115200n8 pcie_pme=nomsi"
declare -g GRUB_CMDLINE_LINUX_DEFAULT="clk_ignore_unused pd_ignore_unused console=tty0 arm64.nopauth efi=noruntime console=ttyMSM0,1500000n8 pcie_pme=nomsi panic=30 allow_mismatched_32bit_el0 mem_sleep_default=s2idle"
declare -g BOOT_FDT_FILE="qcom/qrb5165-rb5.dtb"
declare -g UEFI_PART_ALIGN="4096"
declare -g SECTOR_SIZE="4096"
enable_extension "grub"
enable_extension "grub-with-dtb" # important, puts the whole DTB handling in place.
function qcom-robotics-rb5_is_userspace_supported() {
[[ "${RELEASE}" == "bookworm" ]] && return 0
[[ "${RELEASE}" == "jammy" ]] && return 0
[[ "${RELEASE}" == "noble" ]] && return 0
[[ "${RELEASE}" == "trixie" ]] && return 0
return 1
@@ -37,11 +37,17 @@ function post_family_tweaks_bsp__qcom-robotics-rb5_add_services() {
display_alert "$BOARD" "Add services" "info"
# Bluetooth MAC addr setup service
# USB Gadget Network service
mkdir -p $destination/usr/local/bin/
mkdir -p $destination/usr/lib/systemd/system/
install -Dm655 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.sh $destination/usr/local/bin/
install -Dm644 $SRC/packages/bsp/generate-bt-mac-addr/bt-fixed-mac.service $destination/usr/lib/systemd/system/
mkdir -p $destination/etc/initramfs-tools/scripts/init-bottom/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/setup-usbgadget-network.sh $destination/usr/local/bin/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/remove-usbgadget-network.sh $destination/usr/local/bin/
install -Dm644 $SRC/packages/bsp/usb-gadget-network/usbgadget-rndis.service $destination/usr/lib/systemd/system/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/usb-gadget-initramfs-hook $destination/etc/initramfs-tools/hooks/usb-gadget
install -Dm655 $SRC/packages/bsp/usb-gadget-network/usb-gadget-initramfs-premount $destination/etc/initramfs-tools/scripts/init-premount/usb-gadget
install -Dm655 $SRC/packages/bsp/usb-gadget-network/dropbear $destination/etc/initramfs-tools/scripts/init-premount/
install -Dm655 $SRC/packages/bsp/usb-gadget-network/kill-dropbear $destination/etc/initramfs-tools/scripts/init-bottom/
}
function post_family_tweaks__qcom-robotics-rb5_enable_services() {
@@ -53,8 +59,8 @@ function post_family_tweaks__qcom-robotics-rb5_enable_services() {
fi
display_alert "$BOARD" "Enable services" "info"
chroot_sdcard systemctl enable usbgadget-rndis.service
chroot_sdcard systemctl enable bt-fixed-mac.service
return 0
}
@@ -66,33 +72,33 @@ function post_family_tweaks__qcom-robotics-rb5_extra_packages() {
return 0
fi
if [[ "${RELEASE}" == "jammy" ]] || [[ "${RELEASE}" == "noble" ]]; then
display_alert "Adding qcom-mainline PPA" "${BOARD}" "info"
if [[ "${RELEASE}" == "noble" ]]; then
do_with_retries 3 chroot_sdcard_apt_get_update
do_with_retries 3 chroot_sdcard_apt_get_install software-properties-common
fi
if [[ "${RELEASE}" == "noble" ]]; then
display_alert "Adding qcom-mainline PPA For" "${BOARD}" "info"
do_with_retries 3 chroot_sdcard add-apt-repository ppa:liujianfeng1994/qcom-mainline --yes --no-update
fi
if [[ "${RELEASE}" == "noble" ]]; then
display_alert "Adding Mesa PPA For Ubuntu " "${BOARD}" "info"
do_with_retries 3 chroot_sdcard add-apt-repository ppa:oibaf/graphics-drivers --yes --no-update
fi
# We need unudhcpd from armbian repo, so enable it
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.sources.disabled "${SDCARD}"/etc/apt/sources.list.d/armbian.sources
do_with_retries 3 chroot_sdcard_apt_get_update
do_with_retries 3 chroot_sdcard_apt_get_install vulkan-tools mesa-vulkan-drivers btop mtools zstd
if [[ "${RELEASE}" == "noble" ]]; then
do_with_retries 3 chroot_sdcard_apt_get_install qbootctl
fi
display_alert "Installing ${BOARD} tweaks" "warn"
do_with_retries 3 chroot_sdcard_apt_get_install vulkan-tools mesa-vulkan-drivers mtools zstd alsa-ucm-conf qbootctl qrtr-tools unudhcpd
# disable armbian repo back
mv "${SDCARD}"/etc/apt/sources.list.d/armbian.sources "${SDCARD}"/etc/apt/sources.list.d/armbian.sources.disabled
if [[ "${DESKTOP_ENVIRONMENT}" == "kde-plasma" ]]; then
display_alert "Adding Extra KDE Package" "${BOARD}" "info"
do_with_retries 3 chroot_sdcard_apt_get_install plasma-workspace plasma-desktop plasma-systemmonitor plasma-nm kde-standard kde-spectacle kinfocenter kscreen krfb kfind filelight \
dolphin clinfo vulkan-tools wayland-utils
dolphin clinfo wayland-utils
fi
if [[ "${RELEASE}" == "noble" ]]; then
chroot_sdcard systemctl enable qbootctl.service
fi
chroot_sdcard systemctl enable bt-fixed-mac.service
# No driver support for suspend
chroot_sdcard systemctl mask suspend.target

View File

@@ -2,10 +2,10 @@
BOARD_NAME="radxa cubie a5e"
BOARDFAMILY="sun55iw3"
BOARD_MAINTAINER=""
BOOTCONFIG="radxa-a5e_defconfig"
BOOTCONFIG="radxa-cubie-a5e_defconfig"
OVERLAY_PREFIX="sun55i-a527"
#BOOT_LOGO="desktop"
KERNEL_TARGET="dev"
KERNEL_TARGET="edge"
BOOT_FDT_FILE="dtb/allwinner/sun55i-a527-radxa-a5e.dtb"
IMAGE_PARTITION_TABLE="gpt"
#IMAGE_PARTITION_TABLE="msdos"
@@ -14,9 +14,42 @@ BOOTSTART="1"
BOOTSIZE="512"
ROOTSTART="513"
function post_family_tweaks__radxa_cubie-a5e() {
display_alert "Applying wifi firmware"
pushd "$SDCARD/lib/firmware"
ln -s "aic8800/SDIO/aic8800D80" "aic8800_sdio" # use armbian-firmware
popd
PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools"
# AIC8800
AIC8800_TYPE="sdio"
enable_extension "radxa-aic8800"
# AIC8800 Wireless
function post_family_tweaks_bsp__aic8800_wireless() {
display_alert "$BOARD" "Installing AIC8800 Tweaks" "info"
mkdir -p "${destination}"/etc/modprobe.d
mkdir -p "${destination}"/etc/modules-load.d
# Add wireless conf
cat > "${destination}"/etc/modprobe.d/aic8800-wireless.conf <<- EOT
options aic8800_fdrv_sdio aicwf_dbg_level=0 custregd=0 ps_on=0
#options aic8800_bsp_sdio aic_fw_path=/lib/firmware/aic8800_fw/SDIO/aic8800
EOT
# Add needed bluetooth modules
cat > "${destination}"/etc/modules-load.d/aic8800-btlpm.conf <<- EOT
hidp
rfcomm
bnep
aic8800_btlpm_sdio
EOT
# Add AIC8800 Bluetooth Service and Script
if [[ -d "$SRC/packages/bsp/aic8800" ]]; then
mkdir -p "${destination}"/etc/systemd/system
mkdir -p "${destination}"/usr/bin
cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth" "${destination}"/usr/bin
chmod +x "${destination}"/usr/bin/aic-bluetooth
cp -f "$SRC/packages/bsp/aic8800/aic-bluetooth.service" "${destination}"/etc/systemd/system
fi
}
# Enable AIC8800 Bluetooth Service
function post_family_tweaks__enable_aic8800_bluetooth_service() {
display_alert "$BOARD" "Enabling AIC8800 Bluetooth Service" "info"
chroot_sdcard systemctl --no-reload enable aic-bluetooth.service
}

View File

@@ -1,7 +1,7 @@
# Amlogic A311D 4GB RAM eMMC USB3 WiFi BT
BOARD_NAME="Radxa Zero 2"
BOARDFAMILY="meson-g12b"
BOARD_MAINTAINER="monkaBlyat"
BOARD_MAINTAINER=""
BOOTCONFIG="radxa-zero2_config"
KERNEL_TARGET="current,edge"
KERNEL_TEST_TARGET="current"

View File

@@ -10,11 +10,5 @@ KERNEL_TEST_TARGET="current"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3399-rock-4se.dtb"
BOOT_SCENARIO="spl-blobs"
BOOT_SCENARIO="binman-atf-mainline"
BOOT_SUPPORT_SPI="yes"
BL31_BLOB="rk33/rk3399_bl31_v1.36.elf"
DDR_BLOB="rk33/rk3399_ddr_933MHz_v1.30.bin"
function post_family_config___mainline_uboot() {
declare -g UBOOT_TARGET_MAP="ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB} BL31=$RKBIN_DIR/$BL31_BLOB spl/u-boot-spl u-boot.bin flash.bin;;idbloader.img u-boot.itb"
}

View File

@@ -8,6 +8,7 @@ KERNEL_TARGET="vendor"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3588s-radxa-cm5-rpi-cm4-io.dtb"
BOOTPATCHDIR="legacy/u-boot-radxa-rk35xx/board_rock-5-cm-rpi-cm4-io"
BOOT_SCENARIO="spl-blobs"
BOOT_SUPPORT_SPI="yes"
BOOT_SPI_RKSPI_LOADER="yes"

View File

@@ -8,6 +8,7 @@ KERNEL_TARGET="vendor"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3588s-radxa-cm5-io.dtb"
BOOTPATCHDIR="legacy/u-boot-radxa-rk35xx/board_rock-5-cmio"
BOOT_SCENARIO="spl-blobs"
BOOT_SUPPORT_SPI="yes"
BOOT_SPI_RKSPI_LOADER="yes"

View File

@@ -10,7 +10,7 @@ BOOT_LOGO="desktop"
BOOTBRANCH_BOARD="tag:v2024.01"
BOOTPATCHDIR="v2024.01"
BOOTCONFIG="rock-4c-plus-rk3399_defconfig"
BOOT_SCENARIO="spl-blobs"
BOOT_SCENARIO="binman-atf-mainline"
BOOT_SUPPORT_SPI=yes
DDR_BLOB="rk33/rk3399_ddr_933MHz_v1.30.bin"

View File

@@ -0,0 +1,6 @@
# loong64 via UEFI for all UEFI-enabled boards
export BOARD_NAME="UEFI loong64"
export BOARDFAMILY="uefi-loong64"
export KERNEL_TARGET="current,edge"
export SERIALCON="ttyS0,115200"
ENABLE_EXTENSIONS="yt6801"

View File

@@ -59,7 +59,7 @@ mate-sensors-applet-common
mate-session-manager
mate-settings-daemon
mate-settings-daemon-common
mate-sntray-plugin
#mate-sntray-plugin
mate-system-monitor
mate-system-monitor-common
mate-terminal

View File

@@ -1 +1 @@
arm64,armhf,riscv64,amd64
arm64,armhf,riscv64,amd64,loong64

View File

@@ -1 +1 @@
csc
supported

View File

@@ -2,7 +2,6 @@
CONFIG_DEFAULT_HOSTNAME="localhost"
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_USELIB=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BPF_SYSCALL=y
@@ -386,7 +385,6 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_IP_DCCP=m
CONFIG_IP_SCTP=m
CONFIG_RDS=m
CONFIG_RDS_TCP=m
@@ -1129,6 +1127,7 @@ CONFIG_MEDIA_TUNER_XC5000=y
# CONFIG_DVB_CXD2099 is not set
# CONFIG_DVB_SP2 is not set
CONFIG_DRM=y
CONFIG_DRM_SIMPLEDRM=m
CONFIG_DRM_ROCKCHIP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_INNO_HDMI=y
@@ -1138,7 +1137,6 @@ CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_DW_HDMI_CEC=m
CONFIG_DRM_SIMPLEDRM=m
CONFIG_DRM_LIMA=m
CONFIG_DRM_PANFROST=m
CONFIG_FB=y
@@ -1559,8 +1557,8 @@ CONFIG_HID_SENSOR_ACCEL_3D=m
CONFIG_AD7606_IFACE_SPI=m
CONFIG_AD7768_1=m
CONFIG_ROCKCHIP_SARADC=y
CONFIG_TI_ADS8344=m
CONFIG_TI_ADS124S08=m
CONFIG_TI_ADS8344=m
CONFIG_IIO_RESCALE=m
CONFIG_BME680=m
CONFIG_PMS7003=m
@@ -1735,7 +1733,6 @@ CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM="yama,loadpin,safesetid,integrity"
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ECDSA=m
CONFIG_CRYPTO_ECRDSA=m
CONFIG_CRYPTO_CURVE25519=m
@@ -1782,7 +1779,6 @@ CONFIG_CRYPTO_NHPOLY1305_NEON=m
CONFIG_CRYPTO_BLAKE2B_NEON=m
CONFIG_CRYPTO_SHA1_ARM_NEON=m
CONFIG_CRYPTO_SHA1_ARM_CE=m
CONFIG_CRYPTO_SHA2_ARM_CE=m
CONFIG_CRYPTO_SHA512_ARM=m
CONFIG_CRYPTO_AES_ARM_BS=m
CONFIG_CRYPTO_AES_ARM_CE=m

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,126 +1,57 @@
# General Setup
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SMP=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_NUMA=y
CONFIG_HZ_1000=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CONNECTOR=y
# AWS Support
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_SCSI_FRONTEND=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_WDT=y
CONFIG_ENA_ETHERNET=y
# Azure Support
CONFIG_HYPERV=y
CONFIG_HYPERV_UTILS=y
CONFIG_HYPERV_BALLOON=y
CONFIG_HYPERV_STORAGE=y
CONFIG_HYPERV_NET=y
CONFIG_HYPERV_KEYBOARD=y
CONFIG_HYPERV_MOUSE=y
CONFIG_HYPERV_TSCPAGE=y
CONFIG_HYPERV_VSOCKETS=y
CONFIG_HYPERV_IOMMU=y
# Power Management and ACPI
CONFIG_HIBERNATION=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_BGRT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_ARM_SCPI_CPUFREQ=y
# EFI Support
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
# Kernel Features
CONFIG_KEXEC=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_PREEMPT_VOLUNTARY=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# Memory Management Options
CONFIG_HUGETLBFS=y
# Namespaces and Control Groups
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_CGROUPS=y
CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
# Module Support
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_BPF=y
CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_EXPERT=y
CONFIG_KEXEC=y
CONFIG_ARCH_THUNDER=y
CONFIG_ARM64_VA_BITS_48=y
CONFIG_NUMA=y
CONFIG_HZ_1000=y
CONFIG_XEN=y
CONFIG_ARM64_PSEUDO_NMI=y
CONFIG_HIBERNATION=y
CONFIG_ACPI=y
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# Virtualization
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_SCSI=y
CONFIG_VIRTIO_MMIO=y
CONFIG_NET_FAILOVER=y
# File Systems
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_QFMT_V2=y
CONFIG_AUTOFS_FS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_PROC_KCORE=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
CONFIG_9P_FS=y
CONFIG_XFS_FS=y
CONFIG_BTRFS_FS=y
CONFIG_FUSE_FS=y
# Networking
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BINFMT_MISC=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
# CONFIG_COMPAT_BRK is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
@@ -133,7 +64,7 @@ CONFIG_IP_PNP_RARP=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_ESP=m
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
@@ -143,77 +74,114 @@ CONFIG_TCP_MD5SIG=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_NETLABEL=y
CONFIG_NETDEVICES=y
CONFIG_NETCONSOLE=y
# Ethernet Drivers
CONFIG_E1000E=y
# Wireless Networking
CONFIG_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NAT=m
CONFIG_NFT_TUNNEL=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NFT_XFRM=m
CONFIG_NFT_SOCKET=m
CONFIG_NFT_TPROXY=m
CONFIG_NFT_SYNPROXY=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_REJECT_NETDEV=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_IP_VS=m
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_VLAN_8021Q=m
CONFIG_NET_SCHED=y
CONFIG_NET_CLS_CGROUP=m
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_MAC80211_LEDS=y
CONFIG_RFKILL=y
# PCI Support
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI=y
# Block Devices
CONFIG_BLK_DEV_INITRD=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CONNECTOR=y
CONFIG_ZRAM=m
CONFIG_ZRAM_WRITEBACK=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y
# Storage Controllers
CONFIG_XEN_SCSI_FRONTEND=y
CONFIG_SCSI_VIRTIO=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=y
# RAID and Volume Management
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
# Input Devices
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_WIREGUARD=m
CONFIG_MACVLAN=m
CONFIG_IPVLAN=m
CONFIG_VXLAN=m
CONFIG_NETCONSOLE=y
CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_NETKIT=y
CONFIG_ENA_ETHERNET=y
CONFIG_E1000E=y
# CONFIG_WLAN is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_MISC=y
# Watchdog
CONFIG_WATCHDOG=y
# Real Time Clock
CONFIG_RTC_CLASS=y
# Random Number Generator
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM=y
# NVRAM
CONFIG_NVRAM=y
# HPET Timer
CONFIG_HPET=y
# I2C Support
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_I2C_I801=y
# Security Options
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
# Audit
CONFIG_AUDIT=y
# Sound
CONFIG_WATCHDOG=y
CONFIG_XEN_WDT=y
CONFIG_DRM=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_HRTIMER=y
@@ -221,13 +189,9 @@ CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
# HID Devices
CONFIG_HIDRAW=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# USB Support
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_MON=y
@@ -236,52 +200,58 @@ CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_STORAGE=y
# Filesystem Encoding
CONFIG_RTC_CLASS=y
CONFIG_UIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SMMU_V3=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_XFS_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_QFMT_V2=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_OVERLAY_FS=m
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_ROOT_NFS=y
CONFIG_9P_FS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y
# Miscellaneous
CONFIG_BINFMT_MISC=y
# CONFIG_COMPAT_BRK is not set
CONFIG_JUMP_LABEL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_FB=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
CONFIG_EFI_FRAMEBUFFER=y
CONFIG_DRM=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
CONFIG_FONT_8x16=y
CONFIG_FONT_8x8=y
# AArch64-specific options
CONFIG_ARM64=y
CONFIG_ARCH_AMPERE=y
CONFIG_ARM64_VA_BITS_48=y
CONFIG_ARM64_PSEUDO_NMI=y
CONFIG_ARCH_THUNDER=y
CONFIG_ARM64_CONTIGUOUSRegions=y
CONFIG_ARM64_VHE=y
CONFIG_ARM_SMMU=y
CONFIG_ARM_SMMU_V3=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC_V3_ITS=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_GCM=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_ENCRYPTED_KEYS=y
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_SECURITY=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_DEV_CAVIUM_ZIP=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_DEBUG_INFO_DWARF5=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_FTRACE_SYSCALLS=y

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
debian-ports-archive-keyring

View File

@@ -15,7 +15,7 @@ declare -g BOOTDELAY=1
declare -g BOOTPATCHDIR="${BOOTPATCHDIR:-"u-boot-filogic"}"
declare -g BOOTBRANCH="${BOOTBRANCH:-"tag:v2025.04"}"
declare -g BOOTENV_FILE='filogic.txt'
declare -g UBOOT_TARGET_MAP=";;u-boot.bin"
declare -g UBOOT_TARGET_MAP=";;u-boot.bin u-boot_sdmmc.fip bl2.img"
declare -g BOOTSCRIPT='boot-filogic.cmd:boot.cmd'
declare -g IMAGE_PARTITION_TABLE="gpt"
declare -g LINUXFAMILY=filogic
@@ -28,11 +28,15 @@ function add_host_dependencies__filogic_add_xxd_hostdep() {
# Handling of FIP blobs
function uboot_custom_postprocess() {
run_host_command_logged rm -f "$SRC"/cache/u-boot_sdmmc.fip
run_host_command_logged rm -f "$SRC"/cache/sources/u-boot-worktree/u-boot/v2025.04/bl2.img
run_host_command_logged cp "$SRC"/cache/sources/arm-trusted-firmware/mtksoc-20250212/build/mt7988/release/bl2.img \
"$SRC"/cache/sources/u-boot-worktree/u-boot/v2025.04
run_host_command_logged rm -f "$SRC"/cache/sources/u-boot-worktree/u-boot/v2025.04/u-boot_sdmmc.fip
run_host_command_logged fiptool create \
--soc-fw "$SRC"/cache/sources/arm-trusted-firmware/mtksoc-20250212/build/mt7988/release/bl31.bin \
--nt-fw "$SRC"/cache/sources/u-boot-worktree/u-boot/v2025.04/u-boot.bin \
"$SRC"/cache/u-boot_sdmmc.fip
"$SRC"/cache/sources/u-boot-worktree/u-boot/v2025.04/u-boot_sdmmc.fip
}
case $BRANCH in
@@ -50,8 +54,8 @@ esac
#KERNELPATCHDIR="archive/filogic-${KERNEL_MAJOR_MINOR}"
write_uboot_platform() {
dd if="$SRC"/cache/sources/arm-trusted-firmware/mtksoc-20250212/build/mt7988/release/bl2.img of=$2 bs=512 seek=34 status=noxfer > /dev/null 2>&1
dd if="$SRC"/cache/u-boot_sdmmc.fip of=$2 bs=512 seek=13312 status=noxfer >/dev/null 2>&1
dd if=$1/bl2.img of=$2 bs=512 seek=34 status=noxfer > /dev/null 2>&1
dd if=$1/u-boot_sdmmc.fip of=$2 bs=512 seek=13312 status=noxfer >/dev/null 2>&1
# backup gpt table
LAST_START=$(parted "$2" unit s print | grep -v "^$" | tail -n 1 | awk '{print $2}' | tr -d 's')

View File

@@ -57,6 +57,7 @@ esac
# - tpl-blob-atf-mainline: proprietary rockchip ddrbin + mainline u-boot SPL + mainline ATF
# - blobless: mainline u-boot TPL + mainline u-boot SPL + mainline ATF
# - binman: u-boot builds full boot image from information in device tree. See: https://docs.u-boot.org/en/latest/develop/package/binman.html
# - binman-atf-mainline: u-boot builds full boot image with mainline ATF from information in device tree. See: https://docs.u-boot.org/en/latest/develop/package/binman.html
#BOOT_SOC=`expr $BOOTCONFIG : '.*\(rk[[:digit:]]\+.*\)_.*'`
BOOT_SOC=${BOOT_SOC:=$(expr $BOOTCONFIG : '.*\(rk[[:digit:]]\+.*\)_.*' || true)}
@@ -160,7 +161,7 @@ prepare_boot_configuration() {
ATFSOURCE=''
ATF_COMPILE='no'
case "$BOOT_SCENARIO" in
blobless | tpl-blob-atf-mainline)
blobless | tpl-blob-atf-mainline | binman-atf-mainline)
UBOOT_TARGET_MAP="BL31=bl31.elf idbloader.img u-boot.itb;;idbloader.img u-boot.itb"
ATF_COMPILE=yes
ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
@@ -173,6 +174,10 @@ prepare_boot_configuration() {
[[ $BOOT_SCENARIO == tpl-blob-atf-mainline ]] &&
UBOOT_TARGET_MAP="BL31=bl31.elf idbloader.img u-boot.itb;;idbloader.img u-boot.itb"
[[ $BOOT_SCENARIO == binman-atf-mainline ]] &&
UBOOT_TARGET_MAP="BL31=bl31.elf ROCKCHIP_TPL=$RKBIN_DIR/$DDR_BLOB;;u-boot-rockchip.bin"
# binman builds do not have separate build targets for idbloader.img and u-boot.itb
# ROCKCHIP_TPL needed for boards with CONFIG_ROCKCHIP_EXTERNAL_TPL, ignored for boards without it
;;
tpl-spl-blob)
UBOOT_TARGET_MAP="BL31=$RKBIN_DIR/$BL31_BLOB idbloader.img u-boot.itb;;idbloader.img u-boot.itb"
@@ -209,7 +214,8 @@ uboot_custom_postprocess() {
display_alert "${BOARD}" "boots with ${BOOT_SCENARIO} scenario" "info"
case "$BOOT_SCENARIO" in
blobless | tpl-spl-blob | binman)
blobless | tpl-spl-blob | binman*)
# binman-atf-mainline functions the same as original `binman` after build
:
;;
@@ -280,7 +286,7 @@ write_uboot_platform() {
local logging_prelude=""
[[ $(type -t run_host_command_logged) == function ]] && logging_prelude="run_host_command_logged"
if [ -f $1/u-boot-rockchip.bin ]; then #"$BOOT_SCENARIO" == binman
if [ -f $1/u-boot-rockchip.bin ]; then #"$BOOT_SCENARIO" == "binman" or "binman-atf-mainline"
${logging_prelude} dd if=$1/u-boot-rockchip.bin of=$2 bs=32k seek=1 conv=notrunc status=none
elif [ -f $1/rksd_loader.img ]; then # legacy rk3399 loader
${logging_prelude} dd if=$1/rksd_loader.img of=$2 seek=64 conv=notrunc status=none

View File

@@ -41,7 +41,7 @@ case "${BRANCH}" in
;;
edge)
declare -g KERNEL_MAJOR_MINOR="6.15"
declare -g KERNEL_MAJOR_MINOR="6.16"
;;
esac

View File

@@ -105,7 +105,7 @@ write_uboot_platform() {
dd if="$1/u-boot.bin" of="$of_boot1" bs=512 skip=1 conv=fsync > /dev/null 2>&1
fi
logger "${FUNCNAME[0]}(): u-boot successfulley installed"
logger "${FUNCNAME[0]}(): u-boot successfully installed"
}
comment_default_rsyslog_rules() {

View File

@@ -56,7 +56,7 @@ case $BRANCH in
edge)
declare -g KERNEL_MAJOR_MINOR="6.15" # Major and minor versions of this kernel.
declare -g KERNEL_MAJOR_MINOR="6.16" # Major and minor versions of this kernel.
;;
esac

View File

@@ -11,17 +11,17 @@ declare -g ARCH="riscv64"
declare -g LINUXFAMILY="spacemit"
declare -g GOVERNOR="performance"
# Arm Trusted Firmware
# OpenSBI
declare -g ATF_USE_GCC="> 8.0"
declare -g ATF_COMPILER="riscv64-linux-gnu-"
declare -g ATFSOURCE="https://gitee.com/bianbu-linux/opensbi.git"
declare -g ATFDIR="opensbi"
declare -g ATFBRANCH="tag:k1-bl-v2.1-release"
declare -g ATFBRANCH="tag:k1-bl-v2.2-release"
declare -g ATF_TARGET_MAP="PLATFORM_DEFCONFIG=k1_defconfig PLATFORM=generic ;;build/platform/generic/firmware/fw_dynamic.itb"
# U-Boot
declare -g BOOTSOURCE="https://gitee.com/bianbu-linux/uboot-2022.10.git"
declare -g BOOTBRANCH="${BOOTBRANCH_BOARD:-"tag:k1-bl-v2.1-release"}"
declare -g BOOTBRANCH="${BOOTBRANCH_BOARD:-"tag:k1-bl-v2.2-release"}"
declare -g BOOTDIR='u-boot-spacemit'
declare -g BOOTPATCHDIR="${BOOTPATCHDIR:-"legacy/u-boot-spacemit-k1"}"
declare -g UBOOT_TARGET_MAP=";;bootinfo_emmc.bin FSBL.bin u-boot.itb fw_dynamic.itb"
@@ -36,6 +36,13 @@ case "${BRANCH}" in
declare -g KERNEL_MAJOR_MINOR="6.6"
declare -g LINUXCONFIG="linux-${LINUXFAMILY}-current"
;;
edge)
declare -g KERNELSOURCE="https://github.com/jmontleon/linux-bianbu.git"
declare -g KERNELBRANCH="branch:linux-6.16.y"
declare -g EXTRAWIFI="no" # WiFi drivers are already included in the kernel
declare -g KERNEL_MAJOR_MINOR="6.16"
declare -g LINUXCONFIG="linux-${LINUXFAMILY}-edge"
;;
esac
function custom_kernel_config__spacemit_k1_firmware() {

View File

@@ -17,7 +17,7 @@ case $BRANCH in
current | edge)
declare -g BOOTBRANCH="${BOOTBRANCH_BOARD}"
declare -g ATFSOURCE='https://github.com/ARM-software/arm-trusted-firmware'
declare -g ATFBRANCH='tag:lts-v2.12.1'
declare -g ATFBRANCH='tag:lts-v2.12.5'
declare -g ATF_PLAT="sun50i_h616"
declare -g ATF_TARGET_MAP='PLAT=sun50i_h616 DEBUG=1 bl31;;build/sun50i_h616/debug/bl31.bin'
declare -g BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'

View File

@@ -13,23 +13,21 @@ declare -g ATF_TARGET_MAP="PLAT=sun55i_a523 DEBUG=1 bl31;;build/sun55i_a523/debu
declare -g ATFBRANCH="branch:a523"
declare -g BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd'
declare -g BOOTDELAY=1
declare -g BOOTSOURCE='https://github.com/jernejsk/u-boot/'
declare -g BOOTSOURCE='https://github.com/u-boot/u-boot.git'
declare -g BOOTPATCHDIR="sunxi-dev-${BOOTPATCHDIR:-"u-boot-a523"}"
declare -g BOOTBRANCH="${BOOTBRANCH:-"branch:a523"}"
declare -g BOOTBRANCH="${BOOTBRANCH:-"branch:master"}"
declare -g BOOTENV_FILE='sunxi.txt'
declare -g UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-BINMAN_ALLOW_MISSING=1;;u-boot-sunxi-with-spl.bin}"
declare -g OVERLAY_DIR="/boot/dtb/allwinner/overlay"
declare -g LINUXFAMILY="sun55iw3"
declare -g LINUXFAMILY="sunxi64"
case "${BRANCH}" in
dev)
declare -g KERNELSOURCE='https://github.com/apritzel/linux'
declare -g KERNELBRANCH='branch:a523-v3'
declare -g KERNEL_MAJOR_MINOR="6.14" # Major and minor versions of this kernel.
KERNELPATCHDIR="archive/sunxi-dev-${KERNEL_MAJOR_MINOR}"
edge)
declare -g KERNEL_MAJOR_MINOR="6.16" # Major and minor versions of this kernel.
declare -g KERNELBRANCH="tag:v6.16"
KERNELPATCHDIR="archive/sunxi-${KERNEL_MAJOR_MINOR}"
;;
esac
family_tweaks() {

View File

@@ -0,0 +1,16 @@
#
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
#
# This file is a part of the Armbian Build Framework
# https://github.com/armbian/build/
#
# Important: LINUXFAMILY and ARCH are defined _before_ including the common family include
declare -g UBOOT_USE_GCC="none"
declare -g UEFI_GRUB_TERMINAL="gfxterm"
declare -g LINUXFAMILY="loong64"
declare -g ARCH="loong64"
# shellcheck source=config/sources/families/include/uefi_common.inc
source "${BASH_SOURCE%/*}/include/uefi_common.inc"
enable_extension "grub"

View File

@@ -0,0 +1,33 @@
#
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
#
# This file is a part of the Armbian Build Framework
# https://github.com/armbian/build/
#
# 'common.conf' is already sourced when this arch is sourced.
declare -g ARCH='loong64'
declare -g ARCHITECTURE='loongarch'
declare -g QEMU_BINARY='qemu-loongarch64-static'
declare -g IMAGE_PARTITION_TABLE='gpt'
declare -g SKIP_EXTERNAL_TOOLCHAINS='yes'
declare -g KERNEL_SRC_ARCH='loongarch'
# Linux root has a different Type-UUID for every architecture
# See https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
declare -g PARTITION_TYPE_UUID_ROOT="77055800-792c-4f94-b39a-98c91b762bb6" # "Linux root (LoongArch 64-bit)"
# Defaults, if not set by board or family.
declare -g KERNEL_IMAGE_TYPE="${KERNEL_IMAGE_TYPE:-"vmlinux"}"
declare -g KERNEL_INSTALL_TYPE="${KERNEL_INSTALL_TYPE:-"install"}"
declare -g NAME_KERNEL="${NAME_KERNEL:-"vmlinux"}"
declare -g NAME_INITRD="${NAME_INITRD:-"initrd.img"}"
[[ -z $KERNEL_COMPILER ]] && KERNEL_COMPILER='loongarch64-linux-gnu-'
[[ -z $UBOOT_COMPILER ]] && UBOOT_COMPILER='loongarch64-linux-gnu-'
[[ -z $KERNEL_USE_GCC ]] && KERNEL_USE_GCC='> 13.0'
[[ -z $UBOOT_USE_GCC ]] && UBOOT_USE_GCC='> 13.0'
true # make sure to exit with 0 status; this protects against shortcircuits etc above.

View File

@@ -7,8 +7,8 @@
# Shared versioning logic for Armbian mainline kernels.
function mainline_kernel_decide_version__upstream_release_candidate_number() {
[[ -n "${KERNELBRANCH}" ]] && return 0 # if already set, don't touch it; that way other hooks can run in any order
if [[ "${KERNEL_MAJOR_MINOR}" == "6.16" ]]; then # @TODO: roll over to next MAJOR.MINOR and MAJOR.MINOR-rc1 when it is released
declare -g KERNELBRANCH="tag:v6.16-rc7"
if [[ "${KERNEL_MAJOR_MINOR}" == "6.17" ]]; then # @TODO: roll over to next MAJOR.MINOR and MAJOR.MINOR-rc1 when it is released
declare -g KERNELBRANCH="tag:v6.17-rc1"
display_alert "mainline-kernel: upstream release candidate" "Using KERNELBRANCH='${KERNELBRANCH}' for KERNEL_MAJOR_MINOR='${KERNEL_MAJOR_MINOR}'" "info"
fi
}

View File

@@ -18,7 +18,7 @@ function post_armbian_repo_customize_image__install_from_apa() {
case ${DESKTOP_ENVIRONMENT^^} in
XFCE|KDE|GNOME)
display_alert "installing ${DESKTOP_ENVIRONMENT^^} desktop environment" "${EXTENSION}: ${DESKTOP_ENVIRONMENT^^}" "info"
chroot_sdcard_apt_get --install-recommends=yes "armbian-desktop-${DESKTOP_ENVIRONMENT,,}"
chroot_sdcard_apt_get install --install-recommends=yes "armbian-desktop-${DESKTOP_ENVIRONMENT,,}"
;;
esac
}

View File

@@ -74,7 +74,7 @@ function pre_install_kernel_debs__adjust_dropbear_configuration() {
}
function post_umount_final_image__export_private_key(){
if [[ $CRYPTROOT_SSH_UNLOCK == yes ]]; then
if [[ $CRYPTROOT_SSH_UNLOCK == yes && -f "${DROPBEAR_DIR}"/id_ecdsa ]]; then
CRYPTROOT_SSH_UNLOCK_KEY_PATH="${DESTIMG}/${version}.key"
# copy dropbear ssh key to image output dir for convenience
cp "${DROPBEAR_DIR}"/id_ecdsa "${CRYPTROOT_SSH_UNLOCK_KEY_PATH}"

View File

@@ -38,11 +38,14 @@ function extension_prepare_config__prepare_grub_standard() {
else
packages+=("grub-efi-${ARCH}")
fi
else
packages+=("grub-efi-${ARCH}")
fi
if [[ "${ARCH}" == "arm64" ]]; then
packages+=("grub-efi-${ARCH}")
declare -g UEFI_GRUB_TARGET="arm64-efi" # Default for arm64-efi
elif [[ "${ARCH}" == "loong64" ]]; then
declare -g UEFI_GRUB_TARGET="loongarch64-efi"
fi
fi

View File

@@ -10,7 +10,7 @@ function extension_finish_config__install_kernel_headers_for_aic8800_dkms() {
function post_install_kernel_debs__install_aic8800_dkms_package() {
if linux-version compare "${KERNEL_MAJOR_MINOR}" ge 6.15; then
if linux-version compare "${KERNEL_MAJOR_MINOR}" ge 6.17; then
display_alert "Kernel version is too recent" "skipping aic8800 dkms for kernel v${KERNEL_MAJOR_MINOR}" "warn"
return 0
fi

27
extensions/yt6801.sh Normal file
View File

@@ -0,0 +1,27 @@
function extension_finish_config__install_kernel_headers_for_yt6801_dkms() {
if [[ "${KERNEL_HAS_WORKING_HEADERS}" != "yes" ]]; then
display_alert "Kernel version has no working headers package" "skipping yt6801 dkms for kernel v${KERNEL_MAJOR_MINOR}" "warn"
return 0
fi
declare -g INSTALL_HEADERS="yes"
display_alert "Forcing INSTALL_HEADERS=yes; for use with yt6801 dkms" "${EXTENSION}" "debug"
}
function post_install_kernel_debs__install_yt6801_dkms_package() {
[[ "${INSTALL_HEADERS}" != "yes" ]] || [[ "${KERNEL_HAS_WORKING_HEADERS}" != "yes" ]] && return 0
api_url="https://api.github.com/repos/amazingfate/yt6801-dkms/releases/latest"
latest_version=$(curl -s "${api_url}" | jq -r '.tag_name')
yt6801_dkms_url="https://github.com/amazingfate/yt6801-dkms/releases/download/${latest_version}/yt6801-dkms_${latest_version}_all.deb"
if [[ "${GITHUB_MIRROR}" == "ghproxy" ]]; then
ghproxy_header="https://ghfast.top/"
yt6801_dkms_url=${ghproxy_header}${yt6801_dkms_url}
fi
yt6801_dkms_file_name=yt6801-dkms_${latest_version}_all.deb
use_clean_environment="yes" chroot_sdcard "wget ${yt6801_dkms_url} -P /tmp"
display_alert "Install yt6801 packages, will build kernel module in chroot" "${EXTENSION}" "info"
declare -ag if_error_find_files_sdcard=("/var/lib/dkms/yt6801*/*/build/*.log")
use_clean_environment="yes" chroot_sdcard_apt_get_install /tmp/${yt6801_dkms_file_name}
use_clean_environment="yes" chroot_sdcard "rm -f /tmp/yt6801*.deb"
}

View File

@@ -202,8 +202,11 @@ function kernel_package_callback_linux_image() {
# @TODO: we expect _all_ kernels to produce this, which is... not true.
declare kernel_pre_package_path="${tmp_kernel_install_dirs[INSTALL_PATH]}"
declare kernel_image_pre_package_path="${kernel_pre_package_path}/vmlinuz-${kernel_version_family}"
declare installed_image_path="boot/vmlinuz-${kernel_version_family}" # using old mkdebian terminology here for compatibility
kernel_image_installed_file_name=$(basename $(ls ${kernel_pre_package_path}/vmlinu*-${kernel_version_family}))
kernel_image_name=${kernel_image_installed_file_name%%-*}
display_alert "linux-image deb packaging kernel_image_name" "${kernel_image_name}" "info"
declare kernel_image_pre_package_path="${kernel_pre_package_path}/${kernel_image_name}-${kernel_version_family}"
declare installed_image_path="boot/${kernel_image_name}-${kernel_version_family}" # using old mkdebian terminology here for compatibility
display_alert "Showing contents of Kbuild produced /boot" "linux-image" "debug"
run_host_command_logged tree -C --du -h "${tmp_kernel_install_dirs[INSTALL_PATH]}"
@@ -262,7 +265,7 @@ function kernel_package_callback_linux_image() {
Maintainer: ${MAINTAINER} <${MAINTAINERMAIL}>
Section: kernel
Priority: optional
Provides: linux-image, linux-image-armbian, armbian-$BRANCH
Provides: linux-image, linux-image-armbian, armbian-$BRANCH, wireguard-modules
Description: Armbian Linux $BRANCH kernel image $kernel_version_family
This package contains the Linux kernel, modules and corresponding other files.
${artifact_version_reason:-"${kernel_version_family}"}
@@ -385,6 +388,7 @@ function kernel_package_callback_linux_headers() {
[[ "${SRC_ARCH}" == "amd64" ]] && SRC_ARCH="x86"
[[ "${SRC_ARCH}" == "armhf" ]] && SRC_ARCH="arm"
[[ "${SRC_ARCH}" == "riscv64" ]] && SRC_ARCH="riscv"
[[ "${SRC_ARCH}" == "loong64" ]] && SRC_ARCH="loongarch"
# @TODO: added KERNEL_SRC_ARCH to each arch'es .config file; let's make sure they're sane. Just use KERNEL_SRC_ARCH after confirmed.
# Lets check and warn if it isn't. If warns don't popup over time we remove and just use ARCHITECTURE later.
if [[ "${SRC_ARCH}" != "${KERNEL_SRC_ARCH}" ]]; then

View File

@@ -210,6 +210,9 @@ driver_rtl8811_rtl8812_rtl8814_rtl8821() {
echo "obj-\$(CONFIG_88XXAU) += rtl8812au/" >> "$kerneldir/drivers/net/wireless/Makefile"
sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8812au\/Kconfig"' \
"$kerneldir/drivers/net/wireless/Kconfig"
# fix compilation for kernels >= 6.16
process_patch_file "${SRC}/patch/misc/wireless-rtl8812au-Fix-6.16.patch" "applying"
fi
}
@@ -220,11 +223,11 @@ driver_xradio_xr819() {
if linux-version compare "${version}" ge 4.19 && [[ "$LINUXFAMILY" == sunxi* ]]; then
# Attach to specific commit (is branch:master)
local xradio_xr819_ver="commit:506fbc323f1c675d037eaf7ee928939394761aee" # Commit date: Dec 6, 2024 (please update when updating commit ref)
local xradio_xr819_ver="commit:684a91a3692a964c5886dcf4369874cc7c19c0a4" # Commit date: Aug 7, 2025 (please update when updating commit ref)
display_alert "Adding" "Wireless drivers for Xradio XR819 chipsets" "info"
fetch_from_repo "$GITHUB_SOURCE/fifteenhex/xradio" "xradio" "${xradio_xr819_ver}" "yes" # https://github.com/fifteenhex/xradio
fetch_from_repo "$GITHUB_SOURCE/igorpecovnik/xradio" "xradio" "${xradio_xr819_ver}" "yes" # Forked from https://github.com/fifteenhex/xradio
cd "$kerneldir" || exit
rm -rf "$kerneldir/drivers/net/wireless/xradio"
mkdir -p "$kerneldir/drivers/net/wireless/xradio/"
@@ -291,6 +294,9 @@ driver_rtl8811CU_rtl8821C() {
echo "obj-\$(CONFIG_RTL8821CU) += rtl8811cu/" >> "$kerneldir/drivers/net/wireless/Makefile"
sed -i '/source "drivers\/net\/wireless\/ti\/Kconfig"/a source "drivers\/net\/wireless\/rtl8811cu\/Kconfig"' \
"$kerneldir/drivers/net/wireless/Kconfig"
# fix compilation for kernels >= 6.16
process_patch_file "${SRC}/patch/misc/wireless-rtl8811cu-Fix-6.16.patch" "applying"
fi
}
@@ -333,6 +339,9 @@ driver_rtl88x2bu() {
sed -i "/source \"drivers\/net\/wireless\/ti\/Kconfig\"/a source \"drivers\/net\/wireless\/rtl88x2bu\/Kconfig\"" \
"$kerneldir/drivers/net/wireless/Kconfig"
# fix compilation for kernels >= 6.16
process_patch_file "${SRC}/patch/misc/wireless-rtl88x2bu-Fix-6.16.patch" "applying"
fi
}

View File

@@ -318,7 +318,8 @@ function do_main_configuration() {
esac
# enable APA extension for Debian Unstable release
[ "$RELEASE" = "sid" ] && enable_extension "apa"
# loong64 is not supported now
[ "$RELEASE" = "sid" ] && [ "$ARCH" != "loong64" ] && enable_extension "apa"
## Extensions: at this point we've sourced all the config files that will be used,
## and (hopefully) not yet invoked any extension methods. So this is the perfect
@@ -370,14 +371,16 @@ function do_extra_configuration() {
fi
DEBIAN_MIRROR='deb.debian.org/debian'
DEBIAN_SECURTY='security.debian.org/'
# loong64 is using debian-ports repo now
[[ "${ARCH}" == "loong64" ]] && DEBIAN_MIRROR='deb.debian.org/debian-ports'
DEBIAN_SECURITY='security.debian.org/'
[[ "${ARCH}" == "amd64" ]] &&
UBUNTU_MIRROR='archive.ubuntu.com/ubuntu/' ||
UBUNTU_MIRROR='ports.ubuntu.com/'
if [[ $DOWNLOAD_MIRROR == "china" ]]; then
DEBIAN_MIRROR='mirrors.tuna.tsinghua.edu.cn/debian'
DEBIAN_SECURTY='mirrors.tuna.tsinghua.edu.cn/debian-security'
DEBIAN_SECURITY='mirrors.tuna.tsinghua.edu.cn/debian-security'
[[ "${ARCH}" == "amd64" ]] &&
UBUNTU_MIRROR='mirrors.tuna.tsinghua.edu.cn/ubuntu/' ||
UBUNTU_MIRROR='mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/'
@@ -385,7 +388,7 @@ function do_extra_configuration() {
if [[ $DOWNLOAD_MIRROR == "bfsu" ]]; then
DEBIAN_MIRROR='mirrors.bfsu.edu.cn/debian'
DEBIAN_SECURTY='mirrors.bfsu.edu.cn/debian-security'
DEBIAN_SECURITY='mirrors.bfsu.edu.cn/debian-security'
[[ "${ARCH}" == "amd64" ]] &&
UBUNTU_MIRROR='mirrors.bfsu.edu.cn/ubuntu/' ||
UBUNTU_MIRROR='mirrors.bfsu.edu.cn/ubuntu-ports/'

View File

@@ -39,6 +39,8 @@ function apt_find_upstream_package_version_and_download_url() {
fi
declare base_down_url="http://${mirror_with_slash}pool/main/${first_letter_of_sought_package_name}/${sought_package_name}"
# loong64 is using debian-ports repo, and download from pool-loong64
[[ "${ARCH}" == "loong64" ]] && declare base_down_url="http://${mirror_with_slash}pool-loong64/main/${first_letter_of_sought_package_name}/${sought_package_name}"
# get json with latest pacakge info generated by GHA
case "${GITHUB_MIRROR}" in

View File

@@ -52,6 +52,11 @@ function run_tool_oras() {
ORAS_ARCH="riscv64"
ORAS_VERSION="1.2.0-beta.1" # Only v1.2.0-beta.1+ has risv64 support
;;
*loongarch64*)
ORAS_ARCH="loong64"
ORAS_VERSION="1.3.0-beta.3-loong64" # Only v1.3.0-beta.3-loong64+ has loong64 support
ORAS_REPO="amazingfate" # This is my fork repo, we can delete it if oras releases official loong64 binary in the future
;;
*)
exit_with_error "unknown arch: $MACHINE"
;;
@@ -59,7 +64,7 @@ function run_tool_oras() {
declare ORAS_FN="oras_${ORAS_VERSION}_${ORAS_OS}_${ORAS_ARCH}"
declare ORAS_FN_TARXZ="${ORAS_FN}.tar.gz"
declare DOWN_URL="${GITHUB_SOURCE:-"https://github.com"}/oras-project/oras/releases/download/v${ORAS_VERSION}/${ORAS_FN_TARXZ}"
declare DOWN_URL="${GITHUB_SOURCE:-"https://github.com"}/${ORAS_REPO:-"oras-project"}/oras/releases/download/v${ORAS_VERSION}/${ORAS_FN_TARXZ}"
declare ORAS_BIN="${DIR_ORAS}/${ORAS_FN}"
declare ACTUAL_VERSION

View File

@@ -92,6 +92,11 @@ function run_tool_shellcheck() {
display_alert "No RISC-V riscv64 support for SHELLCHECK" "SHELLCHECK will not run" "wrn"
return 0
;;
*loongarch64*)
# check https://github.com/koalaman/shellcheck in the future, build might be possible
display_alert "No LoongArch support for SHELLCHECK" "SHELLCHECK will not run" "wrn"
return 0
;;
*)
exit_with_error "unknown arch: $MACHINE"
;;

View File

@@ -593,7 +593,7 @@ function docker_cli_launch() {
local -i docker_build_result
if docker run "${DOCKER_ARGS[@]}" "${DOCKER_ARMBIAN_INITIAL_IMAGE_TAG}" /bin/bash "${DOCKER_ARMBIAN_TARGET_PATH}/compile.sh" "${ARMBIAN_CLI_FINAL_RELAUNCH_ARGS[@]}"; then
docker_build_result=$? # capture exit code of test done in the line above.
display_alert "-------------Docker run finished after ${SECONDS}s------------------------" "🐳 successfull" "info"
display_alert "-------------Docker run finished after ${SECONDS}s------------------------" "🐳 successful" "info"
else
docker_build_result=$? # capture exit code of test done 4 lines above.
# No use polluting GHA/CI with notices about Docker failure (real failure, inside Docker, generated enough errors already) skip_ci_special="yes"

View File

@@ -18,7 +18,7 @@ function obtain_and_check_host_release_and_arch() {
case "${HOSTARCH}" in
amd64 | arm64) ;; # officially supported
armhf | riscv64) # experimental
armhf | riscv64 | loong64) # experimental
display_alert "EXPERIMENTAL build host support" "${HOSTARCH}" "wrn"
;;
*)

View File

@@ -266,7 +266,11 @@ function adaptative_prepare_host_dependencies() {
if [[ "${wanted_arch}" == "riscv64" || "${wanted_arch}" == "all" ]]; then
host_dependencies+=("gcc-riscv64-linux-gnu") # crossbuild-essential-riscv64 is not even available "yet"
host_dependencies+=("debian-archive-keyring")
fi
if [[ "${wanted_arch}" == "loong64" ]]; then
host_dependencies+=("gcc-loongarch64-linux-gnu") # crossbuild-essential-loongarch64 is not even available "yet"
host_dependencies+=("debian-ports-archive-keyring")
fi
if [[ "${wanted_arch}" != "amd64" ]]; then

View File

@@ -132,4 +132,4 @@ function extract_rootfs_artifact() {
}
# This comment strategically introduced to force a rebuild of all rootfs, as this file's contents are hashed into all rootfs versions.
# Just a number to force rebuild 004
# Just a number to force rebuild 005

View File

@@ -296,6 +296,7 @@ function install_distribution_agnostic() {
if [[ "${KERNEL_HAS_WORKING_HEADERS:-"no"}" == "yes" ]]; then
if [[ $INSTALL_HEADERS == yes ]]; then # @TODO remove? might be a good idea to always install headers.
chroot_sdcard_apt_get_install "pahole"
install_artifact_deb_chroot "linux-headers"
fi
fi

View File

@@ -89,17 +89,13 @@ function create_sources_list_and_deploy_repo_key() {
distro="debian"
declare -a suites=("${release}" "${release}-updates")
declare -a security_suites=("${release}-security")
declare -a components=(main contrib non-free)
if [[ "$release" == "buster" ]]; then
security_suites=("${release}/updates")
else
suites+=("${release}-backports")
fi
if [[ "$release" != "buster" && "$release" != "bullseye" ]]; then
components+=("non-free-firmware")
# EOS releases doesn't get security updates
declare -a security_suites=("${release}-security")
suites+=("${release}-backports")
components+=("non-free-firmware")
fi
cat <<- EOF > "${basedir}/etc/apt/sources.list.d/${distro}.sources"
@@ -108,25 +104,36 @@ function create_sources_list_and_deploy_repo_key() {
Suites: ${suites[@]}
Components: ${components[@]}
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: http://${DEBIAN_SECURTY}
Suites: ${security_suites[@]}
Components: ${components[@]}
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
if [ ${#security_suites[@]} -gt 0 ]; then
echo "" >> "${basedir}/etc/apt/sources.list.d/${distro}.sources" # it breaks if there is no line space in between
cat <<- EOF >> "${basedir}/etc/apt/sources.list.d/${distro}.sources"
Types: deb
URIs: http://${DEBIAN_SECURITY}
Suites: ${security_suites[@]}
Components: ${components[@]}
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
fi
;;
sid | unstable)
distro="debian"
if [[ "${ARCH}" == loong64 ]]; then
# loong64 is using debian-ports repo, we can change it to default after debian supports it officially
keyring_filename=/usr/share/keyrings/debian-ports-archive-keyring.gpg
else
keyring_filename=/usr/share/keyrings/debian-archive-keyring.gpg
fi
# sid is permanent unstable development and has no such thing as updates or security
cat <<- EOF > "${basedir}/etc/apt/sources.list.d/${distro}.sources"
Types: deb
URIs: http://${DEBIAN_MIRROR}
Suites: ${release}
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Signed-By: ${keyring_filename}
EOF
# Required for some packages on riscv64.

View File

@@ -98,6 +98,8 @@ function create_new_rootfs_cache_via_debootstrap() {
"'--components=${AGGREGATED_DEBOOTSTRAP_COMPONENTS_COMMA}'" # from aggregation.py
)
# This is necessary to debootstrap from a non-official repo
[[ $ARCH == loong64 ]] && deboostrap_arguments+=("--keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg")
# Small detour for local apt caching option.
local_apt_deb_cache_prepare "before debootstrap" # sets LOCAL_APT_CACHE_INFO
if [[ "${LOCAL_APT_CACHE_INFO[USE]}" == "yes" ]]; then

View File

@@ -0,0 +1,23 @@
#!/bin/bash
set -e
# HW Reset
if ! hciattach -r -s 1500000 /dev/ttyS1 any 1500000 flow nosleep > /dev/null 2>&1; then
echo "Failed to reset HCI device" >&2
exit 1
fi
# Kill process using device
sleep .50
pkill -f "/dev/ttyS1" || true
# Attach Bluetooth HCI UART
sleep .50
if ! hciattach -s 1500000 /dev/ttyS1 any 1500000 flow nosleep > /dev/null 2>&1; then
echo "Failed to attach HCI device" >&2
exit 1
fi
rfkill unblock all
exit 0

View File

@@ -0,0 +1,13 @@
[Unit]
Description=AIC8800 Bluetooth
After=bluetooth.service bluetooth.target
Requires=bluetooth.service bluetooth.target
[Service]
Type=idle
ExecStartPre=/usr/sbin/rfkill unblock all
ExecStart=/usr/bin/aic-bluetooth
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

View File

@@ -587,7 +587,7 @@ add_user() {
# download and add SSH key if defined
if [[ -n "${PRESET_USER_KEY}" ]]; then
mkdir -p /home/"$RealUserName"/.ssh/
curl --retry 5 --connect-timeout 3 "${PRESET_ROOT_KEY}" > /home/"$RealUserName"/.ssh/authorized_keys 2> /dev/null
curl --retry 5 --connect-timeout 3 "${PRESET_USER_KEY}" > /home/"$RealUserName"/.ssh/authorized_keys 2> /dev/null
chown -R "$RealUserName":"$RealUserName" /home/"$RealUserName"/.ssh/
fi

View File

@@ -1,18 +1,18 @@
From 17f6e064d93013f2aaca40e9f44bf2c5b45652eb Mon Sep 17 00:00:00 2001
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martin Schmiedel <martin.schmiedel@tq-group.com>
Date: Thu, 5 Jun 2025 13:11:40 +0200
Subject: [PATCH] TQMa8MPXL LDO5 Fix
Subject: TQMa8MPXL LDO5 Fix
Signed-off-by: Martin Schmiedel <martin.schmiedel@tq-group.com>
Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
---
.../imx8mp-tqma8mpql-mba8mp-ras314.dts | 13 ++---
.../freescale/imx8mp-tqma8mpql-mba8mpxl.dts | 13 ++---
.../boot/dts/freescale/imx8mp-tqma8mpql.dtsi | 48 +++++++++++++++----
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts | 13 +--
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts | 13 +--
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi | 48 ++++++++--
3 files changed, 53 insertions(+), 21 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
index d7fd9d36f824..f7346b3d35fe 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314.dts
@@ -467,6 +467,10 @@ &pwm4 {
@@ -57,7 +57,7 @@ index d7fd9d36f824..f7346b3d35fe 100644
pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
index ae64731266f3..e7c16a7ee6c2 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
@@ -603,6 +603,10 @@ &pwm3 {
@@ -102,7 +102,7 @@ index ae64731266f3..e7c16a7ee6c2 100644
pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi
index 3ddc5aaa7c5f..05a518209b59 100644
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi
@@ -16,13 +16,26 @@ memory@40000000 {
@@ -255,5 +255,5 @@ index 3ddc5aaa7c5f..05a518209b59 100644
fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>,
<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>,
--
2.43.0
Armbian

View File

@@ -0,0 +1,36 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martin Schmiedel <martin.schmiedel@tq-group.com>
Date: Mon, 4 Aug 2025 10:02:56 +0200
Subject: TQMa8MPXL: build device-tree overlays
Signed-off-by: Martin Schmiedel <martin.schmiedel@tq-group.com>
---
arch/arm64/boot/dts/freescale/Makefile | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -209,6 +209,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds-g133han01.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-lvds.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-lvds-imx219.dtb
+# build device-tree overlays
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds-g133han01.dtbo
+dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtbo
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
dtb-$(CONFIG_ARCH_MXC) += imx8mq-hummingboard-pulse.dtb
@@ -293,3 +297,7 @@ dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
dtb-$(CONFIG_ARCH_S32) += s32g399a-rdb3.dtb
dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb
+
+# Enable support for device-tree overlays
+DTC_FLAGS_imx8mp-tqma8mpql-mba8mpxl += -@
+DTC_FLAGS_imx8mp-tqma8mpql-mba8mp-ras314 += -@
--
Armbian

View File

@@ -75,47 +75,3 @@ index 111111111111..222222222222 100644
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@armbian.com>
Date: Sun, 8 Sep 2024 05:55:13 -0400
Subject: BananaPi CM4: improve SDIO WiFi speeds
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
---
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
@@ -303,8 +303,10 @@ &sd_emmc_a {
#size-cells = <0>;
bus-width = <4>;
+ cap-sd-highspeed;
+ sd-uhs-sdr50;
sd-uhs-sdr104;
- max-frequency = <50000000>;
+ max-frequency = <100000000>;
non-removable;
disable-wp;
@@ -312,10 +314,13 @@ &sd_emmc_a {
/* WiFi firmware requires power in suspend */
keep-power-in-suspend;
+ /* Removing quirk improves WiFi performance */
+ /delete-property/ amlogic,dram-access-quirk;
+
mmc-pwrseq = <&sdio_pwrseq>;
vmmc-supply = <&vddao_3v3>;
- vqmmc-supply = <&vddao_3v3>;
+ vqmmc-supply = <&vddao_1v8>;
status = "okay";
--
Armbian

View File

@@ -23,7 +23,6 @@ dtbo-$(CONFIG_ARCH_MESON) += \
meson-g12a-radxa-zero-uart-ee-c.dtbo \
meson-g12b-bananapi-cm4-i2c2.dtbo \
meson-g12b-bananapi-cm4-pwm-gpioh-5-fan.dtbo \
meson-g12b-bananapi-cm4-wifi-freq-200mhz.dtbo \
meson-g12b-bananapi-m2s-rtl8822cs.dtbo \
meson-g12b-odroid-n2-spi.dtbo \
meson-g12b-waveshare-cm4-io-base-usb.dtbo \

View File

@@ -1,22 +0,0 @@
/dts-v1/;
/plugin/;
/ {
compatible = "bananapi,bpi-cm4io", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b";
fragment@0 {
target-path = "/";
__overlay__ {
sdio-pwrseq {
post-power-on-delay-ms = <200>;
};
};
};
fragment@1 {
target = <&sd_emmc_a>;
__overlay__ {
max-frequency = <200000000>;
};
};
};

View File

@@ -75,47 +75,3 @@ index 111111111111..222222222222 100644
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Patrick Yavitz <pyavitz@armbian.com>
Date: Sun, 8 Sep 2024 05:55:13 -0400
Subject: BananaPi CM4: improve SDIO WiFi speeds
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
---
arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
index 111111111111..222222222222 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
@@ -299,8 +299,10 @@ &sd_emmc_a {
#size-cells = <0>;
bus-width = <4>;
+ cap-sd-highspeed;
+ sd-uhs-sdr50;
sd-uhs-sdr104;
- max-frequency = <50000000>;
+ max-frequency = <100000000>;
non-removable;
disable-wp;
@@ -308,10 +310,13 @@ &sd_emmc_a {
/* WiFi firmware requires power in suspend */
keep-power-in-suspend;
+ /* Removing quirk improves WiFi performance */
+ /delete-property/ amlogic,dram-access-quirk;
+
mmc-pwrseq = <&sdio_pwrseq>;
vmmc-supply = <&vddao_3v3>;
- vqmmc-supply = <&vddao_3v3>;
+ vqmmc-supply = <&vddao_1v8>;
status = "okay";
--
Armbian

View File

@@ -23,7 +23,6 @@ dtbo-$(CONFIG_ARCH_MESON) += \
meson-g12a-radxa-zero-uart-ee-c.dtbo \
meson-g12b-bananapi-cm4-i2c2.dtbo \
meson-g12b-bananapi-cm4-pwm-gpioh-5-fan.dtbo \
meson-g12b-bananapi-cm4-wifi-freq-200mhz.dtbo \
meson-g12b-bananapi-m2s-rtl8822cs.dtbo \
meson-g12b-odroid-n2-spi.dtbo \
meson-g12b-waveshare-cm4-io-base-usb.dtbo \

View File

@@ -1,22 +0,0 @@
/dts-v1/;
/plugin/;
/ {
compatible = "bananapi,bpi-cm4io", "bananapi,bpi-cm4", "amlogic,a311d", "amlogic,g12b";
fragment@0 {
target-path = "/";
__overlay__ {
sdio-pwrseq {
post-power-on-delay-ms = <200>;
};
};
};
fragment@1 {
target = <&sd_emmc_a>;
__overlay__ {
max-frequency = <200000000>;
};
};
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
diff --git a/Makefile b/Makefile
index 9d5c08363637bd..0bb5c23c640616 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 6
-SUBLEVEL = 97
+SUBLEVEL = 98
EXTRAVERSION =
NAME = Pinguïn Aangedreven
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 1180689a239037..f6690df70b43ea 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -547,6 +547,7 @@ static bool amd_check_tsa_microcode(void)
p.ext_fam = c->x86 - 0xf;
p.model = c->x86_model;
+ p.ext_model = c->x86_model >> 4;
p.stepping = c->x86_stepping;
if (cpu_has(c, X86_FEATURE_ZEN3) ||

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,659 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 6 Jul 2020 21:54:35 +0000
Subject: [PATCH] media: v4l2-common: Add helpers to calculate bytesperline and
sizeimage
Add helper functions to calculate plane bytesperline and sizeimage, these
new helpers consider block width and height when calculating plane
bytesperline and sizeimage.
This prepare support for new pixel formats added in next patch that make
use of block width and height.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/media/v4l2-core/v4l2-common.c | 77 +++++++++++++--------------
1 file changed, 38 insertions(+), 39 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
index e0fbe6ba4b6c..cb2f1acab7cf 100644
--- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -338,6 +338,33 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf
return info->block_h[plane];
}
+static inline unsigned int v4l2_format_plane_width(const struct v4l2_format_info *info, int plane,
+ unsigned int width)
+{
+ unsigned int hdiv = plane ? info->hdiv : 1;
+ unsigned int bytes = DIV_ROUND_UP(width * info->bpp[plane],
+ v4l2_format_block_width(info, plane) *
+ v4l2_format_block_height(info, plane));
+
+ return DIV_ROUND_UP(bytes, hdiv);
+}
+
+static inline unsigned int v4l2_format_plane_height(const struct v4l2_format_info *info, int plane,
+ unsigned int height)
+{
+ unsigned int vdiv = plane ? info->vdiv : 1;
+ unsigned int lines = ALIGN(height, v4l2_format_block_height(info, plane));
+
+ return DIV_ROUND_UP(lines, vdiv);
+}
+
+static inline unsigned int v4l2_format_plane_size(const struct v4l2_format_info *info, int plane,
+ unsigned int width, unsigned int height)
+{
+ return v4l2_format_plane_width(info, plane, width) *
+ v4l2_format_plane_height(info, plane, height);
+}
+
void v4l2_apply_frmsize_constraints(u32 *width, u32 *height,
const struct v4l2_frmsize_stepwise *frmsize)
{
@@ -373,37 +400,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt,
if (info->mem_planes == 1) {
plane = &pixfmt->plane_fmt[0];
- plane->bytesperline = ALIGN(width, v4l2_format_block_width(info, 0)) * info->bpp[0] / info->bpp_div[0];
+ plane->bytesperline = v4l2_format_plane_width(info, 0, width);
plane->sizeimage = 0;
- for (i = 0; i < info->comp_planes; i++) {
- unsigned int hdiv = (i == 0) ? 1 : info->hdiv;
- unsigned int vdiv = (i == 0) ? 1 : info->vdiv;
- unsigned int aligned_width;
- unsigned int aligned_height;
-
- aligned_width = ALIGN(width, v4l2_format_block_width(info, i));
- aligned_height = ALIGN(height, v4l2_format_block_height(info, i));
-
- plane->sizeimage += info->bpp[i] *
- DIV_ROUND_UP(aligned_width, hdiv) *
- DIV_ROUND_UP(aligned_height, vdiv) / info->bpp_div[i];
- }
+ for (i = 0; i < info->comp_planes; i++)
+ plane->sizeimage +=
+ v4l2_format_plane_size(info, i, width, height);
} else {
for (i = 0; i < info->comp_planes; i++) {
- unsigned int hdiv = (i == 0) ? 1 : info->hdiv;
- unsigned int vdiv = (i == 0) ? 1 : info->vdiv;
- unsigned int aligned_width;
- unsigned int aligned_height;
-
- aligned_width = ALIGN(width, v4l2_format_block_width(info, i));
- aligned_height = ALIGN(height, v4l2_format_block_height(info, i));
-
plane = &pixfmt->plane_fmt[i];
plane->bytesperline =
- info->bpp[i] * DIV_ROUND_UP(aligned_width, hdiv) / info->bpp_div[i];
- plane->sizeimage =
- plane->bytesperline * DIV_ROUND_UP(aligned_height, vdiv);
+ v4l2_format_plane_width(info, i, width);
+ plane->sizeimage = plane->bytesperline *
+ v4l2_format_plane_height(info, i, height);
}
}
return 0;
@@ -427,22 +436,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat,
pixfmt->width = width;
pixfmt->height = height;
pixfmt->pixelformat = pixelformat;
- pixfmt->bytesperline = ALIGN(width, v4l2_format_block_width(info, 0)) * info->bpp[0] / info->bpp_div[0];
+ pixfmt->bytesperline = v4l2_format_plane_width(info, 0, width);
pixfmt->sizeimage = 0;
- for (i = 0; i < info->comp_planes; i++) {
- unsigned int hdiv = (i == 0) ? 1 : info->hdiv;
- unsigned int vdiv = (i == 0) ? 1 : info->vdiv;
- unsigned int aligned_width;
- unsigned int aligned_height;
-
- aligned_width = ALIGN(width, v4l2_format_block_width(info, i));
- aligned_height = ALIGN(height, v4l2_format_block_height(info, i));
-
- pixfmt->sizeimage += info->bpp[i] *
- DIV_ROUND_UP(aligned_width, hdiv) *
- DIV_ROUND_UP(aligned_height, vdiv) / info->bpp_div[i];
- }
+ for (i = 0; i < info->comp_planes; i++)
+ pixfmt->sizeimage +=
+ v4l2_format_plane_size(info, i, width, height);
return 0;
}
EXPORT_SYMBOL_GPL(v4l2_fill_pixfmt);
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 6 Jul 2020 21:54:36 +0000
Subject: [PATCH] media: v4l2: Add NV15 and NV20 pixel formats
Add NV15 and NV20 pixel formats used by the Rockchip Video Decoder for
10-bit buffers.
NV15 and NV20 is a packed 10-bit 4:2:0/4:2:2 semi-planar Y/UV format
similar to P010 and P210 but has no padding between components. Instead,
luminance and chrominance samples are grouped into 4s so that each group is
packed into an integer number of bytes:
YYYY = UVUV = 4 * 10 bits = 40 bits = 5 bytes
The '15' and '20' suffix refers to the optimum effective bits per pixel
which is achieved when the total number of luminance samples is a multiple
of 8 for NV15 and 4 for NV20.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/media/v4l2-core/v4l2-common.c | 3 +++
drivers/media/v4l2-core/v4l2-ioctl.c | 2 ++
include/uapi/linux/videodev2.h | 3 +++
3 files changed, 8 insertions(+)
diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
index cb2f1acab7cf..8446a1deffd8 100644
--- a/drivers/media/v4l2-core/v4l2-common.c
+++ b/drivers/media/v4l2-core/v4l2-common.c
@@ -268,6 +268,9 @@ const struct v4l2_format_info *v4l2_format_info(u32 format)
{ .format = V4L2_PIX_FMT_NV42, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 1, .vdiv = 1 },
{ .format = V4L2_PIX_FMT_P010, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 2, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_NV15, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2, .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } },
+ { .format = V4L2_PIX_FMT_NV20, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1, .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } },
+
{ .format = V4L2_PIX_FMT_YUV410, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 4, .vdiv = 4 },
{ .format = V4L2_PIX_FMT_YVU410, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 4, .vdiv = 4 },
{ .format = V4L2_PIX_FMT_YUV411P, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 3, .bpp = { 1, 1, 1, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 4, .vdiv = 1 },
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
index e6fd355a2e92..24771edaa4f2 100644
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
@@ -1354,6 +1354,8 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
case V4L2_PIX_FMT_NV42: descr = "Y/VU 4:4:4"; break;
case V4L2_PIX_FMT_P010: descr = "10-bit Y/UV 4:2:0"; break;
case V4L2_PIX_FMT_P012: descr = "12-bit Y/UV 4:2:0"; break;
+ case V4L2_PIX_FMT_NV15: descr = "10-bit Y/UV 4:2:0 (Packed)"; break;
+ case V4L2_PIX_FMT_NV20: descr = "10-bit Y/UV 4:2:2 (Packed)"; break;
case V4L2_PIX_FMT_NV12_4L4: descr = "Y/UV 4:2:0 (4x4 Linear)"; break;
case V4L2_PIX_FMT_NV12_16L16: descr = "Y/UV 4:2:0 (16x16 Linear)"; break;
case V4L2_PIX_FMT_NV12_32L32: descr = "Y/UV 4:2:0 (32x32 Linear)"; break;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 01e630f2ec78..cea44992aea3 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -628,6 +628,9 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/VU 4:4:4 */
#define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/UV 4:2:0 10-bit per component */
+#define V4L2_PIX_FMT_NV15 v4l2_fourcc('N', 'V', '1', '5') /* 15 Y/UV 4:2:0 10-bit packed */
+#define V4L2_PIX_FMT_NV20 v4l2_fourcc('N', 'V', '2', '0') /* 20 Y/UV 4:2:2 10-bit packed */
+
/* two non contiguous planes - one Y, one Cr + Cb interleaved */
#define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/UV 4:2:0 */
#define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') /* 21 Y/VU 4:2:0 */
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 6 Jul 2020 21:54:36 +0000
Subject: [PATCH] media: rkvdec: h264: Use bytesperline and buffer height to
calculate stride
Use bytesperline and buffer height to calculate the strides configured.
This does not really change anything other than ensuring the bytesperline
that is signaled to userspace matches what is configured in HW.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/staging/media/rkvdec/rkvdec-h264.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index 4fc167b42cf0..a8635105e387 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -896,9 +896,9 @@ static void config_registers(struct rkvdec_ctx *ctx,
dma_addr_t rlc_addr;
dma_addr_t refer_addr;
u32 rlc_len;
- u32 hor_virstride = 0;
- u32 ver_virstride = 0;
- u32 y_virstride = 0;
+ u32 hor_virstride;
+ u32 ver_virstride;
+ u32 y_virstride;
u32 yuv_virstride = 0;
u32 offset;
dma_addr_t dst_addr;
@@ -909,8 +909,8 @@ static void config_registers(struct rkvdec_ctx *ctx,
f = &ctx->decoded_fmt;
dst_fmt = &f->fmt.pix_mp;
- hor_virstride = (sps->bit_depth_luma_minus8 + 8) * dst_fmt->width / 8;
- ver_virstride = round_up(dst_fmt->height, 16);
+ hor_virstride = dst_fmt->plane_fmt[0].bytesperline;
+ ver_virstride = dst_fmt->height;
y_virstride = hor_virstride * ver_virstride;
if (sps->chroma_format_idc == 0)
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 6 Jul 2020 21:54:37 +0000
Subject: [PATCH] media: rkvdec: Extract rkvdec_fill_decoded_pixfmt helper
method
This extract setting decoded pixfmt into a helper method, current code is
replaced with a call to the new helper method.
The helper method is also called from a new function in next patch.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/staging/media/rkvdec/rkvdec.c | 29 ++++++++++++++-------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 7bab7586918c..40cc791aef26 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -27,6 +27,17 @@
#include "rkvdec.h"
#include "rkvdec-regs.h"
+static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
+ struct v4l2_pix_format_mplane *pix_mp)
+{
+ v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
+ pix_mp->width, pix_mp->height);
+ pix_mp->plane_fmt[0].sizeimage += 128 *
+ DIV_ROUND_UP(pix_mp->width, 16) *
+ DIV_ROUND_UP(pix_mp->height, 16);
+ pix_mp->field = V4L2_FIELD_NONE;
+}
+
static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
{
struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
@@ -192,13 +203,9 @@ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
- v4l2_fill_pixfmt_mp(&f->fmt.pix_mp,
- ctx->coded_fmt_desc->decoded_fmts[0],
- ctx->coded_fmt.fmt.pix_mp.width,
- ctx->coded_fmt.fmt.pix_mp.height);
- f->fmt.pix_mp.plane_fmt[0].sizeimage += 128 *
- DIV_ROUND_UP(f->fmt.pix_mp.width, 16) *
- DIV_ROUND_UP(f->fmt.pix_mp.height, 16);
+ f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
+ f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height;
+ rkvdec_fill_decoded_pixfmt(ctx, &f->fmt.pix_mp);
}
static int rkvdec_enum_framesizes(struct file *file, void *priv,
@@ -264,13 +271,7 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
&pix_mp->height,
&coded_desc->frmsize);
- v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
- pix_mp->width, pix_mp->height);
- pix_mp->plane_fmt[0].sizeimage +=
- 128 *
- DIV_ROUND_UP(pix_mp->width, 16) *
- DIV_ROUND_UP(pix_mp->height, 16);
- pix_mp->field = V4L2_FIELD_NONE;
+ rkvdec_fill_decoded_pixfmt(ctx, pix_mp);
return 0;
}
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 6 Jul 2020 21:54:37 +0000
Subject: [PATCH] media: rkvdec: Lock capture pixel format in s_ctrl and s_fmt
Add an optional valid_fmt operation that should return the valid
pixelformat of CAPTURE buffers.
This is used in next patch to ensure correct pixelformat is used for 10-bit
and 4:2:2 content.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/staging/media/rkvdec/rkvdec.c | 67 +++++++++++++++++++++++----
drivers/staging/media/rkvdec/rkvdec.h | 2 +
2 files changed, 61 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index 40cc791aef26..e93e1cb0f829 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -38,19 +38,56 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
pix_mp->field = V4L2_FIELD_NONE;
}
+static u32 rkvdec_valid_fmt(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
+{
+ const struct rkvdec_coded_fmt_desc *coded_desc = ctx->coded_fmt_desc;
+
+ if (coded_desc->ops->valid_fmt)
+ return coded_desc->ops->valid_fmt(ctx, ctrl);
+
+ return ctx->valid_fmt;
+}
+
static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
{
struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
- if (desc->ops->try_ctrl)
- return desc->ops->try_ctrl(ctx, ctrl);
+ if (desc->ops->try_ctrl) {
+ int ret;
+ ret = desc->ops->try_ctrl(ctx, ctrl);
+ if (ret)
+ return ret;
+ }
+
+ if (ctx->valid_fmt && ctx->valid_fmt != rkvdec_valid_fmt(ctx, ctrl))
+ /* Only current valid format */
+ return -EINVAL;
+
+ return 0;
+}
+
+static int rkvdec_s_ctrl(struct v4l2_ctrl *ctrl)
+{
+ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
+
+ if (ctrl->id == V4L2_CID_STATELESS_H264_SPS && !ctx->valid_fmt) {
+ ctx->valid_fmt = rkvdec_valid_fmt(ctx, ctrl);
+ if (ctx->valid_fmt) {
+ struct v4l2_pix_format_mplane *pix_mp;
+
+ pix_mp = &ctx->decoded_fmt.fmt.pix_mp;
+ pix_mp->pixelformat = ctx->valid_fmt;
+ rkvdec_fill_decoded_pixfmt(ctx, pix_mp);
+ }
+ }
return 0;
}
static const struct v4l2_ctrl_ops rkvdec_ctrl_ops = {
.try_ctrl = rkvdec_try_ctrl,
+ .s_ctrl = rkvdec_s_ctrl,
};
static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = {
@@ -201,6 +238,7 @@ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
{
struct v4l2_format *f = &ctx->decoded_fmt;
+ ctx->valid_fmt = 0;
rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
@@ -256,13 +294,17 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
if (WARN_ON(!coded_desc))
return -EINVAL;
- for (i = 0; i < coded_desc->num_decoded_fmts; i++) {
- if (coded_desc->decoded_fmts[i] == pix_mp->pixelformat)
- break;
- }
+ if (ctx->valid_fmt) {
+ pix_mp->pixelformat = ctx->valid_fmt;
+ } else {
+ for (i = 0; i < coded_desc->num_decoded_fmts; i++) {
+ if (coded_desc->decoded_fmts[i] == pix_mp->pixelformat)
+ break;
+ }
- if (i == coded_desc->num_decoded_fmts)
- pix_mp->pixelformat = coded_desc->decoded_fmts[0];
+ if (i == coded_desc->num_decoded_fmts)
+ pix_mp->pixelformat = coded_desc->decoded_fmts[0];
+ }
/* Always apply the frmsize constraint of the coded end. */
pix_mp->width = max(pix_mp->width, ctx->coded_fmt.fmt.pix_mp.width);
@@ -326,6 +368,7 @@ static int rkvdec_s_capture_fmt(struct file *file, void *priv,
return ret;
ctx->decoded_fmt = *f;
+ ctx->valid_fmt = f->fmt.pix_mp.pixelformat;
return 0;
}
@@ -429,6 +472,14 @@ static int rkvdec_enum_capture_fmt(struct file *file, void *priv,
if (WARN_ON(!ctx->coded_fmt_desc))
return -EINVAL;
+ if (ctx->valid_fmt) {
+ if (f->index)
+ return -EINVAL;
+
+ f->pixelformat = ctx->valid_fmt;
+ return 0;
+ }
+
if (f->index >= ctx->coded_fmt_desc->num_decoded_fmts)
return -EINVAL;
diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
index 633335ebb9c4..b9e219438bc9 100644
--- a/drivers/staging/media/rkvdec/rkvdec.h
+++ b/drivers/staging/media/rkvdec/rkvdec.h
@@ -66,6 +66,7 @@ vb2_to_rkvdec_decoded_buf(struct vb2_buffer *buf)
struct rkvdec_coded_fmt_ops {
int (*adjust_fmt)(struct rkvdec_ctx *ctx,
struct v4l2_format *f);
+ u32 (*valid_fmt)(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
int (*start)(struct rkvdec_ctx *ctx);
void (*stop)(struct rkvdec_ctx *ctx);
int (*run)(struct rkvdec_ctx *ctx);
@@ -101,6 +102,7 @@ struct rkvdec_ctx {
struct v4l2_fh fh;
struct v4l2_format coded_fmt;
struct v4l2_format decoded_fmt;
+ u32 valid_fmt;
const struct rkvdec_coded_fmt_desc *coded_fmt_desc;
struct v4l2_ctrl_handler ctrl_hdl;
struct rkvdec_dev *dev;
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Mon, 6 Jul 2020 21:54:37 +0000
Subject: [PATCH] media: rkvdec: h264: Support High 10 and 4:2:2 profiles
Add support and enable decoding of H264 High 10 and 4:2:2 profiles.
Decoded CAPTURE buffer width is aligned to 64 pixels to accommodate HW
requirement on 10-bit format buffers.
The new valid_fmt operation is implemented and return a valid pixelformat
for the provided SPS control.
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
drivers/staging/media/rkvdec/rkvdec-h264.c | 33 ++++++++++++++++------
drivers/staging/media/rkvdec/rkvdec.c | 19 +++++++++----
2 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index a8635105e387..0069d3d198db 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -1031,19 +1031,14 @@ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx,
{
unsigned int width, height;
- /*
- * TODO: The hardware supports 10-bit and 4:2:2 profiles,
- * but it's currently broken in the driver.
- * Reject them for now, until it's fixed.
- */
- if (sps->chroma_format_idc > 1)
- /* Only 4:0:0 and 4:2:0 are supported */
+ if (sps->chroma_format_idc > 2)
+ /* Only 4:0:0, 4:2:0 and 4:2:2 are supported */
return -EINVAL;
if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8)
/* Luma and chroma bit depth mismatch */
return -EINVAL;
- if (sps->bit_depth_luma_minus8 != 0)
- /* Only 8-bit is supported */
+ if (sps->bit_depth_luma_minus8 != 0 && sps->bit_depth_luma_minus8 != 2)
+ /* Only 8-bit and 10-bit is supported */
return -EINVAL;
width = (sps->pic_width_in_mbs_minus1 + 1) * 16;
@@ -1064,6 +1059,25 @@ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx,
return 0;
}
+static u32 rkvdec_h264_valid_fmt(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
+{
+ const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p_h264_sps;
+
+ if (sps->bit_depth_luma_minus8 == 0) {
+ if (sps->chroma_format_idc == 2)
+ return V4L2_PIX_FMT_NV16;
+ else
+ return V4L2_PIX_FMT_NV12;
+ } else if (sps->bit_depth_luma_minus8 == 2) {
+ if (sps->chroma_format_idc == 2)
+ return V4L2_PIX_FMT_NV20;
+ else
+ return V4L2_PIX_FMT_NV15;
+ }
+
+ return 0;
+}
+
static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
{
struct rkvdec_dev *rkvdec = ctx->dev;
@@ -1185,6 +1199,7 @@ static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl)
const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops = {
.adjust_fmt = rkvdec_h264_adjust_fmt,
+ .valid_fmt = rkvdec_h264_valid_fmt,
.start = rkvdec_h264_start,
.stop = rkvdec_h264_stop,
.run = rkvdec_h264_run,
diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
index e93e1cb0f829..4f5436c89e08 100644
--- a/drivers/staging/media/rkvdec/rkvdec.c
+++ b/drivers/staging/media/rkvdec/rkvdec.c
@@ -31,7 +31,7 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
struct v4l2_pix_format_mplane *pix_mp)
{
v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
- pix_mp->width, pix_mp->height);
+ ALIGN(pix_mp->width, 64), pix_mp->height);
pix_mp->plane_fmt[0].sizeimage += 128 *
DIV_ROUND_UP(pix_mp->width, 16) *
DIV_ROUND_UP(pix_mp->height, 16);
@@ -136,8 +136,11 @@ static const struct rkvdec_ctrls rkvdec_h264_ctrls = {
.num_ctrls = ARRAY_SIZE(rkvdec_h264_ctrl_descs),
};
-static const u32 rkvdec_h264_vp9_decoded_fmts[] = {
+static const u32 rkvdec_h264_decoded_fmts[] = {
V4L2_PIX_FMT_NV12,
+ V4L2_PIX_FMT_NV15,
+ V4L2_PIX_FMT_NV16,
+ V4L2_PIX_FMT_NV20,
};
static const struct rkvdec_ctrl_desc rkvdec_vp9_ctrl_descs[] = {
@@ -160,6 +163,10 @@ static const struct rkvdec_ctrls rkvdec_vp9_ctrls = {
.num_ctrls = ARRAY_SIZE(rkvdec_vp9_ctrl_descs),
};
+static const u32 rkvdec_vp9_decoded_fmts[] = {
+ V4L2_PIX_FMT_NV12,
+};
+
static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = {
{
.fourcc = V4L2_PIX_FMT_H264_SLICE,
@@ -173,8 +180,8 @@ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = {
},
.ctrls = &rkvdec_h264_ctrls,
.ops = &rkvdec_h264_fmt_ops,
- .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_vp9_decoded_fmts),
- .decoded_fmts = rkvdec_h264_vp9_decoded_fmts,
+ .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_decoded_fmts),
+ .decoded_fmts = rkvdec_h264_decoded_fmts,
.subsystem_flags = VB2_V4L2_FL_SUPPORTS_M2M_HOLD_CAPTURE_BUF,
},
{
@@ -189,8 +196,8 @@ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = {
},
.ctrls = &rkvdec_vp9_ctrls,
.ops = &rkvdec_vp9_fmt_ops,
- .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_vp9_decoded_fmts),
- .decoded_fmts = rkvdec_h264_vp9_decoded_fmts,
+ .num_decoded_fmts = ARRAY_SIZE(rkvdec_vp9_decoded_fmts),
+ .decoded_fmts = rkvdec_vp9_decoded_fmts,
}
};
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Alex Bee <knaerzche@gmail.com>
Date: Sun, 27 Mar 2022 14:18:07 +0200
Subject: [PATCH] media: rkvdec-h264: Don't hardcode SPS/PPS parameters
Some SPS/PPS parameters are currently hardcoded in the driver
even though so do exist in the uapi which is stable by now.
Use them instead of hardcoding them.
Signed-off-by: Alex Bee <knaerzche@gmail.com>
---
drivers/staging/media/rkvdec/rkvdec-h264.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
index 0069d3d198db..2c27acaba85e 100644
--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
+++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
@@ -655,13 +655,14 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx,
#define WRITE_PPS(value, field) set_ps_field(hw_ps->info, field, value)
/* write sps */
- WRITE_PPS(0xf, SEQ_PARAMETER_SET_ID);
- WRITE_PPS(0xff, PROFILE_IDC);
- WRITE_PPS(1, CONSTRAINT_SET3_FLAG);
+ WRITE_PPS(sps->seq_parameter_set_id, SEQ_PARAMETER_SET_ID);
+ WRITE_PPS(sps->profile_idc, PROFILE_IDC);
+ WRITE_PPS((sps->constraint_set_flags & 1 << 3) ? 1 : 0, CONSTRAINT_SET3_FLAG);
WRITE_PPS(sps->chroma_format_idc, CHROMA_FORMAT_IDC);
WRITE_PPS(sps->bit_depth_luma_minus8, BIT_DEPTH_LUMA);
WRITE_PPS(sps->bit_depth_chroma_minus8, BIT_DEPTH_CHROMA);
- WRITE_PPS(0, QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG);
+ WRITE_PPS(!!(sps->flags & V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS),
+ QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG);
WRITE_PPS(sps->log2_max_frame_num_minus4, LOG2_MAX_FRAME_NUM_MINUS4);
WRITE_PPS(sps->max_num_ref_frames, MAX_NUM_REF_FRAMES);
WRITE_PPS(sps->pic_order_cnt_type, PIC_ORDER_CNT_TYPE);
@@ -688,8 +689,8 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx,
DIRECT_8X8_INFERENCE_FLAG);
/* write pps */
- WRITE_PPS(0xff, PIC_PARAMETER_SET_ID);
- WRITE_PPS(0x1f, PPS_SEQ_PARAMETER_SET_ID);
+ WRITE_PPS(pps->pic_parameter_set_id, PIC_PARAMETER_SET_ID);
+ WRITE_PPS(pps->seq_parameter_set_id, PPS_SEQ_PARAMETER_SET_ID);
WRITE_PPS(!!(pps->flags & V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE),
ENTROPY_CODING_MODE_FLAG);
WRITE_PPS(!!(pps->flags & V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT),

View File

@@ -1,10 +1,10 @@
config:
# Just some info stuff; not used by the patching scripts
name: rockchip-6.15
name: rockchip-6.16
kind: kernel
type: mainline # or: vendor
branch: linux-6.15.y
last-known-good-tag: v6.15.0
branch: linux-6.16.y
last-known-good-tag: v6.16
maintainers:
- { github: paolo.sabatino, name: Paolo Sabatino, email: paolo.sabatino@gmail.com, armbian-forum: jock }

Some files were not shown because too many files have changed in this diff Show More