blob: 2925dfe27a8677ca5dabfd6f4375b862e257d894 [file] [log] [blame]
/* Copyright 2015 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
* Based on Craig Heffner's version of Dec 27 2011, published on
* https://github.com/devttys0/libmpsse
*/
#ifndef __EC_TEST_TPM_TEST_MPSSE_H
#define __EC_TEST_TPM_TEST_MPSSE_H
#define MPSSE_OK 0
#define MPSSE_FAIL -1
#define MSB 0x00
#define LSB 0x08
enum gpio_pins {
GPIOL0 = 0,
GPIOL1 = 1,
GPIOL2 = 2,
GPIOL3 = 3,
GPIOH0 = 4,
GPIOH1 = 5,
GPIOH2 = 6,
GPIOH3 = 7,
GPIOH4 = 8,
GPIOH5 = 9,
GPIOH6 = 10,
GPIOH7 = 11
};
struct mpsse_context;
int Write(struct mpsse_context *mpsse, char *data, int size);
int Stop(struct mpsse_context *mpsse);
char *Transfer(struct mpsse_context *mpsse, char *data, int size);
char *Read(struct mpsse_context *mpsse, int size);
struct mpsse_context *MPSSE(int freq, int endianness, const char *serial);
void Close(struct mpsse_context *mpsse);
int PinHigh(struct mpsse_context *mpsse, int pin);
int PinLow(struct mpsse_context *mpsse, int pin);
int Start(struct mpsse_context *mpsse);
#endif /* ! __EC_TEST_TPM_TEST_MPSSE_H */