162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ciobj-y += testcases.dtbo.o
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciobj-$(CONFIG_OF_OVERLAY) += overlay.dtbo.o \
562306a36Sopenharmony_ci			    overlay_0.dtbo.o \
662306a36Sopenharmony_ci			    overlay_1.dtbo.o \
762306a36Sopenharmony_ci			    overlay_2.dtbo.o \
862306a36Sopenharmony_ci			    overlay_3.dtbo.o \
962306a36Sopenharmony_ci			    overlay_4.dtbo.o \
1062306a36Sopenharmony_ci			    overlay_5.dtbo.o \
1162306a36Sopenharmony_ci			    overlay_6.dtbo.o \
1262306a36Sopenharmony_ci			    overlay_7.dtbo.o \
1362306a36Sopenharmony_ci			    overlay_8.dtbo.o \
1462306a36Sopenharmony_ci			    overlay_9.dtbo.o \
1562306a36Sopenharmony_ci			    overlay_10.dtbo.o \
1662306a36Sopenharmony_ci			    overlay_11.dtbo.o \
1762306a36Sopenharmony_ci			    overlay_12.dtbo.o \
1862306a36Sopenharmony_ci			    overlay_13.dtbo.o \
1962306a36Sopenharmony_ci			    overlay_15.dtbo.o \
2062306a36Sopenharmony_ci			    overlay_16.dtbo.o \
2162306a36Sopenharmony_ci			    overlay_17.dtbo.o \
2262306a36Sopenharmony_ci			    overlay_18.dtbo.o \
2362306a36Sopenharmony_ci			    overlay_19.dtbo.o \
2462306a36Sopenharmony_ci			    overlay_20.dtbo.o \
2562306a36Sopenharmony_ci			    overlay_bad_add_dup_node.dtbo.o \
2662306a36Sopenharmony_ci			    overlay_bad_add_dup_prop.dtbo.o \
2762306a36Sopenharmony_ci			    overlay_bad_phandle.dtbo.o \
2862306a36Sopenharmony_ci			    overlay_bad_symbol.dtbo.o \
2962306a36Sopenharmony_ci			    overlay_base.dtbo.o \
3062306a36Sopenharmony_ci			    overlay_gpio_01.dtbo.o \
3162306a36Sopenharmony_ci			    overlay_gpio_02a.dtbo.o \
3262306a36Sopenharmony_ci			    overlay_gpio_02b.dtbo.o \
3362306a36Sopenharmony_ci			    overlay_gpio_03.dtbo.o \
3462306a36Sopenharmony_ci			    overlay_gpio_04a.dtbo.o \
3562306a36Sopenharmony_ci			    overlay_gpio_04b.dtbo.o \
3662306a36Sopenharmony_ci			    overlay_pci_node.dtbo.o \
3762306a36Sopenharmony_ci			    overlay_bad_unresolved.dtbo.o
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci# enable creation of __symbols__ node
4062306a36Sopenharmony_ciDTC_FLAGS_overlay += -@
4162306a36Sopenharmony_ciDTC_FLAGS_overlay_bad_phandle += -@
4262306a36Sopenharmony_ciDTC_FLAGS_overlay_bad_symbol += -@
4362306a36Sopenharmony_ciDTC_FLAGS_overlay_base += -@
4462306a36Sopenharmony_ciDTC_FLAGS_testcases += -@
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci# suppress warnings about intentional errors
4762306a36Sopenharmony_ciDTC_FLAGS_testcases += -Wno-interrupts_property \
4862306a36Sopenharmony_ci	-Wno-node_name_vs_property_name \
4962306a36Sopenharmony_ci	-Wno-interrupt_map
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci# Apply overlays statically with fdtoverlay.  This is a build time test that
5262306a36Sopenharmony_ci# the overlays can be applied successfully by fdtoverlay.  This does not
5362306a36Sopenharmony_ci# guarantee that the overlays can be applied successfully at run time by
5462306a36Sopenharmony_ci# unittest, but it provides a bit of build time test coverage for those
5562306a36Sopenharmony_ci# who do not execute unittest.
5662306a36Sopenharmony_ci#
5762306a36Sopenharmony_ci# The overlays are applied on top of static_base_1.dtb and static_base_2.dtb to
5862306a36Sopenharmony_ci# create static_test_1.dtb and static_test_2.dtb.  If fdtoverlay detects an
5962306a36Sopenharmony_ci# error than the kernel build will fail.  static_test_1.dtb and
6062306a36Sopenharmony_ci# static_test_2.dtb are not consumed by unittest.
6162306a36Sopenharmony_ci#
6262306a36Sopenharmony_ci# Some unittest overlays deliberately contain errors that unittest checks for.
6362306a36Sopenharmony_ci# These overlays will cause fdtoverlay to fail, and are thus not included
6462306a36Sopenharmony_ci# in the static test:
6562306a36Sopenharmony_ci#			  overlay_bad_add_dup_node.dtbo \
6662306a36Sopenharmony_ci#			  overlay_bad_add_dup_prop.dtbo \
6762306a36Sopenharmony_ci#			  overlay_bad_phandle.dtbo \
6862306a36Sopenharmony_ci#			  overlay_bad_symbol.dtbo \
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciapply_static_overlay_1 := overlay_0.dtbo \
7162306a36Sopenharmony_ci			  overlay_1.dtbo \
7262306a36Sopenharmony_ci			  overlay_2.dtbo \
7362306a36Sopenharmony_ci			  overlay_3.dtbo \
7462306a36Sopenharmony_ci			  overlay_4.dtbo \
7562306a36Sopenharmony_ci			  overlay_5.dtbo \
7662306a36Sopenharmony_ci			  overlay_6.dtbo \
7762306a36Sopenharmony_ci			  overlay_7.dtbo \
7862306a36Sopenharmony_ci			  overlay_8.dtbo \
7962306a36Sopenharmony_ci			  overlay_9.dtbo \
8062306a36Sopenharmony_ci			  overlay_10.dtbo \
8162306a36Sopenharmony_ci			  overlay_11.dtbo \
8262306a36Sopenharmony_ci			  overlay_12.dtbo \
8362306a36Sopenharmony_ci			  overlay_13.dtbo \
8462306a36Sopenharmony_ci			  overlay_15.dtbo \
8562306a36Sopenharmony_ci			  overlay_16.dtbo \
8662306a36Sopenharmony_ci			  overlay_17.dtbo \
8762306a36Sopenharmony_ci			  overlay_18.dtbo \
8862306a36Sopenharmony_ci			  overlay_19.dtbo \
8962306a36Sopenharmony_ci			  overlay_20.dtbo \
9062306a36Sopenharmony_ci			  overlay_gpio_01.dtbo \
9162306a36Sopenharmony_ci			  overlay_gpio_02a.dtbo \
9262306a36Sopenharmony_ci			  overlay_gpio_02b.dtbo \
9362306a36Sopenharmony_ci			  overlay_gpio_03.dtbo \
9462306a36Sopenharmony_ci			  overlay_gpio_04a.dtbo \
9562306a36Sopenharmony_ci			  overlay_gpio_04b.dtbo
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciapply_static_overlay_2 := overlay.dtbo
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciDTC_FLAGS_static_base_1 += -Wno-interrupts_property \
10062306a36Sopenharmony_ci	-Wno-node_name_vs_property_name \
10162306a36Sopenharmony_ci	-Wno-interrupt_map
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_cistatic_test_1-dtbs := static_base_1.dtb $(apply_static_overlay_1)
10462306a36Sopenharmony_cistatic_test_2-dtbs := static_base_2.dtb $(apply_static_overlay_2)
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_cidtb-$(CONFIG_OF_OVERLAY) += static_test_1.dtb static_test_2.dtb
107