Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 1 | #ifndef _IOCTL_H_ |
| 2 | #define _IOCTL_H_ |
| 3 | |
Kevin McKinney | dc23445 | 2012-11-22 14:48:55 -0500 | [diff] [blame] | 4 | struct bcm_rdm_buffer { |
Kevin McKinney | 1bb052b | 2012-11-22 14:48:35 -0500 | [diff] [blame] | 5 | unsigned long Register; |
| 6 | unsigned long Length; |
Kevin McKinney | dc23445 | 2012-11-22 14:48:55 -0500 | [diff] [blame] | 7 | } __packed; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 8 | |
Kevin McKinney | a2521d7 | 2012-11-22 14:48:54 -0500 | [diff] [blame] | 9 | struct bcm_wrm_buffer { |
Kevin McKinney | 1bb052b | 2012-11-22 14:48:35 -0500 | [diff] [blame] | 10 | unsigned long Register; |
| 11 | unsigned long Length; |
Kevin McKinney | 0b512e4 | 2012-11-22 14:48:33 -0500 | [diff] [blame] | 12 | unsigned char Data[4]; |
Kevin McKinney | a2521d7 | 2012-11-22 14:48:54 -0500 | [diff] [blame] | 13 | } __packed; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 14 | |
Kevin McKinney | bac02ed | 2012-11-22 14:48:52 -0500 | [diff] [blame] | 15 | struct bcm_ioctl_buffer { |
Arnd Bergmann | 44a17eff | 2010-09-30 10:24:12 +0200 | [diff] [blame] | 16 | void __user *InputBuffer; |
Kevin McKinney | 1bb052b | 2012-11-22 14:48:35 -0500 | [diff] [blame] | 17 | unsigned long InputLength; |
Arnd Bergmann | 44a17eff | 2010-09-30 10:24:12 +0200 | [diff] [blame] | 18 | void __user *OutputBuffer; |
Kevin McKinney | 1bb052b | 2012-11-22 14:48:35 -0500 | [diff] [blame] | 19 | unsigned long OutputLength; |
Kevin McKinney | bac02ed | 2012-11-22 14:48:52 -0500 | [diff] [blame] | 20 | } __packed; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 21 | |
Kevin McKinney | 86d289d | 2012-11-22 14:48:53 -0500 | [diff] [blame] | 22 | struct bcm_gpio_info { |
Kevin McKinney | fb0b076 | 2012-11-22 14:48:38 -0500 | [diff] [blame] | 23 | unsigned int uiGpioNumber; /* valid numbers 0-15 */ |
| 24 | unsigned int uiGpioValue; /* 1 set ; 0 not set */ |
Kevin McKinney | 86d289d | 2012-11-22 14:48:53 -0500 | [diff] [blame] | 25 | } __packed; |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 26 | |
Kevin McKinney | d532703 | 2012-11-22 14:48:51 -0500 | [diff] [blame] | 27 | struct bcm_user_thread_req { |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 28 | /* 0->Inactivate LED thread. */ |
| 29 | /* 1->Activate the LED thread */ |
Kevin McKinney | fb0b076 | 2012-11-22 14:48:38 -0500 | [diff] [blame] | 30 | unsigned int ThreadState; |
Kevin McKinney | d532703 | 2012-11-22 14:48:51 -0500 | [diff] [blame] | 31 | } __packed; |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 32 | |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 33 | #define LED_THREAD_ACTIVATION_REQ 1 |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 34 | #define BCM_IOCTL 'k' |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 35 | #define IOCTL_SEND_CONTROL_MESSAGE _IOW(BCM_IOCTL, 0x801, int) |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 36 | #define IOCTL_BCM_REGISTER_WRITE _IOW(BCM_IOCTL, 0x802, int) |
| 37 | #define IOCTL_BCM_REGISTER_READ _IOR(BCM_IOCTL, 0x803, int) |
| 38 | #define IOCTL_BCM_COMMON_MEMORY_WRITE _IOW(BCM_IOCTL, 0x804, int) |
| 39 | #define IOCTL_BCM_COMMON_MEMORY_READ _IOR(BCM_IOCTL, 0x805, int) |
| 40 | #define IOCTL_GET_CONTROL_MESSAGE _IOR(BCM_IOCTL, 0x806, int) |
| 41 | #define IOCTL_BCM_FIRMWARE_DOWNLOAD _IOW(BCM_IOCTL, 0x807, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 42 | #define IOCTL_BCM_SET_SEND_VCID _IOW(BCM_IOCTL, 0x808, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 43 | #define IOCTL_BCM_SWITCH_TRANSFER_MODE _IOW(BCM_IOCTL, 0x809, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 44 | #define IOCTL_LINK_REQ _IOW(BCM_IOCTL, 0x80A, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 45 | #define IOCTL_RSSI_LEVEL_REQ _IOW(BCM_IOCTL, 0x80B, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 46 | #define IOCTL_IDLE_REQ _IOW(BCM_IOCTL, 0x80C, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 47 | #define IOCTL_SS_INFO_REQ _IOW(BCM_IOCTL, 0x80D, int) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 48 | #define IOCTL_GET_STATISTICS_POINTER _IOW(BCM_IOCTL, 0x80E, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 49 | #define IOCTL_CM_REQUEST _IOW(BCM_IOCTL, 0x80F, int) |
| 50 | #define IOCTL_INIT_PARAM_REQ _IOW(BCM_IOCTL, 0x810, int) |
| 51 | #define IOCTL_MAC_ADDR_REQ _IOW(BCM_IOCTL, 0x811, int) |
| 52 | #define IOCTL_MAC_ADDR_RESP _IOWR(BCM_IOCTL, 0x812, int) |
| 53 | #define IOCTL_CLASSIFICATION_RULE _IOW(BCM_IOCTL, 0x813, char) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 54 | #define IOCTL_CLOSE_NOTIFICATION _IO(BCM_IOCTL, 0x814) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 55 | #define IOCTL_LINK_UP _IO(BCM_IOCTL, 0x815) |
Kevin McKinney | bac02ed | 2012-11-22 14:48:52 -0500 | [diff] [blame] | 56 | #define IOCTL_LINK_DOWN _IO(BCM_IOCTL, 0x816, struct bcm_ioctl_buffer) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 57 | #define IOCTL_CHIP_RESET _IO(BCM_IOCTL, 0x816) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 58 | #define IOCTL_CINR_LEVEL_REQ _IOW(BCM_IOCTL, 0x817, char) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 59 | #define IOCTL_WTM_CONTROL_REQ _IOW(BCM_IOCTL, 0x817, char) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 60 | #define IOCTL_BE_BUCKET_SIZE _IOW(BCM_IOCTL, 0x818, unsigned long) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 61 | #define IOCTL_RTPS_BUCKET_SIZE _IOW(BCM_IOCTL, 0x819, unsigned long) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 62 | #define IOCTL_QOS_THRESHOLD _IOW(BCM_IOCTL, 0x820, unsigned long) |
| 63 | #define IOCTL_DUMP_PACKET_INFO _IO(BCM_IOCTL, 0x821) |
| 64 | #define IOCTL_GET_PACK_INFO _IOR(BCM_IOCTL, 0x823, int) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 65 | #define IOCTL_BCM_GET_DRIVER_VERSION _IOR(BCM_IOCTL, 0x829, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 66 | #define IOCTL_BCM_GET_CURRENT_STATUS _IOW(BCM_IOCTL, 0x828, int) |
| 67 | #define IOCTL_BCM_GPIO_SET_REQUEST _IOW(BCM_IOCTL, 0x82A, int) |
| 68 | #define IOCTL_BCM_GPIO_STATUS_REQUEST _IOW(BCM_IOCTL, 0x82b, int) |
| 69 | #define IOCTL_BCM_GET_DSX_INDICATION _IOR(BCM_IOCTL, 0x854, int) |
| 70 | #define IOCTL_BCM_BUFFER_DOWNLOAD_START _IOW(BCM_IOCTL, 0x855, int) |
| 71 | #define IOCTL_BCM_BUFFER_DOWNLOAD _IOW(BCM_IOCTL, 0x856, int) |
| 72 | #define IOCTL_BCM_BUFFER_DOWNLOAD_STOP _IOW(BCM_IOCTL, 0x857, int) |
| 73 | #define IOCTL_BCM_REGISTER_WRITE_PRIVATE _IOW(BCM_IOCTL, 0x826, char) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 74 | #define IOCTL_BCM_REGISTER_READ_PRIVATE _IOW(BCM_IOCTL, 0x827, char) |
Kevin McKinney | bac02ed | 2012-11-22 14:48:52 -0500 | [diff] [blame] | 75 | #define IOCTL_BCM_SET_DEBUG _IOW(BCM_IOCTL, 0x824, struct bcm_ioctl_buffer) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 76 | #define IOCTL_BCM_EEPROM_REGISTER_WRITE _IOW(BCM_IOCTL, 0x858, int) |
| 77 | #define IOCTL_BCM_EEPROM_REGISTER_READ _IOR(BCM_IOCTL, 0x859, int) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 78 | #define IOCTL_BCM_WAKE_UP_DEVICE_FROM_IDLE _IOR(BCM_IOCTL, 0x860, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 79 | #define IOCTL_BCM_SET_MAC_TRACING _IOW(BCM_IOCTL, 0x82c, int) |
| 80 | #define IOCTL_BCM_GET_HOST_MIBS _IOW(BCM_IOCTL, 0x853, int) |
| 81 | #define IOCTL_BCM_NVM_READ _IOR(BCM_IOCTL, 0x861, int) |
| 82 | #define IOCTL_BCM_NVM_WRITE _IOW(BCM_IOCTL, 0x862, int) |
| 83 | #define IOCTL_BCM_GET_NVM_SIZE _IOR(BCM_IOCTL, 0x863, int) |
| 84 | #define IOCTL_BCM_CAL_INIT _IOR(BCM_IOCTL, 0x864, int) |
| 85 | #define IOCTL_BCM_BULK_WRM _IOW(BCM_IOCTL, 0x90B, int) |
| 86 | #define IOCTL_BCM_FLASH2X_SECTION_READ _IOR(BCM_IOCTL, 0x865, int) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 87 | #define IOCTL_BCM_FLASH2X_SECTION_WRITE _IOW(BCM_IOCTL, 0x866, int) |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 88 | #define IOCTL_BCM_GET_FLASH2X_SECTION_BITMAP _IOR(BCM_IOCTL, 0x867, int) |
| 89 | #define IOCTL_BCM_SET_ACTIVE_SECTION _IOW(BCM_IOCTL, 0x868, int) |
| 90 | #define IOCTL_BCM_IDENTIFY_ACTIVE_SECTION _IO(BCM_IOCTL, 0x869) |
| 91 | #define IOCTL_BCM_COPY_SECTION _IOW(BCM_IOCTL, 0x870, int) |
| 92 | #define IOCTL_BCM_GET_FLASH_CS_INFO _IOR(BCM_IOCTL, 0x871, int) |
| 93 | #define IOCTL_BCM_SELECT_DSD _IOW(BCM_IOCTL, 0x872, int) |
| 94 | #define IOCTL_BCM_NVM_RAW_READ _IOR(BCM_IOCTL, 0x875, int) |
| 95 | #define IOCTL_BCM_CNTRLMSG_MASK _IOW(BCM_IOCTL, 0x874, int) |
| 96 | #define IOCTL_BCM_GET_DEVICE_DRIVER_INFO _IOR(BCM_IOCTL, 0x877, int) |
| 97 | #define IOCTL_BCM_TIME_SINCE_NET_ENTRY _IOR(BCM_IOCTL, 0x876, int) |
| 98 | #define BCM_LED_THREAD_STATE_CHANGE_REQ _IOW(BCM_IOCTL, 0x878, int) |
Kevin McKinney | bac02ed | 2012-11-22 14:48:52 -0500 | [diff] [blame] | 99 | #define IOCTL_BCM_GPIO_MULTI_REQUEST _IOW(BCM_IOCTL, 0x82D, struct bcm_ioctl_buffer) |
| 100 | #define IOCTL_BCM_GPIO_MODE_REQUEST _IOW(BCM_IOCTL, 0x82E, struct bcm_ioctl_buffer) |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 101 | |
Kevin McKinney | 0becebb | 2012-11-22 14:48:49 -0500 | [diff] [blame] | 102 | enum bcm_interface_type { |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 103 | BCM_MII, |
| 104 | BCM_CARDBUS, |
| 105 | BCM_USB, |
| 106 | BCM_SDIO, |
| 107 | BCM_PCMCIA |
Kevin McKinney | 0becebb | 2012-11-22 14:48:49 -0500 | [diff] [blame] | 108 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 109 | |
Kevin McKinney | ff31e74 | 2012-11-22 14:48:48 -0500 | [diff] [blame] | 110 | struct bcm_driver_info { |
Kevin McKinney | af72c61 | 2012-12-21 15:10:36 -0500 | [diff] [blame] | 111 | enum bcm_nvm_type u32NVMType; |
Kevin McKinney | fb0b076 | 2012-11-22 14:48:38 -0500 | [diff] [blame] | 112 | unsigned int MaxRDMBufferSize; |
Kevin McKinney | 0becebb | 2012-11-22 14:48:49 -0500 | [diff] [blame] | 113 | enum bcm_interface_type u32InterfaceType; |
Kevin McKinney | fb0b076 | 2012-11-22 14:48:38 -0500 | [diff] [blame] | 114 | unsigned int u32DSDStartOffset; |
| 115 | unsigned int u32RxAlignmentCorrection; |
| 116 | unsigned int u32Reserved[10]; |
Kevin McKinney | ff31e74 | 2012-11-22 14:48:48 -0500 | [diff] [blame] | 117 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 118 | |
Kevin McKinney | 3712af0 | 2012-11-22 14:48:46 -0500 | [diff] [blame] | 119 | struct bcm_nvm_readwrite { |
Arnd Bergmann | 44a17eff | 2010-09-30 10:24:12 +0200 | [diff] [blame] | 120 | void __user *pBuffer; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 121 | uint32_t uiOffset; |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 122 | uint32_t uiNumBytes; |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 123 | bool bVerify; |
Kevin McKinney | 3712af0 | 2012-11-22 14:48:46 -0500 | [diff] [blame] | 124 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 125 | |
Kevin McKinney | 98e341d | 2012-11-22 14:48:45 -0500 | [diff] [blame] | 126 | struct bcm_bulk_wrm_buffer { |
Kevin McKinney | 1bb052b | 2012-11-22 14:48:35 -0500 | [diff] [blame] | 127 | unsigned long Register; |
| 128 | unsigned long SwapEndian; |
| 129 | unsigned long Values[1]; |
Kevin McKinney | 98e341d | 2012-11-22 14:48:45 -0500 | [diff] [blame] | 130 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 131 | |
Kevin McKinney | ff4e065 | 2012-11-22 14:48:50 -0500 | [diff] [blame] | 132 | enum bcm_flash2x_section_val { |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 133 | NO_SECTION_VAL = 0, /* no section is chosen when absolute offset is given for RD/WR */ |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 134 | ISO_IMAGE1, |
| 135 | ISO_IMAGE2, |
| 136 | DSD0, |
| 137 | DSD1, |
| 138 | DSD2, |
| 139 | VSA0, |
| 140 | VSA1, |
| 141 | VSA2, |
| 142 | SCSI, |
| 143 | CONTROL_SECTION, |
| 144 | ISO_IMAGE1_PART2, |
| 145 | ISO_IMAGE1_PART3, |
| 146 | ISO_IMAGE2_PART2, |
| 147 | ISO_IMAGE2_PART3, |
| 148 | TOTAL_SECTIONS |
Kevin McKinney | ff4e065 | 2012-11-22 14:48:50 -0500 | [diff] [blame] | 149 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 150 | |
| 151 | /* |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 152 | * Structure used for READ/WRITE Flash Map2.x |
| 153 | */ |
Kevin McKinney | b4a29e1 | 2012-11-22 14:48:47 -0500 | [diff] [blame] | 154 | struct bcm_flash2x_readwrite { |
Kevin McKinney | ff4e065 | 2012-11-22 14:48:50 -0500 | [diff] [blame] | 155 | enum bcm_flash2x_section_val Section; /* which section has to be read/written */ |
Kevin McKinney | 2314894 | 2012-11-22 14:48:36 -0500 | [diff] [blame] | 156 | u32 offset; /* Offset within Section. */ |
| 157 | u32 numOfBytes; /* NOB from the offset */ |
| 158 | u32 bVerify; |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 159 | void __user *pDataBuff; /* Buffer for reading/writing */ |
Kevin McKinney | b4a29e1 | 2012-11-22 14:48:47 -0500 | [diff] [blame] | 160 | }; |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 161 | |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 162 | /* |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 163 | * This structure is used for coping one section to other. |
| 164 | * there are two ways to copy one section to other. |
| 165 | * it NOB =0, complete section will be copied on to other. |
| 166 | * if NOB !=0, only NOB will be copied from the given offset. |
| 167 | */ |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 168 | |
Kevin McKinney | b1206c0 | 2012-11-22 14:48:44 -0500 | [diff] [blame] | 169 | struct bcm_flash2x_copy_section { |
Kevin McKinney | ff4e065 | 2012-11-22 14:48:50 -0500 | [diff] [blame] | 170 | enum bcm_flash2x_section_val SrcSection; |
| 171 | enum bcm_flash2x_section_val DstSection; |
Kevin McKinney | 2314894 | 2012-11-22 14:48:36 -0500 | [diff] [blame] | 172 | u32 offset; |
| 173 | u32 numOfBytes; |
Kevin McKinney | b1206c0 | 2012-11-22 14:48:44 -0500 | [diff] [blame] | 174 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 175 | |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 176 | /* |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 177 | * This section provide the complete bitmap of the Flash. |
Masanari Iida | 6abaf58 | 2013-08-23 22:55:31 +0900 | [diff] [blame] | 178 | * using this map lib/APP will issue read/write command. |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 179 | * Fields are defined as : |
| 180 | * Bit [0] = section is present //1:present, 0: Not present |
| 181 | * Bit [1] = section is valid //1: valid, 0: not valid |
| 182 | * Bit [2] = Section is R/W //0: RW, 1: RO |
| 183 | * Bit [3] = Section is Active or not 1 means Active, 0->inactive |
| 184 | * Bit [7...3] = Reserved |
| 185 | */ |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 186 | |
Kevin McKinney | d48a430 | 2012-11-22 14:48:42 -0500 | [diff] [blame] | 187 | struct bcm_flash2x_bitmap { |
Kevin McKinney | 0b512e4 | 2012-11-22 14:48:33 -0500 | [diff] [blame] | 188 | unsigned char ISO_IMAGE1; |
| 189 | unsigned char ISO_IMAGE2; |
| 190 | unsigned char DSD0; |
| 191 | unsigned char DSD1; |
| 192 | unsigned char DSD2; |
| 193 | unsigned char VSA0; |
| 194 | unsigned char VSA1; |
| 195 | unsigned char VSA2; |
| 196 | unsigned char SCSI; |
| 197 | unsigned char CONTROL_SECTION; |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 198 | /* Reserved for future use */ |
Kevin McKinney | 0b512e4 | 2012-11-22 14:48:33 -0500 | [diff] [blame] | 199 | unsigned char Reserved0; |
| 200 | unsigned char Reserved1; |
| 201 | unsigned char Reserved2; |
Kevin McKinney | d48a430 | 2012-11-22 14:48:42 -0500 | [diff] [blame] | 202 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 203 | |
Kevin McKinney | 0395a61 | 2012-11-22 14:48:41 -0500 | [diff] [blame] | 204 | struct bcm_time_elapsed { |
Kevin McKinney | 1fb14c4 | 2012-12-03 22:36:24 -0500 | [diff] [blame] | 205 | u64 ul64TimeElapsedSinceNetEntry; |
| 206 | u32 uiReserved[4]; |
Kevin McKinney | 0395a61 | 2012-11-22 14:48:41 -0500 | [diff] [blame] | 207 | }; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 208 | |
| 209 | enum { |
Kevin McKinney | 6117c1f | 2012-11-22 14:48:30 -0500 | [diff] [blame] | 210 | WIMAX_IDX = 0, /* To access WiMAX chip GPIO's for GPIO_MULTI_INFO or GPIO_MULTI_MODE */ |
| 211 | HOST_IDX, /* To access Host chip GPIO's for GPIO_MULTI_INFO or GPIO_MULTI_MODE */ |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 212 | MAX_IDX |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 213 | }; |
Kevin McKinney | bce0f9f | 2012-11-22 14:48:29 -0500 | [diff] [blame] | 214 | |
Kevin McKinney | 63df64a | 2012-11-22 14:48:40 -0500 | [diff] [blame] | 215 | struct bcm_gpio_multi_info { |
Kevin McKinney | fb0b076 | 2012-11-22 14:48:38 -0500 | [diff] [blame] | 216 | unsigned int uiGPIOCommand; /* 1 for set and 0 for get */ |
| 217 | unsigned int uiGPIOMask; /* set the correspondig bit to 1 to access GPIO */ |
| 218 | unsigned int uiGPIOValue; /* 0 or 1; value to be set when command is 1. */ |
Kevin McKinney | 63df64a | 2012-11-22 14:48:40 -0500 | [diff] [blame] | 219 | } __packed; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 220 | |
Kevin McKinney | 9e91edb | 2012-11-22 14:48:39 -0500 | [diff] [blame] | 221 | struct bcm_gpio_multi_mode { |
Kevin McKinney | fb0b076 | 2012-11-22 14:48:38 -0500 | [diff] [blame] | 222 | unsigned int uiGPIOMode; /* 1 for OUT mode, 0 for IN mode */ |
| 223 | unsigned int uiGPIOMask; /* GPIO mask to set mode */ |
Kevin McKinney | 9e91edb | 2012-11-22 14:48:39 -0500 | [diff] [blame] | 224 | } __packed; |
Stephen Hemminger | f8942e0 | 2010-09-08 14:46:36 -0700 | [diff] [blame] | 225 | |
| 226 | #endif |