1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* Header for the Gemini SATA bridge */ 3*4882a593Smuzhiyun #ifndef SATA_GEMINI_H 4*4882a593Smuzhiyun #define SATA_GEMINI_H 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun struct sata_gemini; 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun enum gemini_muxmode { 9*4882a593Smuzhiyun GEMINI_MUXMODE_0 = 0, 10*4882a593Smuzhiyun GEMINI_MUXMODE_1, 11*4882a593Smuzhiyun GEMINI_MUXMODE_2, 12*4882a593Smuzhiyun GEMINI_MUXMODE_3, 13*4882a593Smuzhiyun }; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun struct sata_gemini *gemini_sata_bridge_get(void); 16*4882a593Smuzhiyun bool gemini_sata_bridge_enabled(struct sata_gemini *sg, bool is_ata1); 17*4882a593Smuzhiyun enum gemini_muxmode gemini_sata_get_muxmode(struct sata_gemini *sg); 18*4882a593Smuzhiyun int gemini_sata_start_bridge(struct sata_gemini *sg, unsigned int bridge); 19*4882a593Smuzhiyun void gemini_sata_stop_bridge(struct sata_gemini *sg, unsigned int bridge); 20*4882a593Smuzhiyun int gemini_sata_reset_bridge(struct sata_gemini *sg, unsigned int bridge); 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #endif 23