Commit feb9dbdf authored by Tony Lindgren's avatar Tony Lindgren

musb_hdrc: Fix TEST_PACKET again

Also allow start sending it with echo T > /proc/driver/musb_hdrc
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
parent 591db763
...@@ -626,6 +626,7 @@ done: ...@@ -626,6 +626,7 @@ done:
* E rElinquish bus (OTG) * E rElinquish bus (OTG)
* H request host mode * H request host mode
* h cancel host request * h cancel host request
* T start sending TEST_PACKET
* D<num> set/query the debug level * D<num> set/query the debug level
*/ */
static int musb_proc_write(struct file *file, const char __user *buffer, static int musb_proc_write(struct file *file, const char __user *buffer,
...@@ -696,6 +697,14 @@ static int musb_proc_write(struct file *file, const char __user *buffer, ...@@ -696,6 +697,14 @@ static int musb_proc_write(struct file *file, const char __user *buffer,
} }
break; break;
case 'T':
if (pBase) {
musb_load_testpacket(musb);
musb_writeb(pBase, MGC_O_HDRC_TESTMODE,
MGC_M_TEST_PACKET);
}
break;
#if (MUSB_DEBUG>0) #if (MUSB_DEBUG>0)
/* set/read debug level */ /* set/read debug level */
case 'D':{ case 'D':{
...@@ -733,6 +742,7 @@ static int musb_proc_write(struct file *file, const char __user *buffer, ...@@ -733,6 +742,7 @@ static int musb_proc_write(struct file *file, const char __user *buffer,
INFO("I/i: hispeed enable/disable\n"); INFO("I/i: hispeed enable/disable\n");
INFO("F: force session start\n"); INFO("F: force session start\n");
INFO("H: host mode\n"); INFO("H: host mode\n");
INFO("T: start sending TEST_PACKET\n");
INFO("D: set/read dbug level\n"); INFO("D: set/read dbug level\n");
break; break;
#endif #endif
......
...@@ -334,10 +334,12 @@ static const u8 musb_test_packet[53] = { ...@@ -334,10 +334,12 @@ static const u8 musb_test_packet[53] = {
void musb_load_testpacket(struct musb *musb) void musb_load_testpacket(struct musb *musb)
{ {
void __iomem *regs = musb->aLocalEnd[0].regs;
MGC_SelectEnd(musb->pRegs, 0); MGC_SelectEnd(musb->pRegs, 0);
musb_write_fifo(musb->control_ep, musb_write_fifo(musb->control_ep,
sizeof(musb_test_packet), musb_test_packet); sizeof(musb_test_packet), musb_test_packet);
musb_writew(musb->pRegs, MGC_O_HDRC_CSR0, MGC_M_CSR0_TXPKTRDY); musb_writew(regs, MGC_O_HDRC_CSR0, MGC_M_CSR0_TXPKTRDY);
} }
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment