ppc4xx: Remove usbdev.c

As this "driver" doesn't seem to be really used, let's remove
it completely.

Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Stefan Roese 2011-11-18 02:38:17 +00:00 committed by Wolfgang Denk
parent c786f54b9a
commit ce2acd371c
5 changed files with 0 additions and 274 deletions

View File

@ -61,7 +61,6 @@ COBJS += tlb.o
COBJS += traps.o
COBJS += usb.o
COBJS += usb_ohci.o
COBJS += usbdev.o
COBJS-$(CONFIG_XILINX_440) += xilinx_irq.o
ifndef CONFIG_XILINX_440
COBJS += 4xx_uart.o

View File

@ -30,8 +30,6 @@
DECLARE_GLOBAL_DATA_PTR;
#endif
#include "usbdev.h"
int usb_cpu_init(void)
{
#ifdef CONFIG_4xx_DCACHE
@ -39,9 +37,6 @@ int usb_cpu_init(void)
change_tlb(gd->bd->bi_memstart, gd->bd->bi_memsize, TLB_WORD2_I_ENABLE);
#endif
#if defined(CONFIG_440EP) || defined(CONFIG_440EPX)
usb_dev_init();
#endif
return 0;
}

View File

@ -44,8 +44,6 @@
#include <usb.h>
#include "usb_ohci.h"
#include "usbdev.h"
#define OHCI_USE_NPS /* force NoPowerSwitching mode */
#undef OHCI_VERBOSE_DEBUG /* not always helpful */
#undef DEBUG
@ -1623,11 +1621,6 @@ int usb_lowlevel_init(void)
ohci_inited = 1;
urb_finished = 1;
#if defined(CONFIG_440EP) || defined(CONFIG_440EPX)
/* init the device driver */
usb_dev_init();
#endif
return 0;
}

View File

@ -1,230 +0,0 @@
/*USB 1.1,2.0 device*/
#include <common.h>
#include <asm/processor.h>
#if (defined(CONFIG_440EP) || defined(CONFIG_440EPX)) && defined(CONFIG_CMD_USB)
#include <usb.h>
#include <asm/ppc4xx-uic.h>
#include "usbdev.h"
#define USB_DT_DEVICE 0x01
#define USB_DT_CONFIG 0x02
#define USB_DT_STRING 0x03
#define USB_DT_INTERFACE 0x04
#define USB_DT_ENDPOINT 0x05
int set_value = -1;
void process_endpoints(unsigned short usb2d0_intrin)
{
/*will hold the packet received */
struct usb_device_descriptor usb_device_packet;
struct usb_configuration_descriptor usb_config_packet;
struct usb_string_descriptor usb_string_packet;
struct devrequest setup_packet;
unsigned int *setup_packet_pt;
unsigned char *packet_pt = NULL;
int temp, temp1;
int i;
/*printf("{USB device} - endpoint 0x%X \n", usb2d0_intrin); */
/*set usb address, seems to not work unless it is done in the next
interrupt, so that is why it is done this way */
if (set_value != -1)
*(unsigned char *)USB2D0_FADDR_8 = (unsigned char)set_value;
/*endpoint 1 */
if (usb2d0_intrin & 0x01) {
setup_packet_pt = (unsigned int *)&setup_packet;
/*copy packet */
setup_packet_pt[0] = *(unsigned int *)USB2D0_FIFO_0;
setup_packet_pt[1] = *(unsigned int *)USB2D0_FIFO_0;
temp = *(unsigned int *)USB2D0_FIFO_0;
temp1 = *(unsigned int *)USB2D0_FIFO_0;
/*do some swapping */
setup_packet.value = swap_16(setup_packet.value);
setup_packet.index = swap_16(setup_packet.index);
setup_packet.length = swap_16(setup_packet.length);
/*clear rx packet */
*(unsigned short *)USB2D0_INCSR0_8 = 0x48;
/*printf("0x%X 0x%X 0x%X 0x%X 0x%X 0x%X 0x%X\n", setup_packet.requesttype,
setup_packet.request, setup_packet.value,
setup_packet.index, setup_packet.length, temp, temp1 ); */
switch (setup_packet.request) {
case USB_REQ_GET_DESCRIPTOR:
switch (setup_packet.value >> 8) {
case USB_DT_DEVICE:
/*create packet */
usb_device_packet.bLength = 18;
usb_device_packet.bDescriptorType =
USB_DT_DEVICE;
#ifdef USB_2_0_DEVICE
usb_device_packet.bcdUSB = swap_16(0x200);
#else
usb_device_packet.bcdUSB = swap_16(0x110);
#endif
usb_device_packet.bDeviceClass = 0xff;
usb_device_packet.bDeviceSubClass = 0;
usb_device_packet.bDeviceProtocol = 0;
usb_device_packet.bMaxPacketSize0 = 32;
usb_device_packet.idVendor = swap_16(1);
usb_device_packet.idProduct = swap_16(2);
usb_device_packet.bcdDevice = swap_16(0x300);
usb_device_packet.iManufacturer = 1;
usb_device_packet.iProduct = 1;
usb_device_packet.iSerialNumber = 1;
usb_device_packet.bNumConfigurations = 1;
/*put packet in fifo */
packet_pt = (unsigned char *)&usb_device_packet;
break;
case USB_DT_CONFIG:
/*create packet */
usb_config_packet.bLength = 9;
usb_config_packet.bDescriptorType =
USB_DT_CONFIG;
usb_config_packet.wTotalLength = swap_16(25);
usb_config_packet.bNumInterfaces = 1;
usb_config_packet.bConfigurationValue = 1;
usb_config_packet.iConfiguration = 0;
usb_config_packet.bmAttributes = 0x40;
usb_config_packet.bMaxPower = 0;
/*put packet in fifo */
packet_pt = (unsigned char *)&usb_config_packet;
break;
case USB_DT_STRING:
/*create packet */
usb_string_packet.bLength = 2;
usb_string_packet.bDescriptorType =
USB_DT_STRING;
usb_string_packet.wData[0] = 0x0094;
/*put packet in fifo */
packet_pt = (unsigned char *)&usb_string_packet;
break;
}
/*put packet in fifo */
for (i = 0; i < (setup_packet.length); i++) {
*(unsigned char *)USB2D0_FIFO_0 = packet_pt[i];
}
/*give tx command */
*(unsigned short *)USB2D0_INCSR0_8 = 0x0a;
break;
case USB_REQ_SET_ADDRESS:
/*copy usb address */
set_value = setup_packet.value;
break;
}
}
}
void process_other(unsigned char usb2d0_intrusb)
{
/*check for sof */
if (usb2d0_intrusb & 0x08) {
/*printf("{USB device} - sof detected\n"); */
}
/*check for reset */
if (usb2d0_intrusb & 0x04) {
/*printf("{USB device} - reset detected\n"); */
/*copy usb address of zero, need to do this when usb reset */
set_value = 0;
}
if (usb2d0_intrusb & 0x02) {
/*printf("{USB device} - resume detected\n"); */
}
if (usb2d0_intrusb & 0x01) {
/*printf("{USB device} - suspend detected\n"); */
}
}
int usbInt(void)
{
/*Must read these 2 registers and use values to clear interrupts. If you
do not read them then the interrupt will not be cleared. If you do not
use the variable the optimizer will not do a read. */
volatile unsigned short usb2d0_intrin =
*(unsigned short *)USB2D0_INTRIN_16;
volatile unsigned char usb2d0_intrusb =
*(unsigned char *)USB2D0_INTRUSB_8;
/*check if there was an endpoint interrupt */
if (usb2d0_intrin != 0) {
process_endpoints(usb2d0_intrin);
}
/*check for other interrupts */
if (usb2d0_intrusb != 0) {
process_other(usb2d0_intrusb);
}
return 0;
}
#if defined(CONFIG_440EPX)
void usb_dev_init()
{
printf("USB 2.0 Device init\n");
/*usb dev init */
*(unsigned char *)USB2D0_POWER_8 = 0xa1; /* 2.0 */
/*enable interrupts */
*(unsigned char *)USB2D0_INTRUSBE_8 = 0x0f;
irq_install_handler(VECNUM_USBDEV, (interrupt_handler_t *) usbInt,
NULL);
}
#else
void usb_dev_init()
{
#ifdef USB_2_0_DEVICE
printf("USB 2.0 Device init\n");
/*select 2.0 device */
mtsdr(SDR0_USB0, 0x0); /* 2.0 */
/*usb dev init */
*(unsigned char *)USB2D0_POWER_8 = 0xa1; /* 2.0 */
#else
printf("USB 1.1 Device init\n");
/*select 1.1 device */
mtsdr(SDR0_USB0, 0x2); /* 1.1 */
/*usb dev init */
*(unsigned char *)USB2D0_POWER_8 = 0xc0; /* 1.1 */
#endif
/*enable interrupts */
*(unsigned char *)USB2D0_INTRUSBE_8 = 0x0f;
irq_install_handler(VECNUM_USBDEV, (interrupt_handler_t *) usbInt,
NULL);
}
#endif
#endif /* CONFIG_440EP || CONFIG_440EPX */

View File

@ -1,31 +0,0 @@
#include <config.h>
/*Common Registers*/
#define USB2D0_INTRIN_16 (CONFIG_SYS_USB_DEVICE | 0x100)
#define USB2D0_POWER_8 (CONFIG_SYS_USB_DEVICE | 0x102)
#define USB2D0_FADDR_8 (CONFIG_SYS_USB_DEVICE | 0x103)
#define USB2D0_INTRINE_16 (CONFIG_SYS_USB_DEVICE | 0x104)
#define USB2D0_INTROUT_16 (CONFIG_SYS_USB_DEVICE | 0x106)
#define USB2D0_INTRUSBE_8 (CONFIG_SYS_USB_DEVICE | 0x108)
#define USB2D0_INTRUSB_8 (CONFIG_SYS_USB_DEVICE | 0x109)
#define USB2D0_INTROUTE_16 (CONFIG_SYS_USB_DEVICE | 0x10a)
#define USB2D0_TSTMODE_8 (CONFIG_SYS_USB_DEVICE | 0x10c)
#define USB2D0_INDEX_8 (CONFIG_SYS_USB_DEVICE | 0x10d)
#define USB2D0_FRAME_16 (CONFIG_SYS_USB_DEVICE | 0x10e)
/*Indexed Registers*/
#define USB2D0_INCSR0_8 (CONFIG_SYS_USB_DEVICE | 0x110)
#define USB2D0_INCSR_16 (CONFIG_SYS_USB_DEVICE | 0x110)
#define USB2D0_INMAXP_16 (CONFIG_SYS_USB_DEVICE | 0x112)
#define USB2D0_OUTCSR_16 (CONFIG_SYS_USB_DEVICE | 0x114)
#define USB2D0_OUTMAXP_16 (CONFIG_SYS_USB_DEVICE | 0x116)
#define USB2D0_OUTCOUNT0_8 (CONFIG_SYS_USB_DEVICE | 0x11a)
#define USB2D0_OUTCOUNT_16 (CONFIG_SYS_USB_DEVICE | 0x11a)
/*FIFOs*/
#define USB2D0_FIFO_0 (CONFIG_SYS_USB_DEVICE | 0x120)
#define USB2D0_FIFO_1 (CONFIG_SYS_USB_DEVICE | 0x124)
#define USB2D0_FIFO_2 (CONFIG_SYS_USB_DEVICE | 0x128)
#define USB2D0_FIFO_3 (CONFIG_SYS_USB_DEVICE | 0x12c)
void usb_dev_init(void);