blob: b563cc4ed99e7d22ab24701e979fdfc5b9cb2384 [file] [log] [blame]
Adam Shih33aa7712022-08-30 11:54:49 +08001# Dauntless
Adam Shihd7aa3962022-08-22 13:50:54 +08002BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/dauntless/sepolicy
Tommy Chiu1d506762024-10-09 05:05:34 +00003ifneq ($(wildcard vendor/google_nos),)
Adam Shih33aa7712022-08-30 11:54:49 +08004PRODUCT_SOONG_NAMESPACES += vendor/google_nos/init/dauntless
5
6PRODUCT_PACKAGES += \
7 citadeld \
8 citadel_updater \
ChengYou Hodf8d4562022-09-16 20:35:56 +00009 android.hardware.weaver-service.citadel \
ChengYou Ho9699b142022-09-02 17:33:52 +000010 android.hardware.authsecret-service.citadel \
ChengYou Hoabfb0ba2022-09-15 16:13:00 +000011 android.hardware.oemlock-service.citadel \
Adam Shih33aa7712022-08-30 11:54:49 +080012 init_citadel \
13 android.hardware.strongbox_keystore.xml \
14 android.hardware.security.keymint-service.citadel \
15 dump_gsc.sh
16
17# USERDEBUG ONLY: Install test packages
18PRODUCT_PACKAGES_DEBUG += citadel_integration_tests \
19 pwntest \
20 nugget_targeted_tests \
Tommy Chiuddcf9b42024-01-31 22:51:46 +080021 CitadelProvision \
22 nugget_aidl_test_weaver
Tommy Chiu15ed5c62024-08-29 07:06:10 +000023
24# Assign default value for RELEASE_GOOGLE_DAUNTLESS_DIR if no trunk flags support
25RELEASE_GOOGLE_DAUNTLESS_DIR ?= vendor/google_nos/prebuilts/dauntless
26
27# The production Dauntless firmware will be of flavors evt and d3m2.
28# There are also several flavors of pre-release chips. Each flavor
29# (production and pre-release) requires the firmware to be signed differently.
30DAUNTLESS_FIRMWARE_SIZE := 1048576
31
32# The nearly-production Dauntless chips are "proto1.1"
33ifneq (,$(wildcard $(RELEASE_GOOGLE_DAUNTLESS_DIR)/proto11.ec.bin))
34ifneq ($(DAUNTLESS_FIRMWARE_SIZE), $(shell stat -c "%s" $(RELEASE_GOOGLE_DAUNTLESS_DIR)/proto11.ec.bin))
35$(error GSC firmware size check fail)
Tommy Chiuddcf9b42024-01-31 22:51:46 +080036endif
Tommy Chiu15ed5c62024-08-29 07:06:10 +000037PRODUCT_COPY_FILES += \
38 $(RELEASE_GOOGLE_DAUNTLESS_DIR)/proto11.ec.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/dauntless/proto11.ec.bin
39$(call dist-for-goals,droid,$(RELEASE_GOOGLE_DAUNTLESS_DIR)/proto11.ec.bin)
40else
41$(error GSC firmware not found in $(RELEASE_GOOGLE_DAUNTLESS_DIR))
42endif
43
44# The production Dauntless chips are "evt"
45ifneq (,$(wildcard $(RELEASE_GOOGLE_DAUNTLESS_DIR)/evt.ec.bin))
46ifneq ($(DAUNTLESS_FIRMWARE_SIZE), $(shell stat -c "%s" $(RELEASE_GOOGLE_DAUNTLESS_DIR)/evt.ec.bin))
47$(error GSC firmware size check fail)
48endif
49PRODUCT_COPY_FILES += \
50 $(RELEASE_GOOGLE_DAUNTLESS_DIR)/evt.ec.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/dauntless/evt.ec.bin
51$(call dist-for-goals,droid,$(RELEASE_GOOGLE_DAUNTLESS_DIR)/evt.ec.bin)
52else
53$(error GSC firmware not found in $(RELEASE_GOOGLE_DAUNTLESS_DIR))
54endif
55
56# New 2023 production Dauntless chips are "d3m2"
57ifneq (,$(wildcard $(RELEASE_GOOGLE_DAUNTLESS_DIR)/d3m2.ec.bin))
58ifneq ($(DAUNTLESS_FIRMWARE_SIZE), $(shell stat -c "%s" $(RELEASE_GOOGLE_DAUNTLESS_DIR)/d3m2.ec.bin))
59$(error GSC firmware size check fail)
60endif
61PRODUCT_COPY_FILES += \
62 $(RELEASE_GOOGLE_DAUNTLESS_DIR)/d3m2.ec.bin:$(TARGET_COPY_OUT_VENDOR)/firmware/dauntless/d3m2.ec.bin
63$(call dist-for-goals,droid,$(RELEASE_GOOGLE_DAUNTLESS_DIR)/d3m2.ec.bin)
64else
65$(error GSC firmware not found in $(RELEASE_GOOGLE_DAUNTLESS_DIR))
66endif
67
68# Intermediate image artifacts are published, but aren't included in /vendor/firmware/dauntless
69# in PRODUCT_COPY_FILES
70# This is because intermediate images aren't needed on user devices, but the published artifact
71# is useful for flashstation purposes.
72
73# proto11 chips need an intermediate image prior to upgrading to newever versions of the firmware
74ifneq (,$(wildcard vendor/google_nos/prebuilts/dauntless/intermediate_images/proto11_intermediate.ec.bin))
75ifneq ($(DAUNTLESS_FIRMWARE_SIZE), $(shell stat -c "%s" vendor/google_nos/prebuilts/dauntless/intermediate_images/proto11_intermediate.ec.bin))
76$(error GSC firmware size check fail)
77endif
78$(call dist-for-goals,droid,vendor/google_nos/prebuilts/dauntless/intermediate_images/proto11_intermediate.ec.bin)
79endif
80# evt chips need an intermediate image prior to upgrading to newever versions of the firmware
81ifneq (,$(wildcard vendor/google_nos/prebuilts/dauntless/intermediate_images/evt_intermediate.ec.bin))
82ifneq ($(DAUNTLESS_FIRMWARE_SIZE), $(shell stat -c "%s" vendor/google_nos/prebuilts/dauntless/intermediate_images/evt_intermediate.ec.bin))
83$(error GSC firmware size check fail)
84endif
85$(call dist-for-goals,droid,vendor/google_nos/prebuilts/dauntless/intermediate_images/evt_intermediate.ec.bin)
86endif
87# d3m2 chips need an intermediate image prior to upgrading to newever versions of the firmware
88ifneq (,$(wildcard vendor/google_nos/prebuilts/dauntless/intermediate_images/d3m2_intermediate.ec.bin))
89ifneq ($(DAUNTLESS_FIRMWARE_SIZE), $(shell stat -c "%s" vendor/google_nos/prebuilts/dauntless/intermediate_images/d3m2_intermediate.ec.bin))
90$(error GSC firmware size check fail)
91endif
92$(call dist-for-goals,droid,vendor/google_nos/prebuilts/dauntless/intermediate_images/d3m2_intermediate.ec.bin)
93endif
94
Tommy Chiu1d506762024-10-09 05:05:34 +000095endif # $(wildcard vendor/google_nos)