xref: /linux/arch/mips/include/asm/mach-loongson2ef/cs5536/cs5536_vsm.h (revision c95baf12f5077419db01313ab61c2aac007d40cd)
1*71e2f4ddSJiaxun Yang /* SPDX-License-Identifier: GPL-2.0 */
2*71e2f4ddSJiaxun Yang /*
3*71e2f4ddSJiaxun Yang  * the read/write interfaces for Virtual Support Module(VSM)
4*71e2f4ddSJiaxun Yang  *
5*71e2f4ddSJiaxun Yang  * Copyright (C) 2009 Lemote, Inc.
6*71e2f4ddSJiaxun Yang  * Author: Wu Zhangjin <wuzhangjin@gmail.com>
7*71e2f4ddSJiaxun Yang  */
8*71e2f4ddSJiaxun Yang 
9*71e2f4ddSJiaxun Yang #ifndef _CS5536_VSM_H
10*71e2f4ddSJiaxun Yang #define _CS5536_VSM_H
11*71e2f4ddSJiaxun Yang 
12*71e2f4ddSJiaxun Yang #include <linux/types.h>
13*71e2f4ddSJiaxun Yang 
14*71e2f4ddSJiaxun Yang typedef void (*cs5536_pci_vsm_write)(int reg, u32 value);
15*71e2f4ddSJiaxun Yang typedef u32 (*cs5536_pci_vsm_read)(int reg);
16*71e2f4ddSJiaxun Yang 
17*71e2f4ddSJiaxun Yang #define DECLARE_CS5536_MODULE(name) \
18*71e2f4ddSJiaxun Yang extern void pci_##name##_write_reg(int reg, u32 value); \
19*71e2f4ddSJiaxun Yang extern u32 pci_##name##_read_reg(int reg);
20*71e2f4ddSJiaxun Yang 
21*71e2f4ddSJiaxun Yang /* ide module */
22*71e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(ide)
23*71e2f4ddSJiaxun Yang /* acc module */
24*71e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(acc)
25*71e2f4ddSJiaxun Yang /* ohci module */
26*71e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(ohci)
27*71e2f4ddSJiaxun Yang /* isa module */
28*71e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(isa)
29*71e2f4ddSJiaxun Yang /* ehci module */
30*71e2f4ddSJiaxun Yang DECLARE_CS5536_MODULE(ehci)
31*71e2f4ddSJiaxun Yang 
32*71e2f4ddSJiaxun Yang #endif				/* _CS5536_VSM_H */
33