blob: 38a31a42aec52cd3a41756cbac97b53a8e379eaa [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.
*
* This file was copied from https://github.com/devttys0/libmpsse.git (sha1
* f1a6744b), and modified to suite the Chromium OS project.
*/
#ifndef TRUNKS_FTDI_SUPPORT_H_
#define TRUNKS_FTDI_SUPPORT_H_
#include "trunks/ftdi/mpsse.h"
int raw_write(struct mpsse_context* mpsse, uint8_t* buf, int size);
int raw_read(struct mpsse_context* mpsse, uint8_t* buf, int size);
void set_timeouts(struct mpsse_context* mpsse, int timeout);
uint16_t freq2div(uint32_t system_clock, uint32_t freq);
uint32_t div2freq(uint32_t system_clock, uint16_t div);
uint8_t* build_block_buffer(struct mpsse_context* mpsse,
uint8_t cmd,
const uint8_t* data,
int size,
int* buf_size);
int set_bits_high(struct mpsse_context* mpsse, int port);
int set_bits_low(struct mpsse_context* mpsse, int port);
int gpio_write(struct mpsse_context* mpsse, int pin, int direction);
int is_valid_context(struct mpsse_context* mpsse);
#endif /* TRUNKS_FTDI_SUPPORT_H_ */