blob: ee81ed69a09180ec898f72a92903f9a05a7b3a5d [file] [log] [blame]
/*
* Copyright (C) 2018 Synaptics Incorporated. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND
* SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES,
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY
* INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR
* CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE
* OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND
* BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF
* COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT
* DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY
* TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS.
*/
#include "util.h"
#include "usb_memmap.h"
#include "mem_config.h"
extern int diag_buffpool_init(unsigned int start, int size, int block_size);
extern void usb_reset();
extern void delay_us(unsigned int us);
extern int usb_host_init(void);
extern int usb_storage_read(unsigned char *buff,int lba, int blk_count);
/***************************************************************************
* Init USB Device
*/
int usb_init(void)
{
int res;
diag_buffpool_init(BUFFER_POOL_BASE, BUFFER_POOL_SIZE, BUFFER_POOL_BLOCK_SIZE);
usb_reset();
delay_us(100);
res = usb_host_init();
return res;
}
int usb_stor_read(int blknr, int blkcnt, void *buffer)
{
return usb_storage_read(buffer, blknr, blkcnt);
}