| /* |
| * 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); |
| } |