From mboxrd@z Thu Jan 1 00:00:00 1970 Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 02 Sep 2004 18:49:56 +0100 (BST) Received: from gateway-1237.mvista.com ([IPv6:::ffff:12.44.186.158]:10484 "EHLO av.mvista.com") by linux-mips.org with ESMTP id ; Thu, 2 Sep 2004 18:49:50 +0100 Received: from [10.0.10.221] (av [127.0.0.1]) by av.mvista.com (8.9.3/8.9.3) with ESMTP id KAA18755; Thu, 2 Sep 2004 10:49:38 -0700 Message-ID: <41375D32.2050808@mvista.com> Date: Thu, 02 Sep 2004 10:49:38 -0700 From: Pete Popov User-Agent: Mozilla Thunderbird 0.7.3 (Windows/20040803) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ichinoh@mb.neweb.ne.jp CC: linux-mips@linux-mips.org Subject: Re: Reset of USB References: <649795CC-FCE2-11D8-BFE9-000A956B2316@mb.neweb.ne.jp> In-Reply-To: <649795CC-FCE2-11D8-BFE9-000A956B2316@mb.neweb.ne.jp> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-Path: X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0) X-Orcpt: rfc822;linux-mips@linux-mips.org Original-Recipient: rfc822;linux-mips@linux-mips.org X-archive-position: 5773 X-ecartis-version: Ecartis v1.0.0 Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org X-original-sender: ppopov@mvista.com Precedence: bulk X-list: linux-mips ichinoh@mb.neweb.ne.jp wrote: > Thank you for advice. > > I solved by setting up Frequency Control 0 register (FE2, FS2) > and setting 100 to a Clock Source Control register (MIR). > > However, in U-BOOT and YAMON, > behavior of a kernel differs about USB-KEYBOARD. > > A kernel is started using U-BOOT: > USB-KEYBOARD is not recognized. > > A kernel is started using YAMON: > USB-KEYBOARD is recognized. > > I am investigating this phenomenon now. I can't tell without the manual in front of me what it means to write 100 to the clock source control reg, so I can't tell if you're setting the right frequency. If I remember correctly, you need the clock to be 48MHz. Use the values that yamon is using that should do it. Also, there are multi-use pins that need to be set appropriately. I don't remember if everything was set in Linux or if we allowed yamon to do it. Finally, if you get all the software right and it's still not working, check the hardware design as well :) Pete > > > ---------------- U-BOOT dmesg --------------------- > memsize=67108864 > initrd_start=0xa0000000 > initrd_size=0 > CPU revision is: 02030204 > Primary instruction cache 16kB, physically tagged, 4-way, linesize 32 > bytes. > Primary data cache 16kB 4-way, linesize 32 bytes. > Linux version 2.4.21-p4b1 (root@localhost.localdomain) (gcc version > 3.2.3) #1 Wed Sep 1 18:31:23 JST > 2004 > AMD Alchemy Au1100/Db1100 Board > Determined physical RAM map: > User-defined physical RAM map: > memory: 04000000 @ 00000000 (usable) > Initial ramdisk at: 0x802fb000 (819200 bytes) > On node 0 totalpages: 16384 > zone(0): 16384 pages. > zone(1): 0 pages. > zone(2): 0 pages. > Kernel command line: root=/dev/hda2 video=au1100fb:panel:s10,nohwcurs > mem=67108864 au1000_audio=vra > usb_ohci=base:0x10100000,len:0x100000,irq:26 > au1100fb: Panel 9 800x600_16 > calculating r4koff... 003c6de5(3960293) > CPU frequency 396.03 MHz > Console: colour dummy device 80x25 > Calibrating delay loop... 395.67 BogoMIPS > Memory: 59976k/65536k available (1809k kernel code, 5560k reserved, > 916k data, 80k init, 0k highmem) > Dentry cache hash table entries: 8192 (order: 4, 65536 bytes) > Inode cache hash table entries: 4096 (order: 3, 32768 bytes) > Mount cache hash table entries: 512 (order: 0, 4096 bytes) > Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) > Page-cache hash table entries: 16384 (order: 4, 65536 bytes) > Checking for 'wait' instruction... available. > POSIX conformance testing by UNIFIX > Linux NET4.0 for Linux 2.4 > Based upon Swansea University Computer Society NET3.039 > Initializing RT netlink socket > Starting kswapd > Journalled Block Device driver loaded > Console: switching to colour frame buffer device 100x37 > fb0: Au1100 LCD frame buffer device > initialize_kbd: Keyboard failed self test > pty: 256 Unix98 ptys configured > keyboard: Timeout - AT keyboard not present?(ed) > keyboard: Timeout - AT keyboard not present?(f4) > RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize > loop: loaded (max 8 devices) > au1000eth.c:1.1 ppopov@mvista.com > eth0: Au1xxx ethernet found at 0xb0500000, irq 28 > eth0: No mac address found > eth0: AMD 79C874 10/100 BaseT PHY at phy address 31 > eth0: Using AMD 79C874 10/100 BaseT PHY as default > Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4 > ide: Assuming 50MHz system bus speed for PIO modes; override with > idebus=xx > ide0: ports already in use, skipping probe > ide1: ports already in use, skipping probe > ide2: ports already in use, skipping probe > ide3: ports already in use, skipping probe > ide4: ports already in use, skipping probe > ide5: ports already in use, skipping probe > Au1000 audio: stevel@mvista.com, built 18:34:06 on Sep 1 2004 > Au1000 audio: DAC: DMA0/IRQ6, ADC: DMA1/IRQ7 > ac97_codec: AC97 Audio codec, id: 0x8384:0x7652 (SigmaTel STAC9752/53) > Au1000 audio: AC'97 Base/Extended ID = 6a90/0a05 > Db1xxx flash: probing 32-bit flash bus > Amd/Fujitsu Extended Query Table v1.3 at 0x0040 > number of CFI chips: 1 > cfi_cmdset_0002: Disabling fast programming due to code brokenness. > Creating 2 MTD partitions on "Db1x00 flash": > 0x00000000-0x00e00000 : "User FS" > 0x00e00000-0x01000000 : "raw kernel" > usb.c: registered new driver usbdevfs > usb.c: registered new driver hub > usb-ohci.c: USB OHCI at membase 0xb0100000, IRQ 26 > usb-ohci.c: usb-builtin, non-PCI OHCI > usb.c: new USB bus registered, assigned bus number 1 > hub.c: USB hub found > hub.c: 2 ports detected > usb.c: registered new driver hid > hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik > hid-core.c: USB HID support drivers > mice: PS/2 mouse device common for all mice > NET4: Linux TCP/IP 1.0 for NET4.0 > IP Protocols: ICMP, UDP, TCP, IGMP > IP: routing cache hash table of 512 buckets, 4Kbytes > TCP: Hash tables configured (established 4096 bind 8192) > NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. > Serial driver version 1.01 (2001-02-08) with no serial options enabled > ttyS00 at 0xb1100000 (irq = 0) is a 16550 > ttyS01 at 0xb1200000 (irq = 1) is a 16550 > ttyS02 at 0xb1300000 (irq = 2) is a 16550 > ttyS03 at 0xb1400000 (irq = 3) is a 16550 > RAMDISK: Compressed image found at block 0 > Freeing initrd memory: 800k freed > VFS: Mounted root (ext2 filesystem). > Algorithmics/MIPS FPU Emulator v1.5 > hub.c: new USB device builtin-2, assigned address 2 > usb.c: USB device not accepting new address=2 (error=-145) > Linux Kernel Card Services 3.1.22 > options: [pci] > > Au1x00 PCMCIA (CS release 3.1.22) > hub.c: new USB device builtin-2, assigned address 3 > usb.c: USB device not accepting new address=3 (error=-145) > eth0: link up > eth0: going to full duplex > Trying to free nonexistent resource > hda: HMS360404D5CF00, CFA DISK drive > ide1: ports already in use, skipping probe > ide2: ports already in use, skipping probe > ide3: ports already in use, skipping probe > ide4: ports already in use, skipping probe > ide5: ports already in use, skipping probe > ide0 at 0xc0010000-0xc0010007,0xc001000e on irq 34 > hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error } > hda: task_no_data_intr: error=0x04 { DriveStatusError } > hda: 7999488 sectors (4096 MB) w/128KiB Cache, CHS=7936/16/63 > Partition check: > hda:<6> [PTBL] [992/128/63] hda1 hda2 hda3 > ide_cs: hda: Vcc = 3.3, Vpp = 0.0 > hda: hda1 hda2 hda3 > hda: hda1 hda2 hda3 > kjournald starting. Commit interval 5 seconds > EXT3-fs: mounted filesystem with ordered data mode. > VFS: Mounted root (ext3 filesystem) readonly. > Trying to move old root to /initrd ... okay > Freeing unused kernel memory: 80k freed > EXT3-fs warning: maximal mount count reached, running e2fsck is > recommended > EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal > > ----------------- YAMON dmesg --------------------- > CPU revision is: 02030204 > Primary instruction cache 16kB, physically tagged, 4-way, linesize 32 > bytes. > Primary data cache 16kB 4-way, linesize 32 bytes. > Linux version 2.4.21-p4b1 (root@localhost.localdomain) (gcc version > 3.2.3) #1 Fri Aug 27 22:45:11 JS > T 2004 > AMD Alchemy Au1100/Db1100 Board > Determined physical RAM map: > memory: 04000000 @ 00000000 (usable) > Initial ramdisk at: 0x802fb000 (819200 bytes) > On node 0 totalpages: 16384 > zone(0): 16384 pages. > zone(1): 0 pages. > zone(2): 0 pages. > Kernel command line: root=/dev/hda2 video=au1100fb:panel:s10,nohwcurs > au1000_audio=vra usb_ohci=base > :0x10100000,len:0x100000,irq:26 > au1100fb: Panel 6 NEON_640x480_16 > calculating r4koff... 003c6de6(3960294) > CPU frequency 396.03 MHz > Console: colour dummy device 80x25 > Calibrating delay loop... 395.67 BogoMIPS > Memory: 59976k/65536k available (1809k kernel code, 5560k reserved, > 916k data, 80k init, 0k highmem) > Dentry cache hash table entries: 8192 (order: 4, 65536 bytes) > Inode cache hash table entries: 4096 (order: 3, 32768 bytes) > Mount cache hash table entries: 512 (order: 0, 4096 bytes) > Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) > Page-cache hash table entries: 16384 (order: 4, 65536 bytes) > Checking for 'wait' instruction... available. > POSIX conformance testing by UNIFIX > Linux NET4.0 for Linux 2.4 > Based upon Swansea University Computer Society NET3.039 > Initializing RT netlink socket > Starting kswapd > Journalled Block Device driver loaded > Console: switching to colour frame buffer device 100x37 > fb0: Au1100 LCD frame buffer device > initialize_kbd: Keyboard failed self test > pty: 256 Unix98 ptys configured > keyboard: Timeout - AT keyboard not present?(ed) > keyboard: Timeout - AT keyboard not present?(f4) > RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize > loop: loaded (max 8 devices) > au1000eth.c:1.1 ppopov@mvista.com > eth0: Au1xxx ethernet found at 0xb0500000, irq 28 > eth0: AMD 79C874 10/100 BaseT PHY at phy address 31 > eth0: Using AMD 79C874 10/100 BaseT PHY as default > Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4 > ide: Assuming 50MHz system bus speed for PIO modes; override with > idebus=xx > ide0: ports already in use, skipping probe > ide1: ports already in use, skipping probe > ide2: ports already in use, skipping probe > ide3: ports already in use, skipping probe > ide4: ports already in use, skipping probe > ide5: ports already in use, skipping probe > Au1000 audio: stevel@mvista.com, built 22:47:51 on Aug 27 2004 > Au1000 audio: DAC: DMA0/IRQ6, ADC: DMA1/IRQ7 > ac97_codec: AC97 Audio codec, id: 0x8384:0x7652 (SigmaTel STAC9752/53) > Au1000 audio: AC'97 Base/Extended ID = 6a90/0a05 > Db1xxx flash: probing 32-bit flash bus > Amd/Fujitsu Extended Query Table v1.3 at 0x0040 > number of CFI chips: 1 > cfi_cmdset_0002: Disabling fast programming due to code brokenness. > Creating 2 MTD partitions on "Db1x00 flash": > 0x00000000-0x00e00000 : "User FS" > 0x00e00000-0x01000000 : "raw kernel" > usb.c: registered new driver usbdevfs > usb.c: registered new driver hub > usb-ohci.c: USB OHCI at membase 0xb0100000, IRQ 26 > usb-ohci.c: usb-builtin, non-PCI OHCI > usb.c: new USB bus registered, assigned bus number 1 > hub.c: USB hub found > hub.c: 2 ports detected > usb.c: registered new driver hid > hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik > hid-core.c: USB HID support drivers > mice: PS/2 mouse device common for all mice > NET4: Linux TCP/IP 1.0 for NET4.0 > IP Protocols: ICMP, UDP, TCP, IGMP > IP: routing cache hash table of 512 buckets, 4Kbytes > TCP: Hash tables configured (established 4096 bind 8192) > NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. > Serial driver version 1.01 (2001-02-08) with no serial options enabled > ttyS00 at 0xb1100000 (irq = 0) is a 16550 > ttyS01 at 0xb1200000 (irq = 1) is a 16550 > ttyS02 at 0xb1300000 (irq = 2) is a 16550 > ttyS03 at 0xb1400000 (irq = 3) is a 16550 > RAMDISK: Compressed image found at block 0 > Freeing initrd memory: 800k freed > VFS: Mounted root (ext2 filesystem). > Algorithmics/MIPS FPU Emulator v1.5 > hub.c: new USB device builtin-2, assigned address 2 > input0: USB HID v1.00 Keyboard [ USB Multimedia Keyboard ] on usb1:2.0 > input1: USB HID v1.00 Pointer [ USB Multimedia Keyboard ] on usb1:2.1 > Linux Kernel Card Services 3.1.22 > options: [pci] > > Au1x00 PCMCIA (CS release 3.1.22) > eth0: link up > eth0: going to full duplex > Trying to free nonexistent resource > hda: HMS360404D5CF00, CFA DISK drive > ide1: ports already in use, skipping probe > ide2: ports already in use, skipping probe > ide3: ports already in use, skipping probe > ide4: ports already in use, skipping probe > ide5: ports already in use, skipping probe > ide0 at 0xc0010000-0xc0010007,0xc001000e on irq 34 > hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error } > hda: task_no_data_intr: error=0x04 { DriveStatusError } > hda: 7999488 sectors (4096 MB) w/128KiB Cache, CHS=7936/16/63 > Partition check: > hda:<6> [PTBL] [992/128/63] hda1 hda2 hda3 > ide_cs: hda: Vcc = 3.3, Vpp = 0.0 > hda: hda1 hda2 hda3 > hda: hda1 hda2 hda3 > kjournald starting. Commit interval 5 seconds > EXT3-fs: mounted filesystem with ordered data mode. > VFS: Mounted root (ext3 filesystem) readonly. > Trying to move old root to /initrd ... okay > Freeing unused kernel memory: 80k freed > EXT3-fs warning: maximal mount count reached, running e2fsck is > recommended > EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal > > Nyauyama > > On 2004.9.1, at 06:40 AM, Pete Popov wrote: > >> ichinoh@mb.neweb.ne.jp wrote: >> >>> Hello , >>> >>> I invoked the Linux kernel on ALCHEMY DBAU1100 by U-BOOT. >>> >>> The processing which resets USB-OHCI of the head of a kernel is not >>> completed. (refer to *) >>> >>> Au1100 does not indicate "reset is completed." >>> Is this phenomenon experienced? >>> >>> In addition, >>> this phenomenon is not encountered when starting a kernel by YAMON. >> >> >> Yamon initializes the CPU and then Linux doesn't have to touch too >> many registers. I'm guessing u-boot doesn't setup the clocking >> correctly, or at all, and that might be your problem. The Yamon code >> for these boards is available and it's easy to read the >> initialization code. Take a look at it and that should solve your >> problem. >> >> Pete >> >>> >>> >>> *: >>> arch/mips/au1000/common/setup.c >>> >>> #ifdef CONFIG_USB_OHCI >>> // enable host controller and wait for reset done >>> au_writel(0x08, USB_HOST_CONFIG); >>> udelay(1000); >>> au_writel(0x0E, USB_HOST_CONFIG); >>> udelay(1000); >>> au_readl(USB_HOST_CONFIG); // throw away first read >>> while (!(au_readl(USB_HOST_CONFIG) & 0x10)) >>> au_readl(USB_HOST_CONFIG); >>> #endif >>> >>> Best regards, >>> Nyauyama >>> >>> >> > >