 |
forums.ps2dev.org Homebrew PS2, PSP & PS3 Development Discussions
|
| View previous topic :: View next topic |
| Author |
Message |
Mega Man
Joined: 18 Jun 2005 Posts: 274
|
Posted: Mon Aug 15, 2005 8:35 am Post subject: Which usb ohci chip is in the ps2? |
|
|
I currently working on usbd and I tried to send messages over the usb bus. But I have the problem that there is nothing written to memory (e.g. the frame counter in hcca). I tried the same initialization on x86. Everything is working on x86 with an ohci pci card. So the code seems generally correct. There are two possible problems:
1. The allocated memory with AllocSysMemory() is no physical memory. Did anybody know how to get physical memory addresses? The original usbd driver also use the same virtual address ranges, so I think that this is not the problem.
2. The ohci chip is not correctly initialized or don't have access to physical memory (Need to be activated or something like that).
So I want to know which chip is used in the playstation 2. Is the chip from Sony? I don't want to open my playstation and I can't find any good pictures of the board. What are the differences to standard ohci specification at usb.org? Is there a circuit diagram available? |
|
| Back to top |
|
 |
pixel
Joined: 30 Jan 2004 Posts: 791
|
Posted: Tue Aug 16, 2005 4:58 pm Post subject: |
|
|
If I'm not mistaken, this chip is built-in inside the IOP, so, it won't help opening the PS2 anyway. _________________ pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department. |
|
| Back to top |
|
 |
Mega Man
Joined: 18 Jun 2005 Posts: 274
|
Posted: Wed Aug 17, 2005 8:13 am Post subject: |
|
|
| pixel wrote: | | If I'm not mistaken, this chip is built-in inside the IOP, so, it won't help opening the PS2 anyway. |
Ok, you are right. I found a description at http://playstation2-linux.com/download/p2lsd/p2lkit-handbook.html#id2717231 , which says it. There is also mentioned that the IOP doesn't have a MMU. So the used addresses in usbd should be accepted by the ohci. Sony seems to hide information about the IOP, I can't find any information.
Is there an gdbstub for the iop available, so I can try to debug it. Did somebody know of a ps2 emulator which include a gdbstub? |
|
| Back to top |
|
 |
jbit Site Admin

Joined: 28 May 2005 Posts: 293 Location: København, Danmark
|
Posted: Wed Aug 17, 2005 2:08 pm Post subject: |
|
|
If I remember right, the IOP has some similar devices to the "1394 Lead Vehicle" from LSI. The datasheet below has alot of info about the USB host controller, just remember the base address on the PS2 is 0x1F80_0000 (0xBF80_0000) not 0xBFFF_0C00.
http://www.lsilogic.com/files/docs/techdocs/interface_cores/1394/1394leadveh.pdf
Also, the ps2linux kernel talks directly to the USB host controller, so might be worth checking out their source too.
Hope this helps a bit. |
|
| Back to top |
|
 |
Mega Man
Joined: 18 Jun 2005 Posts: 274
|
Posted: Fri Aug 19, 2005 7:13 am Post subject: |
|
|
| jbit wrote: | If I remember right, the IOP has some similar devices to the "1394 Lead Vehicle" from LSI.
Also, the ps2linux kernel talks directly to the USB host controller, so might be worth checking out their source too.
|
Thanx.
The usb ohci registers seems to be similar, because the register at offset 0x80 is also in the ps2 (at 0x84 seems to be a unknown register). These registers are not defined by ohci. I think the usb function interface of the "1394 Lead Vehicle" is not in the ps2.
When I made a reset (ps2client reset), none of the ohci registers are changed. So the usb chip is still running. But the chip doesn't write to memory anymore. If it does, this would be very bad, because the driver is not loaded anymore and memory will be overwritten, which could be used for other modules. So there must be a different register which is reseted. What does a reset do, what is reseted?
I don't find any special code in ps2linux, which could activate the write to memory. But if IOP and EE could use the ohci interface, then something must select whether to write to IOP-Memory or to EE-Memory. As far as I know the memory is not shared between IOP and EE. I guess this must be part of the sif registers.
I will try whether usbd works on EE. This could be the default memory where the ohci chip will write to. |
|
| Back to top |
|
 |
jbit Site Admin

Joined: 28 May 2005 Posts: 293 Location: København, Danmark
|
Posted: Fri Aug 19, 2005 8:17 am Post subject: |
|
|
I'm not 100% sure on all the mappings (it's one thing I intend to look into more, when I'm not writing 3d stuff), but I know alot of SBUS address space is shared with the Emotion Engine. Off the top of my head I can remember at least DEV9, the USB controller and IOP ram being mapped. However, AFAIK, the interrupts and DMA arn't mapped, so you'd need to do them on the IOP.
I remember the USB host controller that I used (on totally unrelated hardware) having local ram though, not accessing host ram. But that may have just been because of the devices embedded nature. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|