diff --git a/ddbridge/ddbridge-main.c b/ddbridge/ddbridge-main.c index f84536c..631ad86 100644 --- a/ddbridge/ddbridge-main.c +++ b/ddbridge/ddbridge-main.c @@ -312,6 +312,7 @@ static int __devinit ddb_probe(struct pci_dev *pdev, dev->link[0].ids.subvendor = id->subvendor; dev->link[0].ids.subdevice = pdev->subsystem_device; dev->link[0].ids.devid = (id->device << 16) | id->vendor; + dev->link[0].ids.revision = pdev->revision; dev->link[0].dev = dev; dev->link[0].info = get_ddb_info(id->vendor, id->device, diff --git a/ddbridge/ddbridge-modulator.c b/ddbridge/ddbridge-modulator.c index 5b4b794..986cf2f 100644 --- a/ddbridge/ddbridge-modulator.c +++ b/ddbridge/ddbridge-modulator.c @@ -2029,6 +2029,9 @@ static int mod_init_sdr_iq(struct ddb *dev) ddbwritel(dev, 0x01, 0x240); + if (dev->link[0].ids.revision == 1) + return 0; + //mod3_set_base_frequency(dev, 602000000); dev->mod_base.frequency = 570000000; for (i = 0; i < streams; i++) { diff --git a/ddbridge/ddbridge.h b/ddbridge/ddbridge.h index 7002590..c986e6a 100644 --- a/ddbridge/ddbridge.h +++ b/ddbridge/ddbridge.h @@ -143,6 +143,7 @@ struct ddb_ids { u32 regmapid; u32 devid; u32 mac; + u8 revision; }; struct ddb_info {