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