blob: 19ba2986c4acb9774d47285595df47291daf563f [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.
*/
#ifndef _USB_DEV_COMMON_H
#define _USB_DEV_COMMON_H
#include "stdint.h"
#include "tsp.h"
#define TSP_SRAM2_START_ADDR (MEMMAP_TSP_REG_BASE + RA_TspReg_FigoItcm) // 0xf7a50000
#define SOC_SRAM2_TOTAL_USED_SIZE (8*1024 + 0x1000)
#define USB_CONSOLE_BUF_BASE (TSP_SRAM2_START_ADDR + SOC_SRAM2_TOTAL_USED_SIZE)
#define USB_SOC_OUTPUT_STRING_BUF (USB_CONSOLE_BUF_BASE + 32)
#define USB_SOC_INPUT_STRING_BUF (USB_SOC_OUTPUT_STRING_BUF + USB_SOC_STRING_BUF_SIZE + 32)
#define USB_SOC_STRING_BUF_SIZE (8*1024 - 32)
#define USB_INTR_BUF_SIZE 0x200
#define MAX_ONETIME_INPUT_LEN USB_INTR_BUF_SIZE
#define MAX_ONETIME_OUTPUT_LEN USB_INTR_BUF_SIZE
#define USB_SOC_INPUT_STRING_BUF_ROLL_POINT \
(USB_SOC_INPUT_STRING_BUF + USB_SOC_STRING_BUF_SIZE - MAX_ONETIME_INPUT_LEN)
#define USB_SOC_OUTPUT_STRING_BUF_ROLL_POINT \
(USB_SOC_OUTPUT_STRING_BUF + USB_SOC_STRING_BUF_SIZE - MAX_ONETIME_OUTPUT_LEN)
#define USB_SOC_OUTPUT_WRITE_PTR (USB_SOC_OUTPUT_STRING_BUF - 32)//write by ARM, read only by BCM
#define USB_SOC_OUTPUT_EOS_PTR (USB_SOC_OUTPUT_STRING_BUF - 28)//write by ARM, read only by BCM
#define USB_SOC_OUTPUT_ROLLBACK_FLAG (USB_SOC_OUTPUT_STRING_BUF - 24)
#define USB_SOC_INPUT_WRITE_PTR (USB_SOC_INPUT_STRING_BUF - 32)
#define USB_SOC_INPUT_EOS_PTR (USB_SOC_INPUT_STRING_BUF - 28)
#endif//_USB_DEV_COMMON_H