mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Compare commits
96 Commits
v25.8.0-tr
...
revert-848
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2fc24af15 | ||
|
|
a6cfb44448 | ||
|
|
e765406935 | ||
|
|
dfb7c4fa6a | ||
|
|
bf9b1368fe | ||
|
|
f6553798d4 | ||
|
|
2adb3dbaa4 | ||
|
|
5f3cb7124a | ||
|
|
eda88e848b | ||
|
|
d833170688 | ||
|
|
94d9b3a5dd | ||
|
|
617580ee89 | ||
|
|
da6546d1b4 | ||
|
|
653c659c76 | ||
|
|
9e37cbd5a3 | ||
|
|
750a1d2264 | ||
|
|
27e0b70190 | ||
|
|
6009ffaf5c | ||
|
|
a65a5e896d | ||
|
|
639811006d | ||
|
|
1e1a42ad2b | ||
|
|
e7b1c34909 | ||
|
|
1dee550888 | ||
|
|
925e22c093 | ||
|
|
2425801a79 | ||
|
|
fbfb2bb0fe | ||
|
|
ac87dedeb4 | ||
|
|
2080f24aef | ||
|
|
27262ada13 | ||
|
|
94a72b9993 | ||
|
|
2d9cce1846 | ||
|
|
99716df075 | ||
|
|
5967b0b1e7 | ||
|
|
534b97f702 | ||
|
|
83f33fa122 | ||
|
|
750d4eda7d | ||
|
|
ef28357561 | ||
|
|
ca4dc8085a | ||
|
|
e72eb537c5 | ||
|
|
4c2d8b66c9 | ||
|
|
a8a1042391 | ||
|
|
c6944b49aa | ||
|
|
19ed979e87 | ||
|
|
f17caa7104 | ||
|
|
f022f38041 | ||
|
|
8a7eeb93ad | ||
|
|
6f08f2d0d8 | ||
|
|
09f263f751 | ||
|
|
50d2ee3883 | ||
|
|
9d515dec3d | ||
|
|
756a48c080 | ||
|
|
9f4f78ba94 | ||
|
|
879202b837 | ||
|
|
723f813a64 | ||
|
|
57739cfeb5 | ||
|
|
71df622c56 | ||
|
|
ca5e61f777 | ||
|
|
124da14067 | ||
|
|
947b035fc5 | ||
|
|
0439d3ed70 | ||
|
|
87e8054373 | ||
|
|
fb363e8829 | ||
|
|
dda6950c34 | ||
|
|
e408731b30 | ||
|
|
b3912bb03a | ||
|
|
bda921595b | ||
|
|
4e41a549b0 | ||
|
|
222fa181ad | ||
|
|
0d11f67c23 | ||
|
|
4ae394cc4d | ||
|
|
413a42c5e6 | ||
|
|
8141ce38a6 | ||
|
|
84c0b23e01 | ||
|
|
793030a869 | ||
|
|
6676bd04bf | ||
|
|
98f792136e | ||
|
|
8610013bc2 | ||
|
|
3dd9a2fb7b | ||
|
|
865265ff62 | ||
|
|
47aedd86b9 | ||
|
|
4a12c64fc8 | ||
|
|
456825942c | ||
|
|
c352a17a9f | ||
|
|
51dd2f3b69 | ||
|
|
603f12a087 | ||
|
|
6d4464a7c5 | ||
|
|
7743cca89d | ||
|
|
449336a149 | ||
|
|
d512a18cce | ||
|
|
530faf4c3c | ||
|
|
53189d4c5e | ||
|
|
92d0fbe38a | ||
|
|
11821aebf9 | ||
|
|
e85633b25a | ||
|
|
cbeb0992b4 | ||
|
|
96fe7dee19 |
26
.github/CODEOWNERS
vendored
26
.github/CODEOWNERS
vendored
@@ -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
|
||||
|
||||
2
.github/workflows/adjust-maintainers.yml
vendored
2
.github/workflows/adjust-maintainers.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
steps:
|
||||
|
||||
- name: "Checkout build repo"
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: armbian/build
|
||||
ref: main
|
||||
|
||||
2
.github/workflows/labels-from-yml.yml
vendored
2
.github/workflows/labels-from-yml.yml
vendored
@@ -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
|
||||
|
||||
2
.github/workflows/merge-announce.yml
vendored
2
.github/workflows/merge-announce.yml
vendored
@@ -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
|
||||
|
||||
2
.github/workflows/pr-announce.yml
vendored
2
.github/workflows/pr-announce.yml
vendored
@@ -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
|
||||
|
||||
4
.github/workflows/pr-auto-labeler.yml
vendored
4
.github/workflows/pr-auto-labeler.yml
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
4
.github/workflows/pr-lint-scripts.yml
vendored
4
.github/workflows/pr-lint-scripts.yml
vendored
@@ -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: |
|
||||
|
||||
2
.github/workflows/scorecard.yml
vendored
2
.github/workflows/scorecard.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
|
||||
2
.github/workflows/update-tools.yml
vendored
2
.github/workflows/update-tools.yml
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
51
config/boards/kickpik2b.csc
Normal file
51
config/boards/kickpik2b.csc
Normal 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
|
||||
}
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
6
config/boards/uefi-loong64.conf
Normal file
6
config/boards/uefi-loong64.conf
Normal 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"
|
||||
@@ -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
|
||||
|
||||
@@ -1 +1 @@
|
||||
arm64,armhf,riscv64,amd64
|
||||
arm64,armhf,riscv64,amd64,loong64
|
||||
|
||||
@@ -1 +1 @@
|
||||
csc
|
||||
supported
|
||||
|
||||
@@ -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
|
||||
|
||||
1291
config/kernel/linux-spacemit-edge.config
Normal file
1291
config/kernel/linux-spacemit-edge.config
Normal file
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
@@ -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
|
||||
|
||||
2581
config/kernel/linux-uefi-loong64-current.config
Normal file
2581
config/kernel/linux-uefi-loong64-current.config
Normal file
File diff suppressed because it is too large
Load Diff
2566
config/kernel/linux-uefi-loong64-edge.config
Normal file
2566
config/kernel/linux-uefi-loong64-edge.config
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
debian-ports-archive-keyring
|
||||
@@ -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')
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -41,7 +41,7 @@ case "${BRANCH}" in
|
||||
;;
|
||||
|
||||
edge)
|
||||
declare -g KERNEL_MAJOR_MINOR="6.15"
|
||||
declare -g KERNEL_MAJOR_MINOR="6.16"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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() {
|
||||
|
||||
16
config/sources/families/uefi-loong64.conf
Normal file
16
config/sources/families/uefi-loong64.conf
Normal 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"
|
||||
33
config/sources/loong64.conf
Normal file
33
config/sources/loong64.conf
Normal 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.
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
27
extensions/yt6801.sh
Normal 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"
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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/'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
;;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
;;
|
||||
*)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
23
packages/bsp/aic8800/aic-bluetooth
Executable file
23
packages/bsp/aic8800/aic-bluetooth
Executable 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
|
||||
13
packages/bsp/aic8800/aic-bluetooth.service
Normal file
13
packages/bsp/aic8800/aic-bluetooth.service
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
12510
patch/kernel/archive/odroidxu4-6.6/patch-6.6.93-94.patch
Normal file
12510
patch/kernel/archive/odroidxu4-6.6/patch-6.6.93-94.patch
Normal file
File diff suppressed because it is too large
Load Diff
9067
patch/kernel/archive/odroidxu4-6.6/patch-6.6.94-95.patch
Normal file
9067
patch/kernel/archive/odroidxu4-6.6/patch-6.6.94-95.patch
Normal file
File diff suppressed because it is too large
Load Diff
5580
patch/kernel/archive/odroidxu4-6.6/patch-6.6.95-96.patch
Normal file
5580
patch/kernel/archive/odroidxu4-6.6/patch-6.6.95-96.patch
Normal file
File diff suppressed because it is too large
Load Diff
6094
patch/kernel/archive/odroidxu4-6.6/patch-6.6.96-97.patch
Normal file
6094
patch/kernel/archive/odroidxu4-6.6/patch-6.6.96-97.patch
Normal file
File diff suppressed because it is too large
Load Diff
25
patch/kernel/archive/odroidxu4-6.6/patch-6.6.97-98.patch
Normal file
25
patch/kernel/archive/odroidxu4-6.6/patch-6.6.97-98.patch
Normal 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) ||
|
||||
6062
patch/kernel/archive/odroidxu4-6.6/patch-6.6.98-99-fixed.patch
Normal file
6062
patch/kernel/archive/odroidxu4-6.6/patch-6.6.98-99-fixed.patch
Normal file
File diff suppressed because it is too large
Load Diff
3139
patch/kernel/archive/odroidxu4-6.6/patch-6.6.99-100.patch
Normal file
3139
patch/kernel/archive/odroidxu4-6.6/patch-6.6.99-100.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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),
|
||||
@@ -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
Reference in New Issue
Block a user