| 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
| 2 | /* |
| 3 | * Aic94xx SAS/SATA driver sequencer interface header file. |
| 4 | * |
| 5 | * Copyright (C) 2005 Adaptec, Inc. All rights reserved. |
| 6 | * Copyright (C) 2005 Luben Tuikov <luben_tuikov@adaptec.com> |
| 7 | */ |
| 8 | |
| 9 | #ifndef _AIC94XX_SEQ_H_ |
| 10 | #define _AIC94XX_SEQ_H_ |
| 11 | |
| 12 | #define CSEQ_NUM_VECS 3 |
| 13 | #define LSEQ_NUM_VECS 11 |
| 14 | |
| 15 | #define SAS_RAZOR_SEQUENCER_FW_FILE "aic94xx-seq.fw" |
| 16 | #define SAS_RAZOR_SEQUENCER_FW_MAJOR 1 |
| 17 | |
| 18 | /* Note: All quantites in the sequencer file are little endian */ |
| 19 | struct { |
| 20 | /* Checksum of the entire contents of the sequencer excluding |
| 21 | * these four bytes */ |
| 22 | u32 ; |
| 23 | /* numeric major version */ |
| 24 | u32 ; |
| 25 | /* numeric minor version */ |
| 26 | u32 ; |
| 27 | /* version string printed by driver */ |
| 28 | char [16]; |
| 29 | u32 ; |
| 30 | u32 ; |
| 31 | u32 ; |
| 32 | u32 ; |
| 33 | u32 ; |
| 34 | u32 ; |
| 35 | u32 ; |
| 36 | u32 ; |
| 37 | u16 ; |
| 38 | u16 ; |
| 39 | u16 ; |
| 40 | } __attribute__((packed)); |
| 41 | |
| 42 | #ifdef __KERNEL__ |
| 43 | int asd_init_seqs(struct asd_ha_struct *asd_ha); |
| 44 | int asd_start_seqs(struct asd_ha_struct *asd_ha); |
| 45 | int asd_release_firmware(void); |
| 46 | |
| 47 | void asd_update_port_links(struct asd_ha_struct *asd_ha, struct asd_phy *phy); |
| 48 | #endif |
| 49 | |
| 50 | #endif |
| 51 | |