Loading Documentation/devicetree/bindings/arm/msm/spss_utils.txt 0 → 100644 +37 −0 Original line number Diff line number Diff line Qualcomm Technologies, Inc. Secure Processor SubSystem Utilities (spss_utils) The Secure Processor SubSystem (SPSS) is a dedicated subsystem for security. It has its own CPU, memories, and cryptographic engine. It shall provide cryptographic services to other subsystems. The SPSS firmware is loaded by PIL driver. The communication with SPSS is done via spcom driver, using glink. The spss_utils driver selects the SPSS firmware file, according to a dedicated fuse and the platform HW version. Required properties: -compatible : should be "qcom,spss_utils" -qcom,spss-fuse1-addr: fuse1 register physical address -qcom,spss-fuse1-bit: fuse1 relevant bit -qcom,spss-fuse2-addr: fuse2 register physical address -qcom,spss-fuse2-bit: fuse2 relevant bit -qcom,spss-dev-firmware-name: dev firmware file name -qcom,spss-test-firmware-name: test firmware file name -qcom,spss-prod-firmware-name: production firmware file name -qcom,spss-debug-reg-addr: debug register physical address -qcom,spss-emul-type-reg-addr: soc emulation type register physical address Example: qcom,spss_utils { compatible = "qcom,spss-utils"; qcom,spss-fuse1-addr = <0x007841c4>; qcom,spss-fuse1-bit = <27>; qcom,spss-fuse2-addr = <0x007841c4>; qcom,spss-fuse2-bit = <26>; qcom,spss-dev-firmware-name = "spss1d"; /* 8 chars max */ qcom,spss-test-firmware-name = "spss1t"; /* 8 chars max */ qcom,spss-prod-firmware-name = "spss1p"; /* 8 chars max */ qcom,spss-debug-reg-addr = <0x01886020>; qcom,spss-emul-type-reg-addr = <0x01fc8004>; }; arch/arm64/boot/dts/qcom/sdm855.dtsi +15 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,21 @@ ranges = <0 0 0 0xffffffff>; compatible = "simple-bus"; spss_utils: qcom,spss_utils { compatible = "qcom,spss-utils"; /* spss fuses physical address */ qcom,spss-fuse1-addr = <0x007841c4>; qcom,spss-fuse1-bit = <27>; qcom,spss-fuse2-addr = <0x007841c4>; qcom,spss-fuse2-bit = <26>; qcom,spss-dev-firmware-name = "spss1d"; /* 8 chars max */ qcom,spss-test-firmware-name = "spss1t"; /* 8 chars max */ qcom,spss-prod-firmware-name = "spss1p"; /* 8 chars max */ qcom,spss-debug-reg-addr = <0x01886020>; qcom,spss-emul-type-reg-addr = <0x01fc8004>; status = "ok"; }; jtag_mm0: jtagmm@7040000 { compatible = "qcom,jtagv8-mm"; reg = <0x7040000 0x1000>; Loading arch/arm64/configs/sdm855_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -432,6 +432,7 @@ CONFIG_QCOM_BUS_SCALING=y CONFIG_QCOM_BUS_CONFIG_RPMH=y CONFIG_QCOM_COMMAND_DB=y CONFIG_QCOM_EARLY_RANDOM=y CONFIG_MSM_SPSS_UTILS=y CONFIG_QTI_RPMH_API=y CONFIG_QCOM_GLINK=y CONFIG_QCOM_GLINK_PKT=y Loading drivers/soc/qcom/Kconfig +11 −0 Original line number Diff line number Diff line Loading @@ -375,6 +375,17 @@ config QCOM_EARLY_RANDOM may not be truly random. Select this option to make an early call to get some random data to put in the pool. If unsure, say N. config MSM_SPSS_UTILS depends on MSM_PIL bool "Secure Processor Utilities" help spss-utils driver selects Secure Processor firmware file name. The firmware file name for dev, test or production is selected based on two fuses. Different file name is used for differnt SPSS HW versions, because the SPSS firmware size is too small to support multiple HW versions. config QTI_RPMH_API bool "QTI RPMH (h/w accelerators) Communication API" select MAILBOX Loading drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ obj-$(CONFIG_QCOM_MEMORY_DUMP_V2) += memory_dump_v2.o obj-$(CONFIG_QCOM_WATCHDOG_V2) += watchdog_v2.o obj-$(CONFIG_QPNP_PBS) += qpnp-pbs.o obj-$(CONFIG_ICNSS) += icnss.o obj-$(CONFIG_MSM_SPSS_UTILS) += spss_utils.o obj-$(CONFIG_MSM_SERVICE_NOTIFIER) += service-notifier.o obj-$(CONFIG_MSM_SERVICE_LOCATOR) += service-locator.o obj-$(CONFIG_MSM_SYSMON_GLINK_COMM) += sysmon-glink.o Loading Loading
Documentation/devicetree/bindings/arm/msm/spss_utils.txt 0 → 100644 +37 −0 Original line number Diff line number Diff line Qualcomm Technologies, Inc. Secure Processor SubSystem Utilities (spss_utils) The Secure Processor SubSystem (SPSS) is a dedicated subsystem for security. It has its own CPU, memories, and cryptographic engine. It shall provide cryptographic services to other subsystems. The SPSS firmware is loaded by PIL driver. The communication with SPSS is done via spcom driver, using glink. The spss_utils driver selects the SPSS firmware file, according to a dedicated fuse and the platform HW version. Required properties: -compatible : should be "qcom,spss_utils" -qcom,spss-fuse1-addr: fuse1 register physical address -qcom,spss-fuse1-bit: fuse1 relevant bit -qcom,spss-fuse2-addr: fuse2 register physical address -qcom,spss-fuse2-bit: fuse2 relevant bit -qcom,spss-dev-firmware-name: dev firmware file name -qcom,spss-test-firmware-name: test firmware file name -qcom,spss-prod-firmware-name: production firmware file name -qcom,spss-debug-reg-addr: debug register physical address -qcom,spss-emul-type-reg-addr: soc emulation type register physical address Example: qcom,spss_utils { compatible = "qcom,spss-utils"; qcom,spss-fuse1-addr = <0x007841c4>; qcom,spss-fuse1-bit = <27>; qcom,spss-fuse2-addr = <0x007841c4>; qcom,spss-fuse2-bit = <26>; qcom,spss-dev-firmware-name = "spss1d"; /* 8 chars max */ qcom,spss-test-firmware-name = "spss1t"; /* 8 chars max */ qcom,spss-prod-firmware-name = "spss1p"; /* 8 chars max */ qcom,spss-debug-reg-addr = <0x01886020>; qcom,spss-emul-type-reg-addr = <0x01fc8004>; };
arch/arm64/boot/dts/qcom/sdm855.dtsi +15 −0 Original line number Diff line number Diff line Loading @@ -528,6 +528,21 @@ ranges = <0 0 0 0xffffffff>; compatible = "simple-bus"; spss_utils: qcom,spss_utils { compatible = "qcom,spss-utils"; /* spss fuses physical address */ qcom,spss-fuse1-addr = <0x007841c4>; qcom,spss-fuse1-bit = <27>; qcom,spss-fuse2-addr = <0x007841c4>; qcom,spss-fuse2-bit = <26>; qcom,spss-dev-firmware-name = "spss1d"; /* 8 chars max */ qcom,spss-test-firmware-name = "spss1t"; /* 8 chars max */ qcom,spss-prod-firmware-name = "spss1p"; /* 8 chars max */ qcom,spss-debug-reg-addr = <0x01886020>; qcom,spss-emul-type-reg-addr = <0x01fc8004>; status = "ok"; }; jtag_mm0: jtagmm@7040000 { compatible = "qcom,jtagv8-mm"; reg = <0x7040000 0x1000>; Loading
arch/arm64/configs/sdm855_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -432,6 +432,7 @@ CONFIG_QCOM_BUS_SCALING=y CONFIG_QCOM_BUS_CONFIG_RPMH=y CONFIG_QCOM_COMMAND_DB=y CONFIG_QCOM_EARLY_RANDOM=y CONFIG_MSM_SPSS_UTILS=y CONFIG_QTI_RPMH_API=y CONFIG_QCOM_GLINK=y CONFIG_QCOM_GLINK_PKT=y Loading
drivers/soc/qcom/Kconfig +11 −0 Original line number Diff line number Diff line Loading @@ -375,6 +375,17 @@ config QCOM_EARLY_RANDOM may not be truly random. Select this option to make an early call to get some random data to put in the pool. If unsure, say N. config MSM_SPSS_UTILS depends on MSM_PIL bool "Secure Processor Utilities" help spss-utils driver selects Secure Processor firmware file name. The firmware file name for dev, test or production is selected based on two fuses. Different file name is used for differnt SPSS HW versions, because the SPSS firmware size is too small to support multiple HW versions. config QTI_RPMH_API bool "QTI RPMH (h/w accelerators) Communication API" select MAILBOX Loading
drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ obj-$(CONFIG_QCOM_MEMORY_DUMP_V2) += memory_dump_v2.o obj-$(CONFIG_QCOM_WATCHDOG_V2) += watchdog_v2.o obj-$(CONFIG_QPNP_PBS) += qpnp-pbs.o obj-$(CONFIG_ICNSS) += icnss.o obj-$(CONFIG_MSM_SPSS_UTILS) += spss_utils.o obj-$(CONFIG_MSM_SERVICE_NOTIFIER) += service-notifier.o obj-$(CONFIG_MSM_SERVICE_LOCATOR) += service-locator.o obj-$(CONFIG_MSM_SYSMON_GLINK_COMM) += sysmon-glink.o Loading