m8xxhci USB host controler on FADS823

IGOR LURI iluri at fagorautomation.es
Tue Oct 30 21:30:25 EST 2001


Hi all,

I am trying to use Brad's HCI driver (m8xxhci.c) on my FADS823 board. I have
some modifications in  m8xxhci.c to adapt it to the FADS board.

When linux boots, the following messages appear:

Linux version 2.4.4 (root at ILURI2000) (gcc version 2.95.3 20010315
(release/MontaVista)) #41 mar oct 30 10:24:43 EST 2001
USB uCode patch installed
MPC823 LCD memory at C019F000
On node 0 totalpages: 2048
zone(0): 2048 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0 root=/dev/ram init=/linuxrc
NR_IRQS=32 NR_SIU_INTS=16 RTL_SOFT_IRQS_FILL=16
Decrementer Frequency: 3000000
Console: colour dummy device 80x25
Calibrating delay loop... 47.82 BogoMIPS
Memory: 5712k available (1104k kernel code, 476k data, 60k init, 0k highmem)
Dentry-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd v1.8
Console: switching to colour frame buffer device 80x30
fb0:  MPC823 LCD frame buffer device
CPM UART driver version 0.03
ttyS0 on SMC1 at 0x0280, BRG2
pty: 256 Unix98 ptys configured
block: queued sectors max/low 3680kB/1226kB, 64 slots per queue
RAMDISK driver initialized: 16 RAM disks of 2048K size 1024 blocksize
eth0: CPM ENET Version 0.2 on SCC2, 08:00:22:50:70:63
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 4194301k freed
loop: loaded (max 8 devices)
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
m8xxhci: initializing controller
m8xxhci_setup()
usb.c: new USB bus registered, assigned bus number 1
m8xxhci_start_controller()
m8xxhci: MPC823B mask 1
m8xxhci: USING CLK3 for SOF timer!
ring sizes: rx 32, tx 40
m8xxhci_init() enable USB controller
m8xxhci_timer_start()
intfreq 48, busfreq 48, count 3000
m8xxhci: USING BRG1 FOR SOF!
intfreq 48, count 3000
usb bus: NOT idle
m8xxhci: initializing done
usb.c: registered new driver hid
usb.c: null device being checked!!!
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
m8xxhci: control thread starting
EXT2-fs warning: checktime reached, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 60k init


BusyBox v0.60.0 (2001.10.05-20:58+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.


It seems everything is OK because it detects a device (usb bus: NOT idle),
but it doesn't recognize de device (usb.c: null device being checked!!!).
If I mount usb dev file system I see that it is an error when I try to read
devices:

# mount -n -t usbdevfs /proc/bus/usb /proc/bus/usb

# ls /proc/bus/usb
001      devices  drivers

# cat /proc/bus/usb/drivers
         usbdevfs
         hub
         hid

#cat /proc/bus/usb/devices
Oops: kernel access of bad area, sig: 11
NIP: C00BC998 XER: C0008C7E LR: C00BC988 SP: C069FDF0 REGS: c069fd40 TRAP:
0300
MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
DAR: 0000009C, DSISR: 0000013C
TASK = c069e000[28] 'cat' Last syscall: 3
last math 00000000 last altivec 00000000
GPR00: C00BC988 C069FDF0 C069E000 C0698000 00001032 C069FE48 00000000
00000001
GPR08: 00000000 00000000 C020E150 00000000 95229295 100DBCF8 0079E000
0075F319
GPR16: 00000000 00000001 0075F2B0 0075F2F0 00000000 C016D3E0 C069FE40
00000000
GPR24: C069FE44 C023CB20 00000000 C069FE48 00000000 00000000 C0698000
00000000
Call backtrace:
C00BC988 C00BCD18 C0031BB0 C000259C 00000000 1002B070 1002725C
100272C0 1000038C 10024E10 10024A90 1002E65C 00000000
SIGSEGV
#


It is clear that it doesn't understand something. What I am doing wrong?

If someone knows what I am doing wrong, please help me.
Thanks.

Igor Luri


Here is my kernel configuration:

/*
 * Automatically generated by make menuconfig: don't edit
 */
#define AUTOCONF_INCLUDED
#undef  CONFIG_UID16
#undef  CONFIG_RWSEM_GENERIC_SPINLOCK
#define CONFIG_RWSEM_XCHGADD_ALGORITHM 1

/*
 * Code maturity level options
 */
#define CONFIG_EXPERIMENTAL 1

/*
 * Loadable module support
 */
#define CONFIG_MODULES 1
#define CONFIG_MODVERSIONS 1
#define CONFIG_KMOD 1

/*
 * Platform support
 */
#define CONFIG_PPC 1
#undef  CONFIG_6xx
#undef  CONFIG_4xx
#undef  CONFIG_POWER3
#undef  CONFIG_POWER4
#define CONFIG_8xx 1
#define CONFIG_SERIAL_CONSOLE 1
#undef  CONFIG_RPXLITE
#undef  CONFIG_RPXCLASSIC
#undef  CONFIG_BSEIP
#define CONFIG_FADS 1
#undef  CONFIG_TQM823L
#undef  CONFIG_TQM850L
#undef  CONFIG_TQM855L
#undef  CONFIG_TQM860L
#undef  CONFIG_FPS850L
#undef  CONFIG_TQM860
#undef  CONFIG_SPD823TS
#undef  CONFIG_IVMS8
#undef  CONFIG_IVML24
#undef  CONFIG_SM850
#undef  CONFIG_HERMES
#undef  CONFIG_HERMES_SH
#undef  CONFIG_IP860
#undef  CONFIG_LWMON
#undef  CONFIG_PCU_E
#undef  CONFIG_LANTEC
#undef  CONFIG_MBX
#undef  CONFIG_WINCEPT
#undef  CONFIG_PPC601_SYNC_FIX
#undef  CONFIG_ALL_PPC
#define CONFIG_RTLINUX 1
#undef  CONFIG_SMP
#define CONFIG_MACH_SPECIFIC 1
#undef  CONFIG_MATH_EMULATION
#undef  CONFIG_SASH

/*
 * General setup
 */
#undef  CONFIG_HIGHMEM
#undef  CONFIG_ISA
#undef  CONFIG_EISA
#undef  CONFIG_SBUS
#undef  CONFIG_MCA
#undef  CONFIG_PCI_QSPAN
#undef  CONFIG_PCI
#define CONFIG_NET 1
#define CONFIG_SYSCTL 1
#define CONFIG_SYSVIPC 1
#undef  CONFIG_BSD_PROCESS_ACCT
#define CONFIG_KCORE_ELF 1
#define CONFIG_BINFMT_ELF 1
#define CONFIG_KERNEL_ELF 1
#undef  CONFIG_BINFMT_MISC
#define CONFIG_HOTPLUG 1

/*
 * PCMCIA/CardBus support
 */
#undef  CONFIG_PCMCIA

/*
 * Parallel port support
 */
#undef  CONFIG_PARPORT

/*
 * Memory Technology Devices (MTD)
 */
#define CONFIG_MTD 1
#undef  CONFIG_MTD_DEBUG
#undef  CONFIG_MTD_DOC1000
#undef  CONFIG_MTD_DOC2000
#undef  CONFIG_MTD_DOC2001
#undef  CONFIG_MTD_DOCPROBE
#undef  CONFIG_MTD_SLRAM
#undef  CONFIG_MTD_PMC551
#undef  CONFIG_MTD_MTDRAM
#undef  CONFIG_MTD_CFI
#undef  CONFIG_MTD_CFI_INTELEXT
#undef  CONFIG_MTD_CFI_AMDSTD
#undef  CONFIG_MTD_RAM
#undef  CONFIG_MTD_ROM
#undef  CONFIG_MTD_JEDEC
#undef  CONFIG_MTD_PHYSMAP
#undef  CONFIG_MTD_MIXMEM
#undef  CONFIG_MTD_NORA
#undef  CONFIG_MTD_OCTAGON
#undef  CONFIG_MTD_PNC2000
#undef  CONFIG_MTD_RPXLITE
#undef  CONFIG_MTD_VMAX
#undef  CONFIG_MTD_CHAR
#undef  CONFIG_MTD_BLOCK
#undef  CONFIG_FTL
#undef  CONFIG_NFTL

/*
 * Plug and Play configuration
 */
#undef  CONFIG_PNP
#undef  CONFIG_ISAPNP

/*
 * Block devices
 */
#undef  CONFIG_BLK_DEV_FD
#undef  CONFIG_BLK_DEV_XD
#undef  CONFIG_PARIDE
#undef  CONFIG_BLK_CPQ_DA
#undef  CONFIG_BLK_CPQ_CISS_DA
#undef  CONFIG_BLK_DEV_DAC960
#define CONFIG_BLK_DEV_LOOP 1
#undef  CONFIG_BLK_DEV_NBD
#define CONFIG_BLK_DEV_RAM 1
#define CONFIG_BLK_DEV_RAM_SIZE (2048)
#define CONFIG_BLK_DEV_INITRD 1

/*
 * Multi-device support (RAID and LVM)
 */
#undef  CONFIG_MD
#undef  CONFIG_BLK_DEV_MD
#undef  CONFIG_MD_LINEAR
#undef  CONFIG_MD_RAID0
#undef  CONFIG_MD_RAID1
#undef  CONFIG_MD_RAID5
#undef  CONFIG_BLK_DEV_LVM

/*
 * Networking options
 */
#undef  CONFIG_PACKET
#undef  CONFIG_NETLINK
#undef  CONFIG_NETFILTER
#undef  CONFIG_FILTER
#undef  CONFIG_UNIX
#define CONFIG_INET 1
#undef  CONFIG_IP_MULTICAST
#undef  CONFIG_IP_ADVANCED_ROUTER
#undef  CONFIG_IP_PNP
#undef  CONFIG_NET_IPIP
#undef  CONFIG_NET_IPGRE
#undef  CONFIG_INET_ECN
#undef  CONFIG_SYN_COOKIES
#undef  CONFIG_IPV6
#undef  CONFIG_KHTTPD
#undef  CONFIG_ATM
#undef  CONFIG_IPX
#undef  CONFIG_ATALK
#undef  CONFIG_DECNET
#undef  CONFIG_BRIDGE
#undef  CONFIG_X25
#undef  CONFIG_LAPB
#undef  CONFIG_LLC
#undef  CONFIG_NET_DIVERT
#undef  CONFIG_ECONET
#undef  CONFIG_WAN_ROUTER
#undef  CONFIG_NET_FASTROUTE
#undef  CONFIG_NET_HW_FLOWCONTROL

/*
 * QoS and/or fair queueing
 */
#undef  CONFIG_NET_SCHED

/*
 * ATA/IDE/MFM/RLL support
 */
#undef  CONFIG_IDE
#undef  CONFIG_BLK_DEV_IDE_MODES
#undef  CONFIG_BLK_DEV_HD

/*
 * SCSI support
 */
#undef  CONFIG_SCSI

/*
 * Network device support
 */
#define CONFIG_NETDEVICES 1

/*
 * ARCnet devices
 */
#undef  CONFIG_ARCNET
#undef  CONFIG_DUMMY
#undef  CONFIG_BONDING
#undef  CONFIG_EQUALIZER
#undef  CONFIG_TUN
#undef  CONFIG_NET_SB1000

/*
 * Ethernet (10 or 100Mbit)
 */
#define CONFIG_NET_ETHERNET 1
#undef  CONFIG_MACE
#undef  CONFIG_BMAC
#undef  CONFIG_GMAC
#undef  CONFIG_NCR885E
#undef  CONFIG_OAKNET
#undef  CONFIG_NET_VENDOR_3COM
#undef  CONFIG_LANCE
#undef  CONFIG_NET_VENDOR_SMC
#undef  CONFIG_NET_VENDOR_RACAL
#undef  CONFIG_AT1700
#undef  CONFIG_DEPCA
#undef  CONFIG_NET_ISA
#undef  CONFIG_NET_PCI
#undef  CONFIG_NET_POCKET

/*
 * Ethernet (1000 Mbit)
 */
#undef  CONFIG_ACENIC
#undef  CONFIG_HAMACHI
#undef  CONFIG_YELLOWFIN
#undef  CONFIG_SK98LIN
#undef  CONFIG_FDDI
#undef  CONFIG_HIPPI
#undef  CONFIG_PPP
#undef  CONFIG_SLIP

/*
 * Wireless LAN (non-hamradio)
 */
#undef  CONFIG_NET_RADIO

/*
 * Token Ring devices
 */
#undef  CONFIG_TR
#undef  CONFIG_NET_FC
#undef  CONFIG_RCPCI
#undef  CONFIG_SHAPER

/*
 * Wan interfaces
 */
#undef  CONFIG_WAN

/*
 * Amateur Radio support
 */
#undef  CONFIG_HAMRADIO

/*
 * IrDA (infrared) support
 */
#undef  CONFIG_IRDA

/*
 * ISDN subsystem
 */
#undef  CONFIG_ISDN

/*
 * Old CD-ROM drivers (not SCSI, not IDE)
 */
#undef  CONFIG_CD_NO_IDESCSI

/*
 * Console drivers
 */

/*
 * Frame-buffer support
 */
#define CONFIG_FB 1
#define CONFIG_DUMMY_CONSOLE 1
#undef  CONFIG_FB_CYBER2000
#undef  CONFIG_FB_OF
#undef  CONFIG_FB_CONTROL
#undef  CONFIG_FB_PLATINUM
#undef  CONFIG_FB_VALKYRIE
#undef  CONFIG_FB_CT65550
#undef  CONFIG_FB_IMSTT
#undef  CONFIG_FB_S3TRIO
#undef  CONFIG_FB_VGA16
#undef  CONFIG_FB_E1355
#undef  CONFIG_FB_VIRTUAL
#define CONFIG_FBCON_ADVANCED 1
#undef  CONFIG_FBCON_MFB
#undef  CONFIG_FBCON_CFB2
#undef  CONFIG_FBCON_CFB4
#define CONFIG_FBCON_CFB8 1
#define CONFIG_FBCON_CFB16 1
#define CONFIG_FBCON_CFB24 1
#define CONFIG_FBCON_CFB32 1
#undef  CONFIG_FBCON_AFB
#undef  CONFIG_FBCON_ILBM
#undef  CONFIG_FBCON_IPLAN2P2
#undef  CONFIG_FBCON_IPLAN2P4
#undef  CONFIG_FBCON_IPLAN2P8
#undef  CONFIG_FBCON_MAC
#undef  CONFIG_FBCON_VGA_PLANES
#undef  CONFIG_FBCON_VGA
#undef  CONFIG_FBCON_HGA
#undef  CONFIG_FBCON_FONTWIDTH8_ONLY
#define CONFIG_FBCON_FONTS 1
#define CONFIG_FONT_8x8 1
#define CONFIG_FONT_8x16 1
#undef  CONFIG_FONT_SUN8x16
#undef  CONFIG_FONT_SUN12x22
#undef  CONFIG_FONT_6x11
#undef  CONFIG_FONT_PEARL_8x8
#undef  CONFIG_FONT_ACORN_8x8

/*
 * Input core support
 */
#define CONFIG_INPUT 1
#define CONFIG_INPUT_KEYBDEV 1
#define CONFIG_INPUT_MOUSEDEV 1
#define CONFIG_INPUT_MOUSEDEV_SCREEN_X (640)
#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y (480)
#undef  CONFIG_INPUT_JOYDEV
#define CONFIG_INPUT_EVDEV 1

/*
 * Macintosh device drivers
 */

/*
 * Character devices
 */
#define CONFIG_VT 1
#define CONFIG_VT_CONSOLE 1
#undef  CONFIG_SERIAL
#undef  CONFIG_SERIAL_EXTENDED
#undef  CONFIG_SERIAL_NONSTANDARD
#define CONFIG_UNIX98_PTYS 1
#define CONFIG_UNIX98_PTY_COUNT (256)

/*
 * I2C support
 */
#undef  CONFIG_I2C

/*
 * Mice
 */
#undef  CONFIG_BUSMOUSE
#undef  CONFIG_MOUSE

/*
 * Joysticks
 */
#undef  CONFIG_JOYSTICK
#undef  CONFIG_QIC02_TAPE

/*
 * Watchdog Cards
 */
#undef  CONFIG_WATCHDOG
#undef  CONFIG_INTEL_RNG
#undef  CONFIG_NVRAM
#undef  CONFIG_RTC
#undef  CONFIG_DTLK
#undef  CONFIG_R3964
#undef  CONFIG_APPLICOM
#undef  CONFIG_FLASH

/*
 * Ftape, the floppy tape device driver
 */
#undef  CONFIG_FTAPE
#undef  CONFIG_AGP
#undef  CONFIG_DRM

/*
 * Multimedia devices
 */
#undef  CONFIG_VIDEO_DEV

/*
 * File systems
 */
#undef  CONFIG_QUOTA
#undef  CONFIG_AUTOFS_FS
#undef  CONFIG_AUTOFS4_FS
#undef  CONFIG_REISERFS_FS
#undef  CONFIG_REISERFS_CHECK
#undef  CONFIG_ADFS_FS
#undef  CONFIG_ADFS_FS_RW
#undef  CONFIG_AFFS_FS
#undef  CONFIG_HFS_FS
#undef  CONFIG_BFS_FS
#undef  CONFIG_FAT_FS
#undef  CONFIG_MSDOS_FS
#undef  CONFIG_UMSDOS_FS
#undef  CONFIG_VFAT_FS
#undef  CONFIG_EFS_FS
#undef  CONFIG_JFFS_FS
#undef  CONFIG_CRAMFS
#undef  CONFIG_TMPFS
#undef  CONFIG_RAMFS
#undef  CONFIG_ISO9660_FS
#undef  CONFIG_JOLIET
#undef  CONFIG_MINIX_FS
#undef  CONFIG_NTFS_FS
#undef  CONFIG_NTFS_RW
#undef  CONFIG_HPFS_FS
#define CONFIG_PROC_FS 1
#undef  CONFIG_DEVFS_FS
#undef  CONFIG_DEVFS_MOUNT
#undef  CONFIG_DEVFS_DEBUG
#define CONFIG_DEVPTS_FS 1
#undef  CONFIG_QNX4FS_FS
#undef  CONFIG_QNX4FS_RW
#undef  CONFIG_ROMFS_FS
#define CONFIG_EXT2_FS 1
#undef  CONFIG_SYSV_FS
#undef  CONFIG_SYSV_FS_WRITE
#undef  CONFIG_UDF_FS
#undef  CONFIG_UDF_RW
#undef  CONFIG_UFS_FS
#undef  CONFIG_UFS_FS_WRITE

/*
 * Network File Systems
 */
#undef  CONFIG_CODA_FS
#define CONFIG_NFS_FS 1
#define CONFIG_NFS_V3 1
#undef  CONFIG_ROOT_NFS
#define CONFIG_NFSD 1
#define CONFIG_NFSD_V3 1
#define CONFIG_SUNRPC 1
#define CONFIG_LOCKD 1
#define CONFIG_LOCKD_V4 1
#undef  CONFIG_SMB_FS
#undef  CONFIG_NCP_FS
#undef  CONFIG_NCPFS_PACKET_SIGNING
#undef  CONFIG_NCPFS_IOCTL_LOCKING
#undef  CONFIG_NCPFS_STRONG
#undef  CONFIG_NCPFS_NFS_NS
#undef  CONFIG_NCPFS_OS2_NS
#undef  CONFIG_NCPFS_SMALLDOS
#undef  CONFIG_NCPFS_NLS
#undef  CONFIG_NCPFS_EXTRAS

/*
 * Partition Types
 */
#define CONFIG_PARTITION_ADVANCED 1
#undef  CONFIG_ACORN_PARTITION
#undef  CONFIG_OSF_PARTITION
#undef  CONFIG_AMIGA_PARTITION
#undef  CONFIG_ATARI_PARTITION
#undef  CONFIG_MAC_PARTITION
#undef  CONFIG_MSDOS_PARTITION
#undef  CONFIG_SGI_PARTITION
#undef  CONFIG_ULTRIX_PARTITION
#undef  CONFIG_SUN_PARTITION
#undef  CONFIG_SMB_NLS
#undef  CONFIG_NLS

/*
 * Sound
 */
#undef  CONFIG_SOUND

/*
 * MPC8xx CPM Options
 */
#define CONFIG_SCC_ENET 1
#undef  CONFIG_SCC1_ENET
#define CONFIG_SCC2_ENET 1
#undef  CONFIG_SCC3_ENET
#undef  CONFIG_FEC_ENET
#undef  CONFIG_ENET_BIG_BUFFERS
#define CONFIG_SMC1_UART_RX_BDNUM (4)
#define CONFIG_SMC1_UART_RX_BDSIZE (32)
#define CONFIG_SMC1_UART_TX_BDNUM (4)
#define CONFIG_SMC1_UART_TX_BDSIZE (32)
#undef  CONFIG_SMC2_UART
#undef  CONFIG_USE_SCC_IO
#define CONFIG_8xx_COPYBACK 1
#undef  CONFIG_8xx_CPU6
#define CONFIG_8xx_LCD 1
#undef  CONFIG_SHARP_LQ64D341
#define CONFIG_SHARP_LQ10D42 1
#undef  CONFIG_HLD1045
#undef  CONFIG_SHARP_16x9
#undef  CONFIG_NEC_NL6648AC33
#undef  CONFIG_8xx_BUZZER

/*
 * USB support
 */
#define CONFIG_USB 1
#define CONFIG_USB_DEBUG 1
#define CONFIG_USB_DEVICEFS 1
#undef  CONFIG_USB_BANDWIDTH
#undef  CONFIG_USB_UHCI
#undef  CONFIG_USB_UHCI_ALT
#undef  CONFIG_USB_OHCI
#define CONFIG_USB_MPC8xx 1
#define CONFIG_UCODE_PATCH 1
#undef  CONFIG_USB_AUDIO
#undef  CONFIG_USB_BLUETOOTH
#undef  CONFIG_USB_STORAGE
#undef  CONFIG_USB_ACM
#undef  CONFIG_USB_PRINTER
#define CONFIG_USB_HID 1
#undef  CONFIG_USB_WACOM
#undef  CONFIG_USB_DC2XX
#undef  CONFIG_USB_MDC800
#undef  CONFIG_USB_SCANNER
#undef  CONFIG_USB_MICROTEK
#undef  CONFIG_USB_IBMCAM
#undef  CONFIG_USB_OV511
#undef  CONFIG_USB_DSBR
#undef  CONFIG_USB_DABUSB
#undef  CONFIG_USB_PLUSB
#undef  CONFIG_USB_PEGASUS
#undef  CONFIG_USB_NET1080
#undef  CONFIG_USB_USS720

/*
 * USB Serial Converter support
 */
#undef  CONFIG_USB_SERIAL
#undef  CONFIG_USB_RIO500

/*
 * Kernel hacking
 */
#undef  CONFIG_MAGIC_SYSRQ
#undef  CONFIG_KGDB
#undef  CONFIG_XMON


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list