2013/4/30 Marek Vasut <ma...@denx.de>: > Dear Kuo-Jung Su, > >> 2013/4/26 Marek Vasut <ma...@denx.de>: >> > Dear Kuo-Jung Su, >> > >> >> From: Kuo-Jung Su <dant...@faraday-tech.com> >> >> >> >> This patch add supports to both Faraday FUSBH200 and FOTG210, >> >> these controllers slightly differ from standard EHCI specification. >> > >> > How do they differ? >> >> 1. The reserved registers (0x1C - 0x3F) and CONFIGFLAG (0x40) register >> are not only un-implemented, but also removed from its register address >> space, which means we have to update the 'struct ehci_hcor' of ehci.h >> >> 2. FUSBH200/FOTG210 doesn't properly follow the ECHI for ISOC >> implementations. (It should be a hardware bug, but no one wants to fix >> it.) >> >> I'll add these description to commit log at next patch. > > Mhmmm ... maybe you can add some hooks into ehci-hcd driver instead of > poluting > it with ifdefs ? Weak-aliased functions would probably work best to contain > your > weird stuff in your driver only. >
Did you mean 'Not poluting ehci.h with ifdefs' ? It looks to me that the best way is to leave ehci.h untouched, and update the ehci_submit_root() as following: ---------------------------- ehci_submit_root() { ...... #ifdef CONFIG_USB_EHCI_FARADAY status_reg = (uint32_t *)((uint8_t *)&ctrl->hcor + 0x30); #else status_reg = (uint32_t *)&ctrl->hcor->or_portsc[ le16_to_cpu(req->index) - 1]; #endif ...... } ------------------------------ Would it be acceptable in this way? If it's not, I'll make this patch as a separate patch with some hooks into ehci-hcd. > Best regards, > Marek Vasut -- Best wishes, Kuo-Jung Su _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot