trunks: ftdi: fix reset pulse generation

When testing working with the C232HM USB->FTDI->SPI probe it was
observed, that attempts to set to LOW the GPIOL0 lead (connected to
the TPM2 reset pin on the breakout board) causes the CS signal to also
go low. It turns out the driver is using the wrong template for
manipulating the GPIO pin. The 'stop' template should be used, as the
GPIO levels are not supposed to be altered while a SPI access is in
progress.

BUG=chromium:498861
TEST=verified that reset can be asserted without affecting CS.

Change-Id: I2144b1b3f6e9d25980b2e811fdbbeade05172e23
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/277164
Reviewed-by: Utkarsh Sanghi <usanghi@chromium.org>
1 file changed
tree: 2d851e8681d2455d7ae8080db4cc89ca177a737c
  1. ftdi/
  2. generator/
  3. authorization_delegate.h
  4. background_command_transceiver.cc
  5. background_command_transceiver.h
  6. background_command_transceiver_test.cc
  7. command_transceiver.h
  8. CPPLINT.cfg
  9. dbus_interface.h
  10. dbus_interface.proto
  11. error_codes.cc
  12. error_codes.h
  13. hmac_authorization_delegate.cc
  14. hmac_authorization_delegate.h
  15. hmac_authorization_delegate_unittest.cc
  16. hmac_session.h
  17. hmac_session_impl.cc
  18. hmac_session_impl.h
  19. hmac_session_test.cc
  20. Makefile
  21. mock_authorization_delegate.cc
  22. mock_authorization_delegate.h
  23. mock_command_transceiver.cc
  24. mock_command_transceiver.h
  25. mock_hmac_session.cc
  26. mock_hmac_session.h
  27. mock_policy_session.cc
  28. mock_policy_session.h
  29. mock_session_manager.cc
  30. mock_session_manager.h
  31. mock_tpm.cc
  32. mock_tpm.h
  33. mock_tpm_state.cc
  34. mock_tpm_state.h
  35. mock_tpm_utility.cc
  36. mock_tpm_utility.h
  37. org.chromium.Trunks.conf
  38. OWNERS
  39. password_authorization_delegate.cc
  40. password_authorization_delegate.h
  41. password_authorization_delegate_unittest.cc
  42. policy_session.h
  43. policy_session_impl.cc
  44. policy_session_impl.h
  45. policy_session_test.cc
  46. README
  47. resource_manager.cc
  48. resource_manager.h
  49. resource_manager_test.cc
  50. scoped_key_handle.cc
  51. scoped_key_handle.h
  52. scoped_key_handle_test.cc
  53. session_manager.h
  54. session_manager_impl.cc
  55. session_manager_impl.h
  56. session_manager_test.cc
  57. tpm_constants.h
  58. tpm_generated.cc
  59. tpm_generated.h
  60. tpm_generated_test.cc
  61. tpm_handle.cc
  62. tpm_handle.h
  63. tpm_state.h
  64. tpm_state_impl.cc
  65. tpm_state_impl.h
  66. tpm_state_test.cc
  67. tpm_utility.h
  68. tpm_utility_impl.cc
  69. tpm_utility_impl.h
  70. tpm_utility_test.cc
  71. trunks.gyp
  72. trunks_client.cc
  73. trunks_client_test.cc
  74. trunks_client_test.h
  75. trunks_export.h
  76. trunks_factory.h
  77. trunks_factory_for_test.cc
  78. trunks_factory_for_test.h
  79. trunks_factory_impl.cc
  80. trunks_factory_impl.h
  81. trunks_ftdi_spi.cc
  82. trunks_ftdi_spi.h
  83. trunks_proxy.cc
  84. trunks_proxy.h
  85. trunks_service.cc
  86. trunks_service.h
  87. trunks_testrunner.cc
  88. trunksd-seccomp-amd64.policy
  89. trunksd-seccomp-arm.policy
  90. trunksd-seccomp-x86.policy
  91. trunksd.cc
  92. trunksd.conf