1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2016 The Linux Foundation. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for 5*5113495bSYour Name * any purpose with or without fee is hereby granted, provided that the 6*5113495bSYour Name * above copyright notice and this permission notice appear in all 7*5113495bSYour Name * copies. 8*5113495bSYour Name * 9*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10*5113495bSYour Name * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11*5113495bSYour Name * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12*5113495bSYour Name * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13*5113495bSYour Name * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14*5113495bSYour Name * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15*5113495bSYour Name * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16*5113495bSYour Name * PERFORMANCE OF THIS SOFTWARE. 17*5113495bSYour Name */ 18*5113495bSYour Name 19*5113495bSYour Name #ifndef HOST_REG_INIT_H 20*5113495bSYour Name #define HOST_REG_INIT_H 21*5113495bSYour Name 22*5113495bSYour Name #include "reg_struct.h" 23*5113495bSYour Name #include "targaddrs.h" 24*5113495bSYour Name 25*5113495bSYour Name #if defined(MY_HOST_DEF) 26*5113495bSYour Name 27*5113495bSYour Name #if !defined(FW_IND_HOST_READY) 28*5113495bSYour Name #define FW_IND_HOST_READY 0 29*5113495bSYour Name #endif 30*5113495bSYour Name 31*5113495bSYour Name #if !defined(PCIE_LOCAL_BASE_ADDRESS) 32*5113495bSYour Name #define PCIE_LOCAL_BASE_ADDRESS 0 33*5113495bSYour Name #define PCIE_SOC_WAKE_RESET 0 34*5113495bSYour Name #define PCIE_SOC_WAKE_ADDRESS 0 35*5113495bSYour Name #define PCIE_SOC_WAKE_V_MASK 0 36*5113495bSYour Name #define RTC_STATE_ADDRESS 0 37*5113495bSYour Name #define RTC_STATE_COLD_RESET_MASK 0 38*5113495bSYour Name #define RTC_STATE_V_MASK 0 39*5113495bSYour Name #define RTC_STATE_V_LSB 0 40*5113495bSYour Name #define RTC_STATE_V_ON 0 41*5113495bSYour Name #define SOC_GLOBAL_RESET_ADDRESS 0 42*5113495bSYour Name #endif 43*5113495bSYour Name 44*5113495bSYour Name #if !defined(CE_COUNT) 45*5113495bSYour Name #define CE_COUNT 0 46*5113495bSYour Name #endif 47*5113495bSYour Name 48*5113495bSYour Name #if !defined(TRANSACTION_ID_MASK) 49*5113495bSYour Name #define TRANSACTION_ID_MASK 0xfff 50*5113495bSYour Name #endif 51*5113495bSYour Name 52*5113495bSYour Name static struct hostdef_s my_host_def = { 53*5113495bSYour Name .d_INT_STATUS_ENABLE_ERROR_LSB = INT_STATUS_ENABLE_ERROR_LSB, 54*5113495bSYour Name .d_INT_STATUS_ENABLE_ERROR_MASK = INT_STATUS_ENABLE_ERROR_MASK, 55*5113495bSYour Name .d_INT_STATUS_ENABLE_CPU_LSB = INT_STATUS_ENABLE_CPU_LSB, 56*5113495bSYour Name .d_INT_STATUS_ENABLE_CPU_MASK = INT_STATUS_ENABLE_CPU_MASK, 57*5113495bSYour Name .d_INT_STATUS_ENABLE_COUNTER_LSB = INT_STATUS_ENABLE_COUNTER_LSB, 58*5113495bSYour Name .d_INT_STATUS_ENABLE_COUNTER_MASK = INT_STATUS_ENABLE_COUNTER_MASK, 59*5113495bSYour Name .d_INT_STATUS_ENABLE_MBOX_DATA_LSB = INT_STATUS_ENABLE_MBOX_DATA_LSB, 60*5113495bSYour Name .d_INT_STATUS_ENABLE_MBOX_DATA_MASK = INT_STATUS_ENABLE_MBOX_DATA_MASK, 61*5113495bSYour Name .d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB 62*5113495bSYour Name = ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB, 63*5113495bSYour Name .d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK 64*5113495bSYour Name = ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK, 65*5113495bSYour Name .d_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB 66*5113495bSYour Name = ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB, 67*5113495bSYour Name .d_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK 68*5113495bSYour Name = ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK, 69*5113495bSYour Name .d_COUNTER_INT_STATUS_ENABLE_BIT_LSB 70*5113495bSYour Name = COUNTER_INT_STATUS_ENABLE_BIT_LSB, 71*5113495bSYour Name .d_COUNTER_INT_STATUS_ENABLE_BIT_MASK 72*5113495bSYour Name = COUNTER_INT_STATUS_ENABLE_BIT_MASK, 73*5113495bSYour Name .d_INT_STATUS_ENABLE_ADDRESS = INT_STATUS_ENABLE_ADDRESS, 74*5113495bSYour Name .d_CPU_INT_STATUS_ENABLE_BIT_LSB = CPU_INT_STATUS_ENABLE_BIT_LSB, 75*5113495bSYour Name .d_CPU_INT_STATUS_ENABLE_BIT_MASK = CPU_INT_STATUS_ENABLE_BIT_MASK, 76*5113495bSYour Name .d_HOST_INT_STATUS_ADDRESS = HOST_INT_STATUS_ADDRESS, 77*5113495bSYour Name .d_CPU_INT_STATUS_ADDRESS = CPU_INT_STATUS_ADDRESS, 78*5113495bSYour Name .d_ERROR_INT_STATUS_ADDRESS = ERROR_INT_STATUS_ADDRESS, 79*5113495bSYour Name .d_ERROR_INT_STATUS_WAKEUP_MASK = ERROR_INT_STATUS_WAKEUP_MASK, 80*5113495bSYour Name .d_ERROR_INT_STATUS_WAKEUP_LSB = ERROR_INT_STATUS_WAKEUP_LSB, 81*5113495bSYour Name .d_ERROR_INT_STATUS_RX_UNDERFLOW_MASK 82*5113495bSYour Name = ERROR_INT_STATUS_RX_UNDERFLOW_MASK, 83*5113495bSYour Name .d_ERROR_INT_STATUS_RX_UNDERFLOW_LSB 84*5113495bSYour Name = ERROR_INT_STATUS_RX_UNDERFLOW_LSB, 85*5113495bSYour Name .d_ERROR_INT_STATUS_TX_OVERFLOW_MASK 86*5113495bSYour Name = ERROR_INT_STATUS_TX_OVERFLOW_MASK, 87*5113495bSYour Name .d_ERROR_INT_STATUS_TX_OVERFLOW_LSB = ERROR_INT_STATUS_TX_OVERFLOW_LSB, 88*5113495bSYour Name .d_COUNT_DEC_ADDRESS = COUNT_DEC_ADDRESS, 89*5113495bSYour Name .d_HOST_INT_STATUS_CPU_MASK = HOST_INT_STATUS_CPU_MASK, 90*5113495bSYour Name .d_HOST_INT_STATUS_CPU_LSB = HOST_INT_STATUS_CPU_LSB, 91*5113495bSYour Name .d_HOST_INT_STATUS_ERROR_MASK = HOST_INT_STATUS_ERROR_MASK, 92*5113495bSYour Name .d_HOST_INT_STATUS_ERROR_LSB = HOST_INT_STATUS_ERROR_LSB, 93*5113495bSYour Name .d_HOST_INT_STATUS_COUNTER_MASK = HOST_INT_STATUS_COUNTER_MASK, 94*5113495bSYour Name .d_HOST_INT_STATUS_COUNTER_LSB = HOST_INT_STATUS_COUNTER_LSB, 95*5113495bSYour Name .d_RX_LOOKAHEAD_VALID_ADDRESS = RX_LOOKAHEAD_VALID_ADDRESS, 96*5113495bSYour Name .d_WINDOW_DATA_ADDRESS = WINDOW_DATA_ADDRESS, 97*5113495bSYour Name .d_WINDOW_READ_ADDR_ADDRESS = WINDOW_READ_ADDR_ADDRESS, 98*5113495bSYour Name .d_WINDOW_WRITE_ADDR_ADDRESS = WINDOW_WRITE_ADDR_ADDRESS, 99*5113495bSYour Name .d_SOC_GLOBAL_RESET_ADDRESS = SOC_GLOBAL_RESET_ADDRESS, 100*5113495bSYour Name .d_RTC_STATE_ADDRESS = RTC_STATE_ADDRESS, 101*5113495bSYour Name .d_RTC_STATE_COLD_RESET_MASK = RTC_STATE_COLD_RESET_MASK, 102*5113495bSYour Name .d_PCIE_LOCAL_BASE_ADDRESS = PCIE_LOCAL_BASE_ADDRESS, 103*5113495bSYour Name .d_PCIE_SOC_WAKE_RESET = PCIE_SOC_WAKE_RESET, 104*5113495bSYour Name .d_PCIE_SOC_WAKE_ADDRESS = PCIE_SOC_WAKE_ADDRESS, 105*5113495bSYour Name .d_PCIE_SOC_WAKE_V_MASK = PCIE_SOC_WAKE_V_MASK, 106*5113495bSYour Name .d_RTC_STATE_V_MASK = RTC_STATE_V_MASK, 107*5113495bSYour Name .d_RTC_STATE_V_LSB = RTC_STATE_V_LSB, 108*5113495bSYour Name .d_FW_IND_EVENT_PENDING = FW_IND_EVENT_PENDING, 109*5113495bSYour Name .d_FW_IND_INITIALIZED = FW_IND_INITIALIZED, 110*5113495bSYour Name .d_RTC_STATE_V_ON = RTC_STATE_V_ON, 111*5113495bSYour Name #if defined(SDIO_3_0) 112*5113495bSYour Name .d_HOST_INT_STATUS_MBOX_DATA_MASK = HOST_INT_STATUS_MBOX_DATA_MASK, 113*5113495bSYour Name .d_HOST_INT_STATUS_MBOX_DATA_LSB = HOST_INT_STATUS_MBOX_DATA_LSB, 114*5113495bSYour Name #endif 115*5113495bSYour Name .d_FW_IND_HOST_READY = FW_IND_HOST_READY, 116*5113495bSYour Name .d_HOST_CE_COUNT = CE_COUNT, 117*5113495bSYour Name .d_TRANSACTION_ID_MASK = TRANSACTION_ID_MASK, 118*5113495bSYour Name }; 119*5113495bSYour Name 120*5113495bSYour Name struct hostdef_s *MY_HOST_DEF = &my_host_def; 121*5113495bSYour Name #else /* MY_HOST_DEF */ 122*5113495bSYour Name #endif /* MY_HOST_DEF */ 123*5113495bSYour Name 124*5113495bSYour Name 125*5113495bSYour Name 126*5113495bSYour Name #if defined(MY_HOST_SHADOW_REGS) 127*5113495bSYour Name struct host_shadow_regs_s my_host_shadow_regs = { 128*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_0 = A_LOCAL_SHADOW_REG_VALUE_0; 129*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_1 = A_LOCAL_SHADOW_REG_VALUE_1; 130*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_2 = A_LOCAL_SHADOW_REG_VALUE_2; 131*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_3 = A_LOCAL_SHADOW_REG_VALUE_3; 132*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_4 = A_LOCAL_SHADOW_REG_VALUE_4; 133*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_5 = A_LOCAL_SHADOW_REG_VALUE_5; 134*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_6 = A_LOCAL_SHADOW_REG_VALUE_6; 135*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_7 = A_LOCAL_SHADOW_REG_VALUE_7; 136*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_8 = A_LOCAL_SHADOW_REG_VALUE_8; 137*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_9 = A_LOCAL_SHADOW_REG_VALUE_9; 138*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_10 = A_LOCAL_SHADOW_REG_VALUE_10; 139*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_11 = A_LOCAL_SHADOW_REG_VALUE_11; 140*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_12 = A_LOCAL_SHADOW_REG_VALUE_12; 141*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_13 = A_LOCAL_SHADOW_REG_VALUE_13; 142*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_14 = A_LOCAL_SHADOW_REG_VALUE_14; 143*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_15 = A_LOCAL_SHADOW_REG_VALUE_15; 144*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_16 = A_LOCAL_SHADOW_REG_VALUE_16; 145*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_17 = A_LOCAL_SHADOW_REG_VALUE_17; 146*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_18 = A_LOCAL_SHADOW_REG_VALUE_18; 147*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_19 = A_LOCAL_SHADOW_REG_VALUE_19; 148*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_20 = A_LOCAL_SHADOW_REG_VALUE_20; 149*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_21 = A_LOCAL_SHADOW_REG_VALUE_21; 150*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_22 = A_LOCAL_SHADOW_REG_VALUE_22; 151*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_VALUE_23 = A_LOCAL_SHADOW_REG_VALUE_23; 152*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_0 = A_LOCAL_SHADOW_REG_ADDRESS_0; 153*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_1 = A_LOCAL_SHADOW_REG_ADDRESS_1; 154*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_2 = A_LOCAL_SHADOW_REG_ADDRESS_2; 155*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_3 = A_LOCAL_SHADOW_REG_ADDRESS_3; 156*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_4 = A_LOCAL_SHADOW_REG_ADDRESS_4; 157*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_5 = A_LOCAL_SHADOW_REG_ADDRESS_5; 158*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_6 = A_LOCAL_SHADOW_REG_ADDRESS_6; 159*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_7 = A_LOCAL_SHADOW_REG_ADDRESS_7; 160*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_8 = A_LOCAL_SHADOW_REG_ADDRESS_8; 161*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_9 = A_LOCAL_SHADOW_REG_ADDRESS_9; 162*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_10 = A_LOCAL_SHADOW_REG_ADDRESS_10; 163*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_11 = A_LOCAL_SHADOW_REG_ADDRESS_11; 164*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_12 = A_LOCAL_SHADOW_REG_ADDRESS_12; 165*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_13 = A_LOCAL_SHADOW_REG_ADDRESS_13; 166*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_14 = A_LOCAL_SHADOW_REG_ADDRESS_14; 167*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_15 = A_LOCAL_SHADOW_REG_ADDRESS_15; 168*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_16 = A_LOCAL_SHADOW_REG_ADDRESS_16; 169*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_17 = A_LOCAL_SHADOW_REG_ADDRESS_17; 170*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_18 = A_LOCAL_SHADOW_REG_ADDRESS_18; 171*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_19 = A_LOCAL_SHADOW_REG_ADDRESS_19; 172*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_20 = A_LOCAL_SHADOW_REG_ADDRESS_20; 173*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_21 = A_LOCAL_SHADOW_REG_ADDRESS_21; 174*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_22 = A_LOCAL_SHADOW_REG_ADDRESS_22; 175*5113495bSYour Name .d_A_LOCAL_SHADOW_REG_ADDRESS_23 = A_LOCAL_SHADOW_REG_ADDRESS_23; 176*5113495bSYour Name }; 177*5113495bSYour Name 178*5113495bSYour Name struct hostdef_s *MY_HOST_SHADOW_REGS = &my_host_shadow_regs; 179*5113495bSYour Name #else /* MY_HOST_SHADOW_REGS */ 180*5113495bSYour Name #endif /* MY_HOST_SHADOW_REGS */ 181*5113495bSYour Name #endif /* HOST_REG_INIT_H */ 182