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);
}
Пример #19
0
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);
}