|
From: <mar...@us...> - 2007-05-22 11:23:22
|
Revision: 988
http://svn.sourceforge.net/hackndev/?rev=988&view=rev
Author: marex_z71
Date: 2007-05-22 04:23:20 -0700 (Tue, 22 May 2007)
Log Message:
-----------
PalmLD: Some tweaks to USB2 code ... demo version!!
Modified Paths:
--------------
linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.c
linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.h
Modified: linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.c
===================================================================
--- linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.c 2007-05-20 19:00:00 UTC (rev 987)
+++ linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.c 2007-05-22 11:23:20 UTC (rev 988)
@@ -53,7 +53,6 @@
#include <linux/usb_gadget.h>
#include <asm/arch/sx2.h>
-#include <asm/arch/palmld-gpio.h>
#include "sx2_udc.h"
@@ -266,13 +265,13 @@
| (reg & SX2_ADDR_MASK);
printk("READING 0x%02x\n",reg);
- SX2_ADDR_CMD=data;
-// while((gpio_get_value(sx2_udc.mach->ready_pin)?1:0)==0) {
- while((GET_PALMLD_GPIO(USB_READY)?1:0)==0) {
- printk("WAITING FOR IRQ\n");
+ writeb(data,SX2_ADDR_CMD);
+/* while((gpio_get_value(sx2_mach.ready_pin)?1:0)==0) {
+ msleep(1);
};
+*/
printk("REG 0x%02x F2 0x%02x F4 0x%02x\n",reg,SX2_ADDR_FIFO2,SX2_ADDR_FIFO4);
- printk("REG 0x%02x F2 0x%02x F4 0x%02x\n",reg,SX2_ADDR_FIFO6,SX2_ADDR_FIFO8);
+ printk("REG 0x%02x F6 0x%02x F8 0x%02x\n",reg,SX2_ADDR_FIFO6,SX2_ADDR_FIFO8);
printk("REG 0x%02x CD 0x%02x\n",reg,SX2_ADDR_CMD);
return 0;
}
@@ -281,11 +280,9 @@
{
/* initiate write to addr */
printk("SETTING 0x%02x\n",(reg | SX2_CMD_ADDR));
- SX2_ADDR_CMD=(reg | SX2_CMD_ADDR);
+ writeb((reg | SX2_CMD_ADDR),(SX2_ADDR_CMD));
/* wait for READY line */
-// while((gpio_get_value(sx2_udc.mach->ready_pin)?1:0)==0) {
- while((GET_PALMLD_GPIO(USB_READY)?1:0)==0) {
- printk("WAITING FOR IRQ\n");
+ while((gpio_get_value(sx2_mach.ready_pin)?1:0)==0) {
};
return 0;
@@ -299,28 +296,63 @@
/* initiate write to reg */
printk("UPPER NIBBLE %02x\n",(data1 | SX2_CMD_WRITE));
- SX2_ADDR_CMD=(data1 | SX2_CMD_WRITE);
+ writeb((data1 | SX2_CMD_WRITE),(SX2_ADDR_CMD));
/* wait for READY line */
-// while((gpio_get_value(sx2_udc.mach->ready_pin)?1:0)==0) {
- while((GET_PALMLD_GPIO(USB_READY)?1:0)==0) {
- printk("WAITING FOR IRQ\n");
+ while((gpio_get_value(sx2_mach.ready_pin)?1:0)==0) {
};
printk("LOWER NIBBLE %02x\n",(data2 | SX2_CMD_WRITE));
- SX2_ADDR_CMD=(data2 | SX2_CMD_WRITE);
+ writeb((data2 | SX2_CMD_WRITE),(SX2_ADDR_CMD));
/* wait for READY line */
-// while((gpio_get_value(sx2_udc.mach->ready_pin)?1:0)==0) {
- while((GET_PALMLD_GPIO(USB_READY)?1:0)==0) {
- printk("WAITING FOR IRQ\n");
+ while((gpio_get_value(sx2_mach.ready_pin)?1:0)==0) {
};
return 0;
}
+void sx2_hwtest(void)
+{
+ sx2_cmd_set_reg(0x2E);
+ sx2_cmd_write(0xff);
+ for (;;) {
+ writeb(0x05,SX2_ADDR_CMD);
+ printk("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
+ (gpio_get_value(0)?"X":"-"), // 1 1 1
+ (gpio_get_value(9)?"X":"-"), // 0 0 0
+ (gpio_get_value(11)?"X":"-"), // 0 0 0
+ (gpio_get_value(18)?"X":"-"), // 1 1 1
+ (gpio_get_value(20)?"X":"-"), // 0 1 1
+ (gpio_get_value(23)?"X":"-"), // 1 1 1
+ (gpio_get_value(24)?"X":"-"), // 1 1 1
+ (gpio_get_value(34)?"X":"-"), // 1 1 1
+ (gpio_get_value(37)?"X":"-"), // 1 1 1
+ (gpio_get_value(39)?"X":"-"), // 1 1 1
+ (gpio_get_value(53)?"X":"-"), // 1 0 0
+ (gpio_get_value(82)?"X":"-"), // 1 1 1
+ (gpio_get_value(86)?"X":"-"), // 1 1 X
+ (gpio_get_value(87)?"X":"-"), // 0 0 0
+ (gpio_get_value(88)?"X":"-"), // 1 1 1
+ (gpio_get_value(90)?"X":"-"), // 0 0 0
+ (gpio_get_value(93)?"X":"-"), // 1 1 1
+ (gpio_get_value(99)?"X":"-"), // 0 0 0
+ (gpio_get_value(106)?"X":"-"), // 0 0 0
+ (gpio_get_value(107)?"X":"-"), // 0 0 0
+ (gpio_get_value(113)?"X":"-"), // 1 1 1
+ (gpio_get_value(114)?"X":"-"), // 0 0 0
+ (gpio_get_value(116)?"X":"-"), // 1 1 1
+ (gpio_get_value(117)?"X":"-"), // 1 1 1
+ (gpio_get_value(118)?"X":"-"), // 1 1 1
+ (gpio_get_value(119)?"X":"-"), // 1 1 1
+ (gpio_get_value(120)?"X":"-") // 1 1 1
+ ); // def rst wrt
+ }
+/* printk("REG 0x%02x %02x %02x %02x %02x %02x\n",0x05,readb(SX2_ADDR_FIFO2),readb(SX2_ADDR_FIFO4),
+ readb(SX2_ADDR_FIFO6),readb(SX2_ADDR_FIFO8),readb(SX2_ADDR_CMD));
+*/
+ for (;;);
+}
-
-
/*
GADGET LEVEL HANDLING STUFF
*/
@@ -378,6 +410,7 @@
udelay(100);
gpio_set_value(usb->mach->power_pin,1);
udelay(500);
+/* sx2_hwtest(); */
sx2_enum();
printk("SX2: sx2_udc_probe DONE\n");
return 0;
@@ -419,14 +452,3 @@
MODULE_DESCRIPTION("Cypress EZUSB SX2 Peripheral Controller");
MODULE_AUTHOR("Marek Vasut");
MODULE_LICENSE("GPL");
-
-
-
-
-
-
-
-
-
-
-
Modified: linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.h
===================================================================
--- linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.h 2007-05-20 19:00:00 UTC (rev 987)
+++ linux4palm/linux/trunk/drivers/usb/gadget/sx2_udc.h 2007-05-22 11:23:20 UTC (rev 988)
@@ -94,18 +94,16 @@
***************************************************/
#define SX2_ADDR_BASE 0xf0000000
-#define SX2_ADDR_IF(x) (*((volatile u8 *)x))
-
/* We have 16bit bus of the chip connected to 32 bit bus of CPU */
-#define SX2_ADDR_FIFO2 SX2_ADDR_IF (SX2_ADDR_BASE + 0x00)
-#define SX2_ADDR_FIFO4 SX2_ADDR_IF (SX2_ADDR_BASE + 0x01)
-#define SX2_ADDR_FIFO6 SX2_ADDR_IF (SX2_ADDR_BASE + 0x04)
-#define SX2_ADDR_FIFO8 SX2_ADDR_IF (SX2_ADDR_BASE + 0x05)
-#define SX2_ADDR_CMD SX2_ADDR_IF (SX2_ADDR_BASE + 0x08)
-#define SX2_ADDR_RESERVED1 SX2_ADDR_IF (SX2_ADDR_BASE + 0x09)
-#define SX2_ADDR_RESERVED2 SX2_ADDR_IF (SX2_ADDR_BASE + 0x0C)
-#define SX2_ADDR_RESERVED3 SX2_ADDR_IF (SX2_ADDR_BASE + 0x0D)
+#define SX2_ADDR_FIFO2 (SX2_ADDR_BASE + 0x00)
+#define SX2_ADDR_FIFO4 (SX2_ADDR_BASE + 0x01)
+#define SX2_ADDR_FIFO6 (SX2_ADDR_BASE + 0x04)
+#define SX2_ADDR_FIFO8 (SX2_ADDR_BASE + 0x05)
+#define SX2_ADDR_CMD (SX2_ADDR_BASE + 0x08)
+#define SX2_ADDR_RESERVED1 (SX2_ADDR_BASE + 0x09)
+#define SX2_ADDR_RESERVED2 (SX2_ADDR_BASE + 0x0C)
+#define SX2_ADDR_RESERVED3 (SX2_ADDR_BASE + 0x0D)
/***************************************************
* SX2 COMMANDS *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|