Add GC2395/CAMSS rear camera driver and fix audio, earpiece, micbias, and modem routing

This commit is contained in:
Luxferre
2026-10-19 23:34:06 +03:00
parent a6e3fa184f
commit a14a7aa543
20 changed files with 1623 additions and 49 deletions
+31 -7
View File
@@ -41,14 +41,22 @@ EOF
curl \
tar \
xz \
zstd \
gcc-armv7 \
g++-armv7 \
binutils-armv7
mkdir -p /tmp/kbuild
mkdir -p /tmp/kbuild /bananarchy/prebuilt/kernel-6.12.1-msm8916
CACHE_TAR="/bananarchy/prebuilt/kernel-6.12.1-msm8916/linux-${KERNEL_TAG#v}.tar.gz"
cd /tmp/kbuild
echo "[1/5] Downloading Linux ${KERNEL_TAG}..."
curl -sSL "$KERNEL_URL" -o linux.tar.gz
if [ -f "$CACHE_TAR" ]; then
echo "[1/5] Using cached Linux ${KERNEL_TAG} tarball..."
cp "$CACHE_TAR" linux.tar.gz
else
echo "[1/5] Downloading Linux ${KERNEL_TAG}..."
curl -sSL "$KERNEL_URL" -o linux.tar.gz
cp linux.tar.gz "$CACHE_TAR" || true
fi
tar -xzf linux.tar.gz
cd "linux-${KERNEL_TAG#v}"
@@ -60,11 +68,13 @@ EOF
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- olddefconfig
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- modules_prepare
echo "[4/5] Building QDSP6/Q6Voice sound modules, torch LED module, and Nokia MSM8905/MSM8909 DTBs..."
echo "[4/5] Building QDSP6/Q6Voice sound modules, torch LED module, camera module, and Nokia MSM8905/MSM8909 DTBs..."
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
KBUILD_MODPOST_WARN=1 M=sound/soc/qcom/qdsp6 modules
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
KBUILD_MODPOST_WARN=1 M=/bananarchy/src/leds-msm8905-torch modules
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
KBUILD_MODPOST_WARN=1 M=/bananarchy/src/msm8905-cam modules
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- -j"$(nproc)" \
qcom/qcom-msm8905-nokia-argon.dtb \
qcom/qcom-msm8909-nokia-sparkler.dtb \
@@ -73,15 +83,27 @@ EOF
echo "[5/5] Exporting built modules and DTBs to prebuilt/kernel-6.12.1-msm8916..."
mkdir -p /bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6 \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/dtbs
cp -a sound/soc/qcom/qdsp6/*.ko /bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6/
cp -a /bananarchy/src/leds-msm8905-torch/leds-msm8905-torch.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/
cp -a /bananarchy/src/msm8905-cam/msm8905-cam.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera/
armv7-alpine-linux-musleabihf-strip --strip-unneeded \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6/*.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/*.ko
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/*.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera/*.ko
for ko in \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/qdsp6/*.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/leds/*.ko \
/bananarchy/prebuilt/kernel-6.12.1-msm8916/camera/*.ko; do
zstd -f -q -k "$ko" -o "${ko}.zst"
done
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- \
M=/bananarchy/src/leds-msm8905-torch clean
make ARCH=arm CROSS_COMPILE=armv7-alpine-linux-musleabihf- \
M=/bananarchy/src/msm8905-cam clean
cp -a arch/arm/boot/dts/qcom/qcom-msm8905-nokia-argon.dtb \
arch/arm/boot/dts/qcom/qcom-msm8909-nokia-sparkler.dtb \
arch/arm/boot/dts/qcom/qcom-msm8909-nokia-leo.dtb \
@@ -92,6 +114,8 @@ EOF
dtc -I dts -O dtb -o /bananarchy/prebuilt/kernel-6.12.1-msm8916/dtbs/qcom-msm8905-nokia-coconut.dtb \
/bananarchy/devices/nokia-tough/qcom-msm8905-nokia-coconut.dts 2>/dev/null
chown -R "$HOST_UID:$HOST_GID" /bananarchy/prebuilt/kernel-6.12.1-msm8916 /bananarchy/src/leds-msm8905-torch
echo "Kernel audio modules, torch LED module, and DTBs built successfully."
chown -R "$HOST_UID:$HOST_GID" /bananarchy/prebuilt/kernel-6.12.1-msm8916 \
/bananarchy/src/leds-msm8905-torch \
/bananarchy/src/msm8905-cam
echo "Kernel audio modules, torch LED module, camera module, and DTBs built successfully."
'