Build dtbs

This commit is contained in:
Aaron Kling
2025-02-17 00:06:57 -06:00
parent 0cd3510695
commit 33391df56b
5 changed files with 227 additions and 2 deletions

View File

@@ -129,10 +129,67 @@ _TEGRA_AARCH64_MODULES_LIST = [
"sound/soc/tegra/snd-soc-tegra-pcm.ko", "sound/soc/tegra/snd-soc-tegra-pcm.ko",
] ]
_TEGRA_AARCH64_DTB_LIST = [
# keep sorted
"tegra186-quill-p3310-1000-c03-00-base.dtb",
"tegra186-p3636-0001-p3509-0000-a01-android.dtb",
"tegra194-p2888-0001-p2822-0000.dtb",
"tegra194-p3668-0000-p3509-0000-android.dtb",
"tegra194-p3668-0001-p3509-0000-android.dtb",
"tegra194-p2888-0001-p2822-0000-overlay.dtbo",
"tegra194-p2888-0005-overlay.dtbo",
"tegra194-p3668-p3509-overlay.dtbo",
"tegra210-baracus.dtb",
"tegra210-darcy-p2894-0000-a00-00.dtb",
"tegra210-darcy-p2894-0050-a04-00.dtb",
"tegra210-darcy-p2894-0050-a08-00.dtb",
"tegra210-darcy-p2894-0052-a08-00.dtb",
"tegra210-foster-e-hdd-cpc-p2530-0933-e03-00.dtb",
"tegra210-foster-e-hdd-p2530-0932-e01-00.dtb",
"tegra210-foster-e-hdd-p2530-0932-e02-00.dtb",
"tegra210-foster-e-p2530-0930-e01-00.dtb",
"tegra210-foster-e-p2530-0930-e02-00.dtb",
"tegra210-jetson-tx1-p2597-2180-a01-android-devkit.dtb",
"tegra210-loki-e-p2530-0030-e01-00.dtb",
"tegra210-loki-e-p2530-0030-e02-00.dtb",
"tegra210-loki-e-p2530-0030-e03-00.dtb",
"tegra210-loki-e-p2530-0031-e01-00.dtb",
"tegra210-loki-e-p2530-0031-e02-00.dtb",
"tegra210-loki-e-p2530-0031-e03-00.dtb",
"tegra210-p3448-0000-p3449-0000-a02-android-devkit.dtb",
"tegra210-p3448-0000-p3449-0000-b00-android-devkit.dtb",
"tegra210-p3448-0002-p3449-0000-a02-android-devkit.dtb",
"tegra210-p3448-0002-p3449-0000-b00-android-devkit.dtb",
"tegra210-p3448-0003-p3542-0000-android-devkit.dtb",
"tegra210b01-darcy-p2894-0050-a08-00.dtb",
"tegra210b01-darcy-p2894-2551-b00-00.dtb",
"tegra210b01-darcy-p2894-3551-b03-00.dtb",
"tegra210b01-sif-p3425-0500-a01.dtb",
"tegra210b01-sif-p3425-0500-a02.dtb",
"tegra210b01-sif-p3425-0500-a04.dtb",
"tegra210-odin.dtb",
"tegra210b01-odin.dtb",
"tegra210b01-vali.dtb",
"tegra210b01-fric.dtb",
"tegra234-carveouts.dtbo",
"tegra234-p3701-0000-p3737-0000.dtb",
"tegra234-p3701-0004-p3737-0000.dtb",
"tegra234-p3767-0000-p3768-0000-a0-android.dtb",
"tegra234-p3767-0001-p3768-0000-a0-android.dtb",
"tegra234-p3767-0003-p3768-0000-a0-android.dtb",
"tegra234-p3767-0004-p3768-0000-a0-android.dtb",
"tegra234-p3737-audio-codec-rt5658-40pin.dtbo",
"tegra234-p3737-overlay.dtbo",
"tegra234-p3701-overlay.dtbo",
"tegra234-p3767-overlay.dtbo",
"tegra234-optee.dtb",
]
kernel_build( kernel_build(
name = "kernel_aarch64_tegra", name = "kernel_aarch64_tegra",
srcs = ["//vendor/nvidia/kernel:kernel_aarch64_sources",], srcs = ["//vendor/nvidia/kernel:kernel_aarch64_sources",],
outs = [], dtstree = "//vendor/nvidia/tegra/dts:tegra_dts",
outs = _TEGRA_AARCH64_DTB_LIST,
arch = "arm64", arch = "arm64",
# Enable mixed build. # Enable mixed build.
@@ -142,6 +199,7 @@ kernel_build(
kmi_symbol_list = "//vendor/nvidia/kernel:gki/aarch64/symbols/tegra", kmi_symbol_list = "//vendor/nvidia/kernel:gki/aarch64/symbols/tegra",
make_goals = [ make_goals = [
"modules", "modules",
"dtbs",
], ],
makefile = "//vendor/nvidia/kernel:Makefile", makefile = "//vendor/nvidia/kernel:Makefile",
module_outs = _TEGRA_AARCH64_MODULES_LIST, module_outs = _TEGRA_AARCH64_MODULES_LIST,
@@ -236,10 +294,23 @@ _TEGRA_ARM_MODULES_LIST = [
"sound/soc/tegra/snd-soc-tegra30-i2s.ko", "sound/soc/tegra/snd-soc-tegra30-i2s.ko",
] ]
_TEGRA_ARM_DTB_LIST = [
# keep sorted
"tegra124-ardbeg.dtb",
"tegra124-jetson-tk1-android.dtb",
"tegra124-loki-e2530-0000-a01.dtb",
"tegra124-loki-e2530-0000-c00.dtb",
"tegra124-loki-e2530-0100-a01.dtb",
"tegra124-loki-e2530-0100-c00.dtb",
"tegra124-tn8.dtb",
"tegra124-xiaomi-mocha-android.dtb",
]
kernel_build( kernel_build(
name = "kernel_arm_tegra", name = "kernel_arm_tegra",
srcs = ["//vendor/nvidia/kernel:kernel_arm_sources",], srcs = ["//vendor/nvidia/kernel:kernel_arm_sources",],
outs = [], dtstree = "//vendor/nvidia/tegra/dts:tegra_dts",
outs = _TEGRA_ARM_DTB_LIST,
arch = "arm", arch = "arm",
# Enable mixed build. # Enable mixed build.
@@ -249,6 +320,7 @@ kernel_build(
kmi_symbol_list = "//vendor/nvidia/kernel:gki/arm/symbols/tegra", kmi_symbol_list = "//vendor/nvidia/kernel:gki/arm/symbols/tegra",
make_goals = [ make_goals = [
"modules", "modules",
"dtbs",
], ],
makefile = "//vendor/nvidia/kernel:Makefile", makefile = "//vendor/nvidia/kernel:Makefile",
module_outs = _TEGRA_ARM_MODULES_LIST, module_outs = _TEGRA_ARM_MODULES_LIST,

1
dts/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*/*

9
dts/BUILD.bazel Normal file
View File

@@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
load("//build/kernel/kleaf:kernel.bzl", "kernel_dtstree")
kernel_dtstree(
name = "tegra_dts",
visibility = ["//visibility:public"],
)

119
dts/Makefile Normal file
View File

@@ -0,0 +1,119 @@
# SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: GPL-2.0-only
ifneq ($(TEGRA_TOP),)
SOURCE_TOP := $(TEGRA_TOP)
else ifneq ($(TOP),)
SOURCE_TOP := $(TOP)
else ifneq ($(ROOT_DIR),)
SOURCE_TOP := $(ROOT_DIR)
else
$(error TEGRA_TOP or TOP is not defined)
endif
tegra-dtstree := $(SOURCE_TOP)/vendor/nvidia/tegra/dts
null :=
space :=$(null) $(null)
DTC_INCLUDE :=
# SOC independent common include
DTC_INCLUDE += $(tegra-dtstree)/tegra/nv-public
ifeq ($(SRCARCH),arm64)
ifeq ($(CONFIG_ARCH_TEGRA_234_SOC),y)
# SOC T23X specific common include
DTC_INCLUDE += $(tegra-dtstree)/t23x/nv-public/include/kernel
DTC_INCLUDE += $(tegra-dtstree)/t23x/nv-public/include/nvidia-oot
DTC_INCLUDE += $(tegra-dtstree)/t23x/nv-public/include/platforms
DTC_INCLUDE += $(tegra-dtstree)/t23x/nv-public
endif
DTC_INCLUDE += $(srctree)/arch/arm64/boot/dts/nvidia
else ifeq ($(SRCARCH),arm)
DTC_INCLUDE += $(srctree)/arch/arm/boot/dts/nvidia
endif
dtb-y :=
dtbo-y :=
fdts :=
ifeq ($(CONFIG_ARCH_TEGRA_114_SOC),y)
fdts += $(tegra-dtstree)/t114
endif
ifeq ($(CONFIG_ARCH_TEGRA_124_SOC),y)
fdts += $(tegra-dtstree)/t124
endif
ifeq ($(CONFIG_ARCH_TEGRA_210_SOC),y)
fdts += $(tegra-dtstree)/t21x
endif
ifeq ($(CONFIG_ARCH_TEGRA_186_SOC),y)
fdts += $(tegra-dtstree)/t18x
endif
ifeq ($(CONFIG_ARCH_TEGRA_194_SOC),y)
fdts += $(tegra-dtstree)/t19x
endif
ifeq ($(CONFIG_ARCH_TEGRA_234_SOC),y)
fdts += $(tegra-dtstree)/t23x
endif
# Add internal SOCs to scan the DT makefiles
ifneq ($(internal_soc_list),)
fdts += $(addprefix $(tegra-dtstree)/,$(internal_soc_list))
endif
# Remove the DTs from protected soc list
ifneq ($(protected_soc_list),)
kdts := $(foreach dt_path, $(fdts), $(if $(filter $(protected_soc_list),$(patsubst -,$(space),$(subst /, $(space),$(dt_path)))),,$(dt_path)))
kdts := $(filter-out $(space)$(space),$(kdts))
else
kdts := $(fdts)
endif
dts_makefile=$(foreach d,$(wildcard $1*), $(call dts_makefile,$(d)/,$(2)) $(if $(findstring Makefile,$(d)),$(d)))
dts_mfiles = $(call dts_makefile, $(kdts), Makefile)
ifneq ($(dts_mfiles),)
dts-include :=
include $(dts_mfiles)
ifneq ($(dts-include),)
DTC_INCLUDE += $(addprefix $(tegra-dtstree)/,$(dts-include))
endif
endif
# Add path of main Makefile to each dtb/dtbo list
DTB_OBJS := $(addprefix $(obj)/,$(dtb-y))
DTBO_OBJS := $(addprefix $(obj)/,$(dtbo-y))
define _define_dtb_rule
$(obj)/$(1): $(tegra-dtstree)/$(patsubst %.dtb,%.dts,$(1)) FORCE
endef
$(foreach _dtb, $(dtb-y), $(eval $(call _define_dtb_rule,$(_dtb))))
$(DTB_OBJS):
$(call if_changed_dep,dtc)
define _define_dtbo_rule
$(obj)/$(1): $(tegra-dtstree)/$(patsubst %.dtbo,%.dts,$(1)) FORCE
endef
$(foreach _dtbo, $(dtbo-y), $(eval $(call _define_dtbo_rule,$(_dtbo))))
$(DTBO_OBJS):
$(call if_changed_dep,dtc)
DTBS_DTBOS := $(DTB_OBJS)$(DTBO_OBJS)
dtbs: $(DTB_OBJS) $(DTBO_OBJS) FORCE
if [ ! -d $(obj)/dtbs/ ] ; then \
mkdir -p $(obj)/dtbs/ ; \
fi
if [ ! -z "$(DTBS_DTBOS)" ] ; then \
cp -u $(DTB_OBJS) $(DTBO_OBJS) $(obj)/dtbs/ ; \
fi
if [ -d $(obj)/hardware/ ] ; then \
rm -rf $(obj)/hardware/ ; \
fi
dtb-y += $(dtbo-y)
clean-files := *.dtb *.dtbo *.tmp

View File

@@ -3,5 +3,29 @@
"repository": "android_kernel_nvidia_kernel", "repository": "android_kernel_nvidia_kernel",
"target_path": "vendor/nvidia/kernel", "target_path": "vendor/nvidia/kernel",
"branch": "lineage-23.0_6.12" "branch": "lineage-23.0_6.12"
},
{
"repository": "android_hardware_nvidia_t18x_lineage",
"target_path": "vendor/nvidia/tegra/dts/t18x/lineage"
},
{
"repository": "android_hardware_nvidia_t19x_lineage",
"target_path": "vendor/nvidia/tegra/dts/t19x/lineage"
},
{
"repository": "android_hardware_nvidia_t21x_lineage",
"target_path": "vendor/nvidia/tegra/dts/t21x/lineage"
},
{
"repository": "android_hardware_nvidia_t23x_lineage",
"target_path": "vendor/nvidia/tegra/dts/t23x/lineage"
},
{
"repository": "android_hardware_nvidia_t23x_nv-tegra",
"target_path": "vendor/nvidia/tegra/dts/t23x/nv-tegra"
},
{
"repository": "android_hardware_nvidia_tegra_nv-public",
"target_path": "vendor/nvidia/tegra/dts/t21x/nv-tegra"
} }
] ]