Hi, I found some odd things in ft2232.c when it is built with FT2232H/FT4232H support :
1. It can only be built with the FTD2XX driver. libftdi supports FT2232H/FT4232H since version 0.16 2. A speed value of 0 is used as a RTCK request indicator. This clashes with the valid clock division value 0 that provide the highest fixed clock frequency. 3. The ft2232_speed_div function return the maximum selectable frequency (30MHz) when RTCK is activated. It should return 0. 4. The ft2232_khz function return ERROR_OK when RTCK is requested even for devices lacking RTCK support. It should return ERROR_FAIL so the upper driver layers can detect this and try to fallback to a fixed frequency. 5. FT2232H/FT4232H have a backward compatibility function that divide the clock by 5 to get the same frequency range as FT2232D. There is no code that disable this functionality. I can not find anything about if this is enabled or disabled by default. I think it is safest to actively disable it. The following patches is attached: p0_ft2232.patch Fixes item 1-5 above p1_readme_configure.patch Add test of libftdi for FT2232H/FT4232H support (version => 0.16) p2_readme_ft2232_configure.patch Renames the enable-ftd2xx-highspeed configure option to enable-ft2232-highspeed because builds with libftdi are also supported. The BUILD_FTD2XX_HIGHSPEED macro is renamed to BUILD_FT2232_HIGHSPEED for the same reason. p3_ft2232.patch Minimizes the conditional compiling that is dependent on the BUILD_FT2232_HIGHSPEED macro. I have tested both a libftdi and a FTD2XX build on a FT2232D (only a full speed chip) equipped interface. I have no acces to a FT2232H/FT4232H interface, so none tests have been done for these devices. The enable-ft2232-highspeed configure option could be removed so highspeed inclusion is only dependent on the FT2232H/FT4232H support check of libftdi/FTD2XX. This should be done after the code have been tested on a FT2232H/FT4232H interface. Best regards Jonas Hörberg
p0_ft2232.patch
Description: Binary data
p1_readme_configure.patch
Description: Binary data
p2_readme_ft2232_configure.patch
Description: Binary data
p3_ft2232.patch
Description: Binary data
_______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
