xref: /openbsd-src/sys/arch/arm64/dev/rtkit.h (revision fc405d53b73a2d73393cb97f684863d17b583e38)
1 /* public domain */
2 
3 #define RTKIT_MGMT_PWR_STATE_SLEEP	0x0001
4 #define RTKIT_MGMT_PWR_STATE_QUIESCED	0x0010
5 #define RTKIT_MGMT_PWR_STATE_ON		0x0020
6 
7 struct rtkit_state;
8 
9 struct rtkit {
10 	void *rk_cookie;
11 	bus_dma_tag_t rk_dmat;
12 	int (*rk_map)(void *, bus_addr_t, bus_size_t);
13 	int (*rk_unmap)(void *, bus_addr_t, bus_size_t);
14 };
15 
16 #define RK_WAKEUP	0x00000001
17 
18 struct rtkit_state *rtkit_init(int, const char *, int, struct rtkit *);
19 int	rtkit_boot(struct rtkit_state *);
20 void	rtkit_shutdown(struct rtkit_state *);
21 int	rtkit_set_ap_pwrstate(struct rtkit_state *, uint16_t);
22 int	rtkit_set_iop_pwrstate(struct rtkit_state *, uint16_t);
23 int	rtkit_poll(struct rtkit_state *);
24 int	rtkit_start_endpoint(struct rtkit_state *, uint32_t,
25 	    void (*)(void *, uint64_t), void *);
26 int	rtkit_send_endpoint(struct rtkit_state *, uint32_t, uint64_t);
27 
28 int	aplrtk_start(uint32_t);
29 int	aplsart_map(uint32_t, bus_addr_t, bus_size_t);
30 int	aplsart_unmap(uint32_t, bus_addr_t, bus_size_t);
31