void usb_end_session(pusb_struct pusb) { __u8 reg_val; reg_val = 0x0; put_bvalue(pusb->reg_base + USB_bDEVCTL_OFF, reg_val); }
void usb_clear_bus_interrupt_enable(pusb_struct pusb, __u32 bm) { __u16 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bINTRUSBE_OFF); reg_val &= ~(bm&0xff); put_bvalue(pusb->reg_base + USB_bINTRUSBE_OFF, reg_val); }
void usb_suspendm_disable(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bPOWER_OFF); reg_val &= ~(0x1<<0); put_bvalue(pusb->reg_base + USB_bPOWER_OFF, reg_val); }
void usb_soft_disconnect(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bPOWER_OFF); reg_val &= ~(0x1<<6); put_bvalue(pusb->reg_base + USB_bPOWER_OFF, reg_val); }
void usb_set_resume(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bPOWER_OFF); reg_val |= (0x1<<2); put_bvalue(pusb->reg_base + USB_bPOWER_OFF, reg_val); }
void usb_set_hnp_request(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bDEVCTL_OFF); reg_val |= 0x1<<1; put_bvalue(pusb->reg_base + USB_bDEVCTL_OFF, reg_val); }
void usb_clear_suspend(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bPOWER_OFF); reg_val &= ~(0x1<<1); put_bvalue(pusb->reg_base + USB_bPOWER_OFF, reg_val); }
void usb_iso_update_disable(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bPOWER_OFF); reg_val &= ~(0x1<<7); put_bvalue(pusb->reg_base + USB_bPOWER_OFF, reg_val); }
void usb_high_speed_disable(pusb_struct pusb) { __u8 reg_val; reg_val = get_bvalue(pusb->reg_base + USB_bPOWER_OFF); reg_val &= ~(0x1<<5); put_bvalue(pusb->reg_base + USB_bPOWER_OFF, reg_val); }
void usb_set_eprx_fifo_size(pusb_struct pusb, __u32 is_dpb, __u32 size) { __u8 reg_val; reg_val = 0; if(is_dpb) reg_val |= 0x1<<4; reg_val |= aw_log2(size>>3)&0xf; put_bvalue(pusb->reg_base + USB_bRxFIFOsz_OFF, reg_val); }
void usb_set_eprx_type(pusb_struct pusb, __u32 speed, __u32 protocol, __u32 ep_no) { __u32 reg_val; reg_val = (speed&0x3)<<6; reg_val |= (protocol&0x3)<<4; reg_val |= (ep_no&0xf)<<0; put_bvalue(pusb->reg_base + USB_bRXTYPE_OFF, reg_val); }
void usb_set_ep0_type(pusb_struct pusb, __u32 speed) { put_bvalue(pusb->reg_base + USB_bTXTYPE_OFF, (speed&0x3)<<6); }
void usb_clear_bus_interrupt_status(pusb_struct pusb, __u32 bm) { put_bvalue(pusb->reg_base + USB_bINTRUSB_OFF, bm&0xff); }
void usb_set_eprx_interval(pusb_struct pusb, __u32 interval) { put_bvalue(pusb->reg_base + USB_bRXINTERVAL_OFF, interval&0xff); }
void usb_set_eprx_csrhi(pusb_struct pusb, __u32 csrhi) { put_bvalue(pusb->reg_base + USB_hRXCSR_OFF + 1, csrhi); }
void usb_set_ep0_addr(pusb_struct pusb, __u32 addr) { put_bvalue(pusb->reg_base + USB_bTXFADDR_OFF, addr & 0x7f); }
void usb_set_test_mode(pusb_struct pusb, __u32 bm) { put_bvalue(pusb->reg_base + USB_bTESTMODE_OFF, bm&0xff); }
void usb_select_ep(pusb_struct pusb, __u32 ep_no) { if(ep_no > USB_MAX_EP_NO) return; put_bvalue(pusb->reg_base + USB_bINDEX_OFF, ep_no); }
static void hdmi_write(unsigned int addr, unsigned char data) { put_bvalue(hdmi_base_addr + addr, data); }
void usb_set_ep0_naklimit(pusb_struct pusb, __u32 naklimit) { put_bvalue(pusb->reg_base + USB_bTXINTERVAL_OFF, naklimit&0x1f); }