trunks: Add an FTDI driver interface

This interface allows to talk to the FTDI devices which in turn allow
to connect to SPI devices.

With this in place the host can communicate with SPI based TPM
devices.

These new C files were copied from
https://github.com/danyocom/libmpsse.git (sha1 ec3c3d2b5ae22), where
they are published under GPL-2, and processed by clang-format using
'--style=Chromium'.

BUG=chromium:498861
TEST=none

Change-Id: I700019c144bb702ae765d716a62e3b2e6722d35b
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/275440
Reviewed-by: Utkarsh Sanghi <usanghi@chromium.org>
4 files changed
tree: b6341a297bd594172f101c151681bd1d8f320d35
  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_proxy.cc
  82. trunks_proxy.h
  83. trunks_service.cc
  84. trunks_service.h
  85. trunks_testrunner.cc
  86. trunksd-seccomp-amd64.policy
  87. trunksd-seccomp-arm.policy
  88. trunksd-seccomp-x86.policy
  89. trunksd.cc
  90. trunksd.conf