From c46d26e0fcc1646a4014ec5f2e88fdc89fc6ec6c Mon Sep 17 00:00:00 2001 From: Thomas Makin Date: Sat, 22 Aug 2026 23:23:14 -0500 Subject: [PATCH] tegra: support android-mainline --- BUILD.bazel | 63 ++++++++++++++++++++++++++++++++++++-------- lineage.dependencies | 15 ++++------- tegra.fragment | 1 + 3 files changed, 58 insertions(+), 21 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 8f282e0..2b479f7 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -13,8 +13,8 @@ load("@bazel_skylib//rules:common_settings.bzl", "string_flag") string_flag( name = "kernel_version", - build_setting_default = "6.18", - values = ["6.12", "6.18"], + build_setting_default = "mainline", + values = ["6.12", "6.18", "mainline"], ) config_setting( name = "kernel_612", @@ -24,6 +24,10 @@ config_setting( name = "kernel_618", flag_values = {":kernel_version": "6.18"}, ) +config_setting( + name = "kernel_mainline", + flag_values = {":kernel_version": "mainline"}, +) _TEGRA_MODULES_LIST = [ # keep sorted @@ -121,6 +125,7 @@ _TEGRA_MODULES_LIST = [ "drivers/power/supply/bq24190_charger.ko", "drivers/power/supply/bq27xxx_battery.ko", "drivers/power/supply/bq27xxx_battery_i2c.ko", + "drivers/power/supply/max17042_battery.ko", "drivers/pwm/pwm-tegra.ko", "drivers/regulator/max77620-regulator.ko", "drivers/regulator/max77812-regulator.ko", @@ -180,12 +185,43 @@ _TEGRA_K618_MODULES_LIST = [ "sound/hda/core/snd-hda-core.ko", ] +_TEGRA_MAINLINE_MODULES_LIST = [ + # keep sorted + "drivers/net/phy/realtek/realtek.ko", + "sound/hda/codecs/hdmi/snd-hda-codec-hdmi.ko", + "sound/hda/codecs/hdmi/snd-hda-codec-tegrahdmi.ko", + "sound/hda/common/snd-hda-codec.ko", + "sound/hda/controllers/snd-hda-tegra.ko", + "sound/hda/core/snd-hda-core.ko", +] + kernel_build( name = "kernel_aarch64_tegra", srcs = ["//vendor/nvidia/kernel:kernel_aarch64_sources",], outs = [], arch = "arm64", + # Enable mixed build. + base_kernel = "//vendor/nvidia/kernel:kernel_aarch64", + collect_unstripped_modules = True, + defconfig = "//vendor/nvidia/kernel:arch/arm64/configs/gki_defconfig", + keep_module_symvers = True, + make_goals = [ + "modules", + ], + makefile = "//vendor/nvidia/kernel:Makefile", + module_outs = _TEGRA_MODULES_LIST + _TEGRA_MAINLINE_MODULES_LIST, + pre_defconfig_fragments = ["tegra.fragment"], + pahole = "//common:pahole", + strip_modules = True, +) + +kernel_build( + name = "kernel_aarch64_tegra_618", + srcs = ["//vendor/nvidia/kernel:kernel_aarch64_sources",], + outs = [], + arch = "arm64", + # Enable mixed build. base_kernel = "//vendor/nvidia/kernel:kernel_aarch64", collect_unstripped_modules = True, @@ -197,6 +233,7 @@ kernel_build( makefile = "//vendor/nvidia/kernel:Makefile", module_outs = _TEGRA_MODULES_LIST + _TEGRA_K618_MODULES_LIST, pre_defconfig_fragments = ["tegra.fragment"], + pahole = "//common:pahole", strip_modules = True, ) @@ -217,6 +254,7 @@ kernel_build( makefile = "//vendor/nvidia/kernel:Makefile", module_outs = _TEGRA_MODULES_LIST + _TEGRA_K612_MODULES_LIST, pre_defconfig_fragments = ["tegra.fragment"], + pahole = "//common:pahole", strip_modules = True, ) @@ -224,6 +262,7 @@ alias( name = "kernel_tegra", actual = select({ "kernel_612": ":kernel_aarch64_tegra_612", + "kernel_618": ":kernel_aarch64_tegra_618", "//conditions:default": ":kernel_aarch64_tegra", }), visibility = ["//visibility:public"], @@ -233,6 +272,7 @@ alias( name = "kernel_tegra_headers", actual = select({ "kernel_612": ":kernel_aarch64_tegra_612_headers", + "kernel_618": ":kernel_aarch64_tegra_618_headers", "//conditions:default": ":kernel_aarch64_tegra_headers", }), visibility = ["//visibility:public"], @@ -242,6 +282,7 @@ alias( name = "kernel_tegra_uapi_headers", actual = select({ "kernel_612": ":kernel_aarch64_tegra_612_uapi_headers", + "kernel_618": ":kernel_aarch64_tegra_618_uapi_headers", "//conditions:default": ":kernel_aarch64_tegra_uapi_headers", }), ) @@ -285,15 +326,15 @@ pkg_files( ":kernel_tegra", ":tegra_modules_install", ":uapi_headers_dist_files", - "//vendor/nvidia/t18x-devicetrees:dtbs", - "//vendor/nvidia/t18x-devicetrees:dtbos", - "//vendor/nvidia/t18x-devicetrees:dtbo_image", - "//vendor/nvidia/t18x-devicetrees:dtbo_verifications", - "//vendor/nvidia/t19x-devicetrees:dtbs", - "//vendor/nvidia/t19x-devicetrees:dtbos", - "//vendor/nvidia/t19x-devicetrees:dtbo_image", - "//vendor/nvidia/t19x-devicetrees:dtbo_verifications", - "//vendor/nvidia/t21x-devicetrees:dtbs", +# "//vendor/nvidia/t18x-devicetrees:dtbs", +# "//vendor/nvidia/t18x-devicetrees:dtbos", +# "//vendor/nvidia/t18x-devicetrees:dtbo_image", +# "//vendor/nvidia/t18x-devicetrees:dtbo_verifications", +# "//vendor/nvidia/t19x-devicetrees:dtbs", +# "//vendor/nvidia/t19x-devicetrees:dtbos", +# "//vendor/nvidia/t19x-devicetrees:dtbo_image", +# "//vendor/nvidia/t19x-devicetrees:dtbo_verifications", +# "//vendor/nvidia/t21x-devicetrees:dtbs", "//vendor/nvidia/nx-devicetrees:dtbs", # Mixed build: Additional GKI artifacts. "//vendor/nvidia/kernel:kernel_aarch64", diff --git a/lineage.dependencies b/lineage.dependencies index 8f571b0..8ed1b58 100644 --- a/lineage.dependencies +++ b/lineage.dependencies @@ -1,27 +1,22 @@ [ - { - "repository": "android_kernel_nvidia_kernel", - "target_path": "kernel/platform/kernel-6.18/vendor/nvidia/kernel", - "branch": "lineage-24.0_6.18" - }, { "repository": "android_kernel_nvidia_lineage-oot", - "target_path": "kernel/platform/kernel-6.18/vendor/nvidia/lineage-oot" + "target_path": "kernel/platform/kernel-mainline/vendor/nvidia/lineage-oot" }, { "repository": "android_hardware_nvidia_t18x_lineage", - "target_path": "kernel/platform/kernel-6.18/vendor/nvidia/t18x-devicetrees" + "target_path": "kernel/platform/kernel-mainline/vendor/nvidia/t18x-devicetrees" }, { "repository": "android_hardware_nvidia_t19x_lineage", - "target_path": "kernel/platform/kernel-6.18/vendor/nvidia/t19x-devicetrees" + "target_path": "kernel/platform/kernel-mainline/vendor/nvidia/t19x-devicetrees" }, { "repository": "android_hardware_nvidia_t21x_lineage", - "target_path": "kernel/platform/kernel-6.18/vendor/nvidia/t21x-devicetrees" + "target_path": "kernel/platform/kernel-mainline/vendor/nvidia/t21x-devicetrees" }, { "repository": "android_hardware_nvidia_t21x_nx", - "target_path": "kernel/platform/kernel-6.18/vendor/nvidia/nx-devicetrees" + "target_path": "kernel/platform/kernel-mainline/vendor/nvidia/nx-devicetrees" } ] diff --git a/tegra.fragment b/tegra.fragment index e275443..9907875 100644 --- a/tegra.fragment +++ b/tegra.fragment @@ -101,6 +101,7 @@ CONFIG_REGULATOR_PWM=m CONFIG_CHARGER_BQ24190=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_BQ27XXX_I2C=m +CONFIG_BATTERY_MAX17042=m # Regulators CONFIG_REGULATOR_MAX77812=m