Add Mediatek Genio Family + Radxa Nio-12L (Genio 1200)

This commit is contained in:
Mecid
2025-03-25 19:44:35 +01:00
committed by Igor
parent 1ebec53080
commit b513a20d22
8 changed files with 135318 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
# Mediatek MT8395 quad core 4GB 8GB 16GB
BOARD_NAME="Radxa Nio 12L"
BOARDFAMILY="genio"
BOARD_MAINTAINER="HeyMeco"
KERNEL_TARGET="collabora,canonical"
KERNEL_TEST_TARGET="collabora"
BOOT_FDT_FILE="mediatek/mt8395-radxa-nio-12l.dtb"
enable_extension "grub-with-dtb"
HAS_VIDEO_OUTPUT="yes"
# Post-config function for canonical branch
function post_family_config__nio12l_canonical_setup() {
if [[ "${BRANCH}" == "canonical" ]]; then
display_alert "Setting up Genio-Firmware package for ${BOARD}" "${RELEASE}///${BOARD}" "info"
add_packages_to_image "linux-firmware-mediatek-genio" "ubuntu-dev-tools" "ubuntu-desktop"
fi
}
# Post-config function for collabora branch
function post_family_config__nio12l_collabora_setup() {
if [[ "${BRANCH}" == "collabora" ]]; then
display_alert "Setting up Firmware-Full for ${BOARD}" "${RELEASE}///${BOARD}" "info"
declare -g BOARD_FIRMWARE_INSTALL="-full"
fi
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
declare -g LINUXFAMILY=genio
declare -g OVERLAY_DIR="/boot/dtb/mediatek/overlay"
declare -g ARCH=arm64
declare -g GOVERNOR=performance
declare -g INSTALL_ARMBIAN_FIRMWARE=no
# GRUB and UEFI configuration
declare -g BOOTCONFIG="none" # Skip U-Boot completely
declare -g UEFI_GRUB_TERMINAL="gfxterm" # Use graphics terminal for GRUB
declare -g UEFI_GRUB_TIMEOUT=3 # GRUB menu timeout
declare -g SERIALCON="ttyS0" # Serial console for GRUB | TODO: Figure out if we can get Grub via HDMI too
declare -g BOARD_FIRMWARE_INSTALL="-full" # Install full firmware for UEFI support
# GRUB configuration with DTB support
declare -g GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,921600 root=LABEL=armbi_root rootwait rootfstype=ext4 efi=noruntime"
# Kernel configuration
case $BRANCH in
collabora)
declare -g LINUXCONFIG="linux-genio-$BRANCH"
declare -g KERNEL_MAJOR_MINOR="6.14"
declare -g KERNELPATCHDIR='genio-1200-collabora'
declare -g KERNELSOURCE='https://gitlab.collabora.com/mediatek/aiot/linux.git'
declare -g KERNELBRANCH='branch:mediatek-next'
declare -g EXTRAWIFI="no"
declare -g INSTALL_HEADERS="yes"
;;
canonical)
declare -g LINUXCONFIG="linux-genio-bsp"
declare -g KERNEL_MAJOR_MINOR="5.15"
declare -g KERNELPATCHDIR='genio-1200-bsp'
declare -g KERNELSOURCE='https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-mtk/+git/jammy'
declare -g KERNELBRANCH='branch:master-next'
declare -g EXTRAWIFI="no"
declare -g INSTALL_HEADERS="no" #Leads to build error bc custom ubuntu folder for oem drivers
family_tweaks() {
echo "blacklist snd-mixer-oss" > $SDCARD/etc/modprobe.d/blacklist-genio.conf
echo "blacklist snd-pcm-oss" >> $SDCARD/etc/modprobe.d/blacklist-genio.conf
}
;;
esac
# Version string control
declare -g KERNEL_SKIP_MAKEFILE_VERSION="yes"
declare -g LOCALVERSION="-${BRANCH}-${LINUXFAMILY}"

View File

@@ -0,0 +1,29 @@
config:
# Just some info stuff; not used by the patching scripts
name: genio-1200-bsp
kind: kernel
type: mtk-bsp # or: vendor
branch: mtk-v5.15-dev
# .dts files in these directories will be copied as-is to the build tree; later ones overwrite earlier ones.
# This is meant to provide a way to "add a board DTS" without having to null-patch them in.
dts-directories:
- { source: "dt", target: "arch/arm64/boot/dts/mediatek" }
# the Makefile in each of these directories will be magically patched to include the dts files copied
# or patched-in; overlay subdir will be included "-y" if it exists.
# No more Makefile patching needed, yay!
# "incremental: true" changes the logic of the Makefile re-writing to only add the
# dts-directories's *.dts files to existing Makefile instead of
# full rewrite from *.dts in the dt dir at the end of patching.
auto-patch-dt-makefile:
- { incremental: true, directory: "arch/arm64/boot/dts/mediatek", config-var: "CONFIG_ARCH_MEDIATEK" }
# configuration for when applying patches to git / auto-rewriting patches (development cycle helpers)
patches-to-git:
do-not-commit-files:
- "MAINTAINERS" # constant churn, drop them. sorry.
- "Documentation/devicetree/bindings/arm/mediatek.yaml" # constant churn, conflicts on every bump, drop it. sorry.
do-not-commit-regexes: # Python-style regexes
- "^arch/([a-zA-Z0-9]+)/boot/dts/([a-zA-Z0-9]+)/Makefile$" # ignore DT Makefile patches, we've an auto-patcher now

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,58 @@
From 2d19c0e20415c85923a2f58e7e8bb5b66b9ebb0b Mon Sep 17 00:00:00 2001
From: Julien Massot <julien.massot@collabora.com>
Date: Fri, 14 Mar 2025 12:01:34 +0100
Subject: [PATCH 1/2] arm64: dts: mediatek: mt8395-nio-12l: Add scp
firmware-name
Set the scp firmware name to the default location.
Fixes: 96564b1e2ea4 ("arm64: dts: mediatek: Introduce the MT8395 Radxa NIO 12L board")
Signed-off-by: Julien Massot <julien.massot@collabora.com>
---
arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
index e3965d239d990..7d07efb0bfe38 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-radxa-nio-12l.dts
@@ -981,6 +981,7 @@ &pmic {
&scp {
memory-region = <&scp_mem>;
+ firmware-name = "mediatek/mt8195/scp.img";
status = "okay";
};
--
GitLab
From 64cba0b7875c973fc2bffecb56c6ccc6d00d8feb Mon Sep 17 00:00:00 2001
From: Julien Massot <julien.massot@collabora.com>
Date: Fri, 14 Mar 2025 12:03:56 +0100
Subject: [PATCH 2/2] arm64: dts: mediatek: mt8395-genio-1200-evk: Add scp
firmware-name
Fixes: f2b543a191b6 ("arm64: dts: mediatek: add device-tree for Genio 1200 EVK board")
Signed-off-by: Julien Massot <julien.massot@collabora.com>
---
arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts b/arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts
index f291b4644c59d..bd7ec52dbca1d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8395-genio-1200-evk.dts
@@ -1102,6 +1102,7 @@ &pmic {
&scp {
memory-region = <&scp_mem>;
+ firmware-name = "mediatek/mt8195/scp.img";
status = "okay";
};
--
GitLab