On 11/27/2017 06:27 PM, Chris Brandt wrote: > Hello Marek, > > On Friday, November 17, 2017, Marek Vasut wrote: >>> +#ifdef RZA_USB >>> + dcpctr = r8a66597_read(r8a66597, DCPCTR); >> >> use wait_for_bit() . >> >>> + if ((dcpctr & PID) == PID_BUF) { >>> + timeout2 = 10000; >>> + while (!(dcpctr & BSTS)) { >>> + dcpctr = r8a66597_read(r8a66597, DCPCTR); >>> + if (timeout2-- < 0) { >>> + printf("DCPCTR clear timeout!\n"); >>> + break; >>> + } >>> + } >>> + } >>> +#endif > > > wait_for_bit() wants you to pass a direct address of a 32-bit register. > The register I am waiting for is a 16-bit register and the hardware > manual doesn't say 32-bit is allowed. > When I do a 32-bit read on that address, I actually get a different > value. > > For example: > > => md.w E8010060 1 > e8010060: 0040 > => md.l E8010060 1 > e8010060: 00400000 > > > So, I can't use wait_for_bit()
Can we somehow extend wait_for_bit() ? > Chris > -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot