| /* |
| * All Rights Reserved |
| * |
| * MARVELL CONFIDENTIAL |
| * Copyright 2012 Marvell International Ltd All Rights Reserved. |
| * The source code contained or described herein and all documents related to |
| * the source code ("Material") are owned by Marvell International Ltd or its |
| * suppliers or licensors. Title to the Material remains with Marvell International Ltd |
| * or its suppliers and licensors. The Material contains trade secrets and |
| * proprietary and confidential information of Marvell or its suppliers and |
| * licensors. The Material is protected by worldwide copyright and trade secret |
| * laws and treaty provisions. No part of the Material may be used, copied, |
| * reproduced, modified, published, uploaded, posted, transmitted, distributed, |
| * or disclosed in any way without Marvell's prior express written permission. |
| * |
| * No license under any patent, copyright, trade secret or other intellectual |
| * property right is granted to or conferred upon you by disclosure or delivery |
| * of the Materials, either expressly, by implication, inducement, estoppel or |
| * otherwise. Any license under such intellectual property rights must be |
| * express and approved by Marvell in writing. |
| * |
| */ |
| |
| #ifndef __H_ACM_ELBA__ |
| #define __H_ACM_ELBA__ |
| |
| #include "acm_ach.h" |
| |
| #define NUM_OF_REGS (sizeof(reg_cache)/sizeof(reg_cache[0])) |
| #define REG_NUMID_BASE 0 |
| #define ELBA_MAIN_POWERUP_ID 1 |
| #define ELBA_SEQ_PU_READY 0 |
| #define ELBA_AUTO_SEQUENCE_STS_1 11 |
| #define ELBA_SRC_SET2_ID 44 |
| #define ELBA_ID_REG 0 |
| #define ELBA_COEFF_ID 63 |
| #define ELBA_HP_SHRT_AR_ID 10 |
| |
| typedef struct { |
| unsigned char reg_index; |
| unsigned short reg_default; |
| unsigned short reg_value; |
| // Field of reg_prior represent when will this register be reset; |
| // 0x00 --- with this value, the register will not be reset, |
| // 0x01~0xff --- with these values, the register will be reset with ascending sequence; |
| // If someone would like to modify the resetting sequences in the table, |
| // only need to modify this field in reg_cache. |
| unsigned short reg_prior; |
| } Elba_RegisterCache; |
| |
| static Elba_RegisterCache reg_cache[] = { |
| {0x00, 0x03, 0x03, 0x02}, {0x01, 0x00, 0x00, 0x02}, {0x02, 0x00, 0x00, 0x02}, {0x03, 0x00, 0x00, 0x00}, {0x04, 0x00, 0x00, 0x00}, |
| {0x05, 0x00, 0x00, 0x00}, {0x06, 0x00, 0x00, 0x00}, {0x07, 0x00, 0x00, 0x02}, {0x08, 0x00, 0x00, 0x02}, {0x09, 0x00, 0x00, 0x02}, |
| {0x0A, 0x00, 0x00, 0x02}, {0x0B, 0xAA, 0xAA, 0x02}, {0x0C, 0x00, 0x00, 0x02}, {0x10, 0x00, 0x00, 0x02}, {0x11, 0x00, 0x00, 0x02}, |
| {0x12, 0x02, 0x02, 0x02}, {0x13, 0x00, 0x00, 0x02}, {0x14, 0x00, 0x00, 0x02}, {0x15, 0x00, 0x00, 0x02}, {0x16, 0x00, 0x00, 0x02}, |
| {0x17, 0x00, 0x00, 0x02}, {0x20, 0x00, 0x00, 0x02}, {0x21, 0x00, 0x00, 0x02}, {0x22, 0x00, 0x00, 0x02}, {0x23, 0x00, 0x00, 0x02}, |
| {0x24, 0x00, 0x00, 0x02}, {0x25, 0x00, 0x00, 0x02}, {0x26, 0x00, 0x00, 0x03}, {0x27, 0x00, 0x00, 0x02}, {0x28, 0x00, 0x00, 0x02}, |
| {0x29, 0x00, 0x00, 0x02}, {0x2A, 0x00, 0x00, 0x02}, {0x30, 0x00, 0x00, 0x02}, {0x31, 0x00, 0x00, 0x02}, {0x32, 0x00, 0x00, 0x02}, |
| {0x33, 0x00, 0x00, 0x02}, {0x34, 0x00, 0x00, 0x02}, {0x35, 0x00, 0x00, 0x02}, {0x36, 0x00, 0x00, 0x02}, {0x37, 0x00, 0x00, 0x02}, |
| {0x38, 0x00, 0x00, 0x02}, {0x39, 0x00, 0x00, 0x02}, {0x3A, 0x00, 0x00, 0x02}, {0x3B, 0x00, 0x00, 0x02}, {0x3C, 0x12, 0x12, 0x02}, |
| {0x3D, 0x00, 0x00, 0x02}, {0x3E, 0x00, 0x00, 0x02}, {0x3F, 0x00, 0x00, 0x02}, {0x40, 0x00, 0x00, 0x02}, {0x41, 0x00, 0x00, 0x02}, |
| {0x42, 0x00, 0x00, 0x02}, {0x50, 0x00, 0x00, 0x02}, {0x51, 0x00, 0x00, 0x02}, {0x52, 0x00, 0x00, 0x02}, {0x53, 0x00, 0x00, 0x02}, |
| {0x54, 0x05, 0x05, 0x02}, {0x55, 0x00, 0x00, 0x02}, {0x56, 0x00, 0x00, 0x01}, {0x57, 0x00, 0x00, 0x01}, {0x58, 0x00, 0x00, 0x02}, |
| {0x59, 0x00, 0x00, 0x02}, {0x5A, 0x00, 0x00, 0x02}, {0x5B, 0x00, 0x00, 0x02}, {0x5C, 0x00, 0x00, 0x02}, {0x5D, 0x00, 0x00, 0x02}, |
| {0x5E, 0x00, 0x00, 0x02}, {0x5F, 0x00, 0x00, 0x02}, {0x60, 0x00, 0x00, 0x02}, {0x80, 0x00, 0x00, 0x02}, {0x81, 0x00, 0x00, 0x02}, |
| {0x82, 0x10, 0x10, 0x02}, {0x83, 0x01, 0x01, 0x02}, {0x84, 0x88, 0x88, 0x02}, {0x85, 0x16, 0x16, 0x02}, {0x86, 0x16, 0x16, 0x02}, |
| {0x87, 0x00, 0x00, 0x02}, {0x88, 0x40, 0x40, 0x02}, {0x89, 0x00, 0x00, 0x02}, {0x8A, 0x08, 0x08, 0x02}, {0x8B, 0x05, 0x05, 0x02}, |
| {0x8C, 0x00, 0x00, 0x02}, {0x8D, 0x00, 0x00, 0x02}, {0x8E, 0x00, 0x00, 0x02}, {0x8F, 0x00, 0x00, 0x02}, {0x90, 0x04, 0x04, 0x02}, |
| {0x91, 0x03, 0x03, 0x02}, {0x92, 0x00, 0x00, 0x02}, {0x93, 0x04, 0x04, 0x02}, {0x94, 0x02, 0x02, 0x02}, {0x95, 0x44, 0x44, 0x02}, |
| {0x96, 0x71, 0x71, 0x02}, {0x97, 0x12, 0x12, 0x02}, {0x98, 0x00, 0x00, 0x02} |
| }; |
| |
| void Elba_RegGet(unsigned char numid, unsigned char *value); |
| void Elba_RegBurstGet(unsigned char numid, unsigned char *value, int size, int offset); |
| unsigned char Elba_GetRegNumId(unsigned char reg_index); |
| |
| #endif |