
Hi,
Following your instruction, I did int usb_board_init(void) { printf("usb_board_init\n");
outw(0x18, STBCR3); outw(0x18, SRSTR); udelay(10); outw(0x28, EXCPGCR); udelay(10); outw(0x00, STBCR3); outw(0x00, SRSTR); return 0;
}
These registers are 8-bit width. So please use outb() macro.
They are the same. It is still problem.
I am sorry, my explanation was short. This EXCPGCR value was for an another board. In the case of your board, it may be necessary to make it a defferent value.
As specification of SH7727, value of EXCPGCR is 0x28 and this means
"" The SH7727 has an on-chip USB interface (USB) which requires a fixed 48-MHz clock source.
The extend clock pulse generator (EXCPG) generates a divided clock from the internal clock (Iφ), the bus clock (Bφ), or the external clock (UCLK).
Because the clock sources, which can be a candidate to be used by EXCPG, vary from CPG setting or external clock source, user of SH7727 must adjust the divided clock, carefully to be 48 MHz. "" * Bits 5 to 3Clock Select (USBCKSEL2 to USBCKSEL0): 000: Peripheral Clock (Pφ) (Initial value) 100: Internal Clock (Iφ) 101: Bus Clock (Bφ) 110: External clock (UCLK) ***: Another value Reserved (setting prohibited)
* Bits 2 to 0: Divider Select (USBDIVSEL2 to USBDIVSEL0): 000: 1/1 -> Dividing Ratio Selection 001: 1/2 010: 1/3 1**: Internal clock (Iφ), bus clock (Bφ), external clock (UCLK) halted
0x28: 00101000 -> 00 101 000 -> * 101: Using bus clock * 000: Dividing Ratio Selection is 1/1
I know * Internal clock: 96Mhz * Peripheral Clock: 24Mhz * CPU Block: 144Mhz
http://www.nabble.com/file/p19449833/a.JPG a.JPG
Please let me know the correct value of EXCPGCR ? Is 0x28 correct initialize value of USB clock?
And I used my board, I set 0x1500 in PKCR.
I don't understand PKCR - Port control register so I don't know correct initialize value of this register.
0x1500 = 0001 0101 0000 0000 -> PK6 is port output -> PK5 is port output -> PK4 is port output I don't know this value could be set for my board - TEngine/SH7727.
I am appreciating your helping :)