Skip to content

Commit da0584b

Browse files
zelvam95QUpstream Agent
authored andcommitted
plat-qcom: hoya: lemans: wire up fuse PTA and QFPROM for PAS authentication
Extend Lemans' target.mk so CFG_QCOM_PAS_AUTH pulls in the whole fuse access chain the signature-authentication path needs: CFG_QCOM_PAS_AUTH=y -> force CFG_QCOM_FUSE_PTA=y (fuse PTA the TA reads at runtime) -> force CFG_QCOM_QFPROM=y (driver behind the fuse PTA) -> force CFG_QCOM_CMD_DB=y (voltage-rail lookup for fuse writes) -> force CFG_QCOM_RPMH_CLIENT=y (voltage-rail sequencing) The old CFG_QCOM_QFPROM_FUSEPROV chain that also enabled QFPROM is folded into the same block so QFPROM_FUSEPROV and the new fuse-PTA consumer share one enable and there is no accidental drift between them. With this change, a stock Lemans build now brings up the entire PAS authentication stack (segment hash verification and signature authentication) end to end: PAS PTA, fuse PTA, qfprom driver, and the qcom_pas TA. Kodiak keeps the plain PTA-side flow untouched. Signed-off-by: Selvam Sathappan Periakaruppan <speriaka@qti.qualcomm.com> Assisted-by: Cline:gpt-5
1 parent 422eb06 commit da0584b

1 file changed

Lines changed: 20 additions & 6 deletions

File tree

core/arch/arm/plat-qcom/hoya/lemans/target.mk

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@ ifneq ($(CFG_INSECURE),y)
77
CFG_QCOM_QFPROM_FUSEPROV ?= y
88
endif
99

10-
ifeq ($(CFG_QCOM_QFPROM_FUSEPROV),y)
11-
$(call force,CFG_QCOM_CMD_DB,y)
12-
$(call force,CFG_QCOM_RPMH_CLIENT,y)
13-
$(call force,CFG_QCOM_QFPROM,y)
14-
endif
15-
1610
CFG_QCOM_PAS_PTA ?= y
1711

1812
ifeq ($(CFG_QCOM_PAS_PTA),y)
@@ -29,3 +23,23 @@ CFG_IN_TREE_EARLY_TAS += qcom_pas/cff7d191-7ca0-4784-af13-48223b9a4fbe
2923
CFG_QCOM_PAS_AUTH ?= y
3024
endif
3125
CFG_QCOM_HWKM ?= y
26+
27+
# Signature authentication reads the OEM root-of-trust anchor, anti-rollback
28+
# version, device identity and other fuses via the fuse PTA; enable it (and
29+
# therefore the underlying qfprom driver) whenever PAS authentication is on.
30+
ifeq ($(CFG_QCOM_PAS_AUTH),y)
31+
$(call force,CFG_QCOM_FUSE_PTA,y)
32+
endif
33+
34+
# QFPROM backs fuse provisioning (writes) and the fuse PTA (reads) alike;
35+
# enable the driver whenever either consumer is on.
36+
ifneq ($(filter y,$(CFG_QCOM_QFPROM_FUSEPROV) $(CFG_QCOM_FUSE_PTA)),)
37+
$(call force,CFG_QCOM_QFPROM,y)
38+
endif
39+
40+
# CMD_DB/RPMH_CLIENT back the qfprom driver's fuse-write path (voltage rail
41+
# sequencing), needed whenever qfprom itself is enabled.
42+
ifeq ($(CFG_QCOM_QFPROM),y)
43+
$(call force,CFG_QCOM_CMD_DB,y)
44+
$(call force,CFG_QCOM_RPMH_CLIENT,y)
45+
endif

0 commit comments

Comments
 (0)