17fb3a1f7SJani Nikula /* SPDX-License-Identifier: MIT */ 27fb3a1f7SJani Nikula /* 37fb3a1f7SJani Nikula * Copyright © 2013-2021 Intel Corporation 47fb3a1f7SJani Nikula */ 57fb3a1f7SJani Nikula 67fb3a1f7SJani Nikula #ifndef _INTEL_SBI_H_ 77fb3a1f7SJani Nikula #define _INTEL_SBI_H_ 87fb3a1f7SJani Nikula 97fb3a1f7SJani Nikula #include <linux/types.h> 107fb3a1f7SJani Nikula 11*a737ab4aSJani Nikula struct intel_display; 127fb3a1f7SJani Nikula 137fb3a1f7SJani Nikula enum intel_sbi_destination { 147fb3a1f7SJani Nikula SBI_ICLK, 157fb3a1f7SJani Nikula SBI_MPHY, 167fb3a1f7SJani Nikula }; 177fb3a1f7SJani Nikula 18*a737ab4aSJani Nikula void intel_sbi_init(struct intel_display *display); 19*a737ab4aSJani Nikula void intel_sbi_fini(struct intel_display *display); 20*a737ab4aSJani Nikula void intel_sbi_lock(struct intel_display *display); 21*a737ab4aSJani Nikula void intel_sbi_unlock(struct intel_display *display); 22*a737ab4aSJani Nikula u32 intel_sbi_read(struct intel_display *display, u16 reg, 237fb3a1f7SJani Nikula enum intel_sbi_destination destination); 24*a737ab4aSJani Nikula void intel_sbi_write(struct intel_display *display, u16 reg, u32 value, 257fb3a1f7SJani Nikula enum intel_sbi_destination destination); 267fb3a1f7SJani Nikula 277fb3a1f7SJani Nikula #endif /* _INTEL_SBI_H_ */ 28