xref: /linux/drivers/gpu/drm/i915/display/intel_sbi.h (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
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