On 2011年10月15日 05:45, Uwe Hermann wrote:
On Sat, Oct 15, 2011 at 03:00:45AM +0900, Samir Ibradžić wrote:
Hello,

I would like to submit a patch, that enables support for another
FT2232 device, PicoTAP by GOEPEL electronic GmbH.

Great, thanks a lot!

You forgot the "Signed-off-by" line though, please check

http://flashrom.org/Development_Guidelines
and thus also
http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure


Oops, sorry, here it is.

and resend the (updated) patch. Thanks!


Btw, I managed to run PicoTAP in 10MHz, 15MHz and 30Mhz modes (by
forcing DIVIDE_BY), against SST25VF016B SPI flash, read/write/erase
all worked fine (write seems somewhat slow). For the sake of more
testing, is there any way 20Mhz can be set in FT2232?

Hm, dunno, need to check datasheets.


I am also thinking about implementing passing frequency divider as
an option, for example:

# flashrom -p ft2232_spi:type=picotap,divider=2

DIVIDE_BY constant would be used as default. I think this parameter
would be useful, but would like to hear more opinions.

Sounds useful, yes. I don't know if there are reasons not to make this a
user-visible option, I'd wait for more feedback here (this would be
another patch anyway).


Well, ill submit this in separate patch for evaluation anyway.


Index: ft2232_spi.c
===================================================================
--- ft2232_spi.c        (revision 1450)
+++ ft2232_spi.c        (working copy)
@@ -43,6 +43,9 @@
  #define OLIMEX_ARM_OCD_H_PID  0x002B
  #define OLIMEX_ARM_TINY_H_PID 0x002A

+#define GOEPEL_VID             0x096C
+#define PICOTAP_PID            0x1449
+
  const struct usbdev_status devs_ft2232spi[] = {
        {FTDI_VID, FTDI_FT2232H_PID, OK, "FTDI", "FT2232H"},
        {FTDI_VID, FTDI_FT4232H_PID, OK, "FTDI", "FT4232H"},
@@ -53,6 +56,7 @@
        {OLIMEX_VID, OLIMEX_ARM_TINY_PID, OK, "Olimex", "ARM-USB-TINY"},
        {OLIMEX_VID, OLIMEX_ARM_OCD_H_PID, NT, "Olimex", "ARM-USB-OCD-H"},
        {OLIMEX_VID, OLIMEX_ARM_TINY_H_PID, NT, "Olimex", "ARM-USB-TINY-H"},
+       {GOEPEL_VID, PICOTAP_PID, OK, "GOEPEL electronic GmbH", "PicoTAP"},

Please sort the entries by vendor ID, then by device ID (we added
comment for that sorting a few minutes ago in the repository :)


Corrected.

Also use just "GOEPEL" instead of "GOEPEL electronic GmbH" here, please.
We don't include legalese such as "GmbH", "Inc.", etc. in the vendor names.


Corrected.


@@ -66,7 +70,7 @@
   * In either case, the divisor is a simple integer clock divider.
   * If clock_5x is set, this divisor divides 30MHz, else it divides 6MHz.
   */
-#define DIVIDE_BY 3  /* e.g. '3' will give either 10MHz or 2MHz SPI
clock. */
+#define DIVIDE_BY 1  /* e.g. '3' will give either 10MHz or 2MHz SPI
clock. */

This should probably not be in the initial patch, but rather in another
DIVIDE_BY related patch (see above).

Yes, this was some testing left-over. Here's cleaned-up patch.



Uwe.

Signed-off-by: Samir Ibradžić <[email protected]>
---
$ svn diff
Index: ft2232_spi.c
===================================================================
--- ft2232_spi.c        (revision 1451)
+++ ft2232_spi.c        (working copy)
@@ -37,6 +37,9 @@
 #define TIAO_TUMPA_PID         0x8a98
 #define AMONTEC_JTAGKEY_PID    0xCFF8

+#define GOEPEL_VID             0x096C
+#define PICOTAP_PID            0x1449
+
 #define FIC_VID                        0x1457
 #define OPENMOKO_DBGBOARD_PID  0x5118

@@ -51,6 +54,7 @@
        {FTDI_VID, FTDI_FT4232H_PID, OK, "FTDI", "FT4232H"},
        {FTDI_VID, TIAO_TUMPA_PID, OK, "TIAO", "USB Multi-Protocol Adapter"},
        {FTDI_VID, AMONTEC_JTAGKEY_PID, OK, "Amontec", "JTAGkey"},
+       {GOEPEL_VID, PICOTAP_PID, OK, "GOEPEL", "PicoTAP"},
        {FIC_VID, OPENMOKO_DBGBOARD_PID, OK, "FIC",
                "OpenMoko Neo1973 Debug board (V2+)"},
        {OLIMEX_VID, OLIMEX_ARM_OCD_PID, NT, "Olimex", "ARM-USB-OCD"},
@@ -176,6 +180,10 @@
                        ft2232_interface = INTERFACE_A;
                        cs_bits = 0x18;
                        pindir = 0x1b;
+               } else if (!strcasecmp(arg, "picotap")) {
+                       ft2232_vid = GOEPEL_VID;
+                       ft2232_type = PICOTAP_PID;
+                       ft2232_interface = INTERFACE_A;
                } else if (!strcasecmp(arg, "tumpa")) {
                        /* Interface A is SPI1, B is SPI2. */
                        ft2232_type = TIAO_TUMPA_PID
--

R,
S

_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to