This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352: TPM configuration in U-boot

Part Number: AM3352

Hello,

We are using am3352 in our design with kernel 4.14.67 from TI SDK. We have also included spi TPM v2.0 device from Infineon (slb9670).

We have configured linux support and it is working fine when OS is started.

Now whe need to configure TPM2 support in u-boot-2019.01 (also from TI SDK).

We have added to config file:

CONFIG_SPI=y
CONFIG_CMD_SPI=y
CONFIG_DM_SPI=y
CONFIG_CMD_TPM=y
CONFIG_CMD_TPM_V2=y
CONFIG_TPM_V2=y
# CONFIG_TPM_V1 is not set
CONFIG_TPM2_TIS_SPI=y
CONFIG_TPM=y

And to our Device Tree:

   tpm2_pins: pinmux_tpm2_pins {
      pinctrl-single,pins = <
         0x150 ( PIN_INPUT_PULLDOWN | MUX_MODE0 ) /* (A17) spi0_sclk.spi0_sclk */
         0x154 ( PIN_OUTPUT | MUX_MODE0 ) /* (B17) spi0_d0.spi0_d0 */
         0x158 ( PIN_INPUT  | MUX_MODE0 ) /* (B16) spi0_d1.spi0_d1 */
         0x15c ( PIN_OUTPUT | MUX_MODE0 ) /* (A16) spi0_cs0.spi0_cs0 */
         0x160 ( PIN_OUTPUT | MUX_MODE0 ) /* (C15) spi0_cs1.spi0_cs1 */
      >;
   };


&spi0 {
   status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&tpm2_pins>;
    ti,pindir-d0-out-d1-in;

    slb9670@0 {
      compatible = "tis,tpm2-spi";
      reg = <1>;
      spi-max-frequency = <12000000>;            // 12 MHz
    };
};

But when try to start tpm this is shown:

=> tpm2 init
tpm_tis_spi_probe() tpm_tis_spi_probe: missing reset GPIO
tpm_tis_spi_xfer() tpm_tis_spi_xfer: timeout on wait state
tpm_tis_spi_probe() tpm_tis_spi_probe: no device found
Could not find TPM (ret=-5)
=> tpm2 info
tpm_tis_spi_probe() tpm_tis_spi_probe: missing reset GPIO
tpm_tis_spi_xfer() tpm_tis_spi_xfer: timeout on wait state
tpm_tis_spi_probe() tpm_tis_spi_probe: no device found
Could not find TPM (ret=-5)

Could you please help us to find what is happening?

Best regards and thank you

Angel