10b0ff99eSkettenis /* public domain */ 20b0ff99eSkettenis 3c1a14ff8Skettenis #define RTKIT_MGMT_PWR_STATE_SLEEP 0x0001 4c1a14ff8Skettenis #define RTKIT_MGMT_PWR_STATE_QUIESCED 0x0010 5c1a14ff8Skettenis #define RTKIT_MGMT_PWR_STATE_ON 0x0020 6*b9886d31Skettenis #define RTKIT_MGMT_PWR_STATE_INIT 0x0220 7c1a14ff8Skettenis 8d80548acSkettenis struct rtkit_state; 9d80548acSkettenis 102ec5c635Skettenis struct rtkit { 112ec5c635Skettenis void *rk_cookie; 122ec5c635Skettenis bus_dma_tag_t rk_dmat; 132ec5c635Skettenis int (*rk_map)(void *, bus_addr_t, bus_size_t); 14ea87a8bfSkettenis int (*rk_unmap)(void *, bus_addr_t, bus_size_t); 15*b9886d31Skettenis paddr_t (*rk_logmap)(void *, bus_addr_t); 162ec5c635Skettenis }; 172ec5c635Skettenis 183b6109e0Skettenis #define RK_WAKEUP 0x00000001 19*b9886d31Skettenis #define RK_DEBUG 0x00000002 20*b9886d31Skettenis #define RK_SYSLOG 0x00000004 213b6109e0Skettenis 223b6109e0Skettenis struct rtkit_state *rtkit_init(int, const char *, int, struct rtkit *); 23d80548acSkettenis int rtkit_boot(struct rtkit_state *); 2419c18994Skettenis void rtkit_shutdown(struct rtkit_state *); 25c1a14ff8Skettenis int rtkit_set_ap_pwrstate(struct rtkit_state *, uint16_t); 26fb1acad1Skettenis int rtkit_set_iop_pwrstate(struct rtkit_state *, uint16_t); 27d80548acSkettenis int rtkit_poll(struct rtkit_state *); 28d80548acSkettenis int rtkit_start_endpoint(struct rtkit_state *, uint32_t, 29d80548acSkettenis void (*)(void *, uint64_t), void *); 30d80548acSkettenis int rtkit_send_endpoint(struct rtkit_state *, uint32_t, uint64_t); 312ec5c635Skettenis 32f1e4522dSkettenis int aplrtk_start(uint32_t); 332ec5c635Skettenis int aplsart_map(uint32_t, bus_addr_t, bus_size_t); 34ea87a8bfSkettenis int aplsart_unmap(uint32_t, bus_addr_t, bus_size_t); 35