TPM on imx8mm gives error and wont load

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TPM on imx8mm gives error and wont load

951 Views
n3353xdroid
Contributor I

I am trying to enable TPM on an imx8mm processor with an Infineon slb9670 chip attaches to the ecspi1 lines.

I am getting the following errors

[ 1.098492] tpm_tis_spi spi0.0: 2.0 TPM (device-id 0x1B, rev-id 16)
[ 1.118373] tpm tpm0: tpm_transmit: tpm_send: error -5
[ 1.123520] tpm tpm0: TPM self test failed
[ 1.127637] tpm_tis_spi: probe of spi0.0 failed with error -5

 

My device tree contains the following

pinctrl_ecspi1: ecspi1grp {
fsl,pins =<
MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x156
MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x156
MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x156
// MX8MM_IOMUXC_ECSPI1_SS0_ECSPI1_SS0 0x156
>;
};

pinctrl_ecspi1_cs: ecspi1cs {

fsl,pins = <
MX8MM_IOMUXC_ECSPI1_SS0_ECSPI1_SS0 0x156
>;

};

pinctrl_spi1_ss0: spi1_ss0 {
fsl,pins = <
MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x40000
>;
};

 

pinctrl_ecspi1_reset: ecspi1reset {
fsl,pins = <
MX8MM_IOMUXC_GPIO1_IO14_GPIO1_IO14 0x40000
>;

 

&ecspi1 {
#address-cells = <1>;
#size-cells = <0>;
fsl,spi-num-chipselects = <1>;
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1> ,<&pinctrl_spi1_ss0>, <&pinctrl_ecspi1_reset>;
status = "okay";


tpm0: slb9670@0 {
compatible = "infineon,slb9670","tcg,tpm_tis-spi";
reg = <0>;
status = "okay";
};

 

Anybody have any suggestions??

0 Kudos
Reply
1 Reply

935 Views
igorpadykov
NXP Employee
NXP Employee

Hi Richard

 

reason may be that one pad is configured twice (pinctrl_ecspi1_cs, pinctrl_spi1_ss0):

MX8MM_IOMUXC_ECSPI1_SS0_ECSPI1_SS0, MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9

one can look at pinctrl_ecspi1 example on

https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mm-ddr3l...

 

Best regards
igor

0 Kudos
Reply