diff --git a/apps/octonet/flash.c b/apps/octonet/flash.c index 996bf40..d225944 100644 --- a/apps/octonet/flash.c +++ b/apps/octonet/flash.c @@ -923,6 +923,7 @@ static const struct devids ids[] = { DEV(0x0007, "Octopus 4/8", "DVBBridgeV2A_DD01_0007_MXL.fpga"), DEV(0x0008, "Octopus 4/8", "DVBBridgeV2A_DD01_0008_CXD.fpga"), DEV(0x0009, "Octopus MAXSX8", "DVBBridgeV2A_DD01_0009_SX8.fpga"), + DEV(0x0023, "Octopus MAXSX8 V2", "DVBBridgeV3A_DD01_0023_SX8.fpga"), DEV(0x000b, "Octopus MAXSX8 Basic", "DVBBridgeV2A_DD01_000B_SX8.fpga"), DEV(0x000a, "Octopus MAXM4", "DVBBridgeV2A_DD01_000A_M4.fpga"), DEV(0x0011, "Octopus CI", "DVBBridgeV2B_DD01_0011.fpga"), diff --git a/ddbridge/ddbridge-hw.c b/ddbridge/ddbridge-hw.c index 849d443..bc1c82d 100644 --- a/ddbridge/ddbridge-hw.c +++ b/ddbridge/ddbridge-hw.c @@ -720,6 +720,19 @@ static const struct ddb_info ddb_s2x_48 = { .lnb_base = 0x400, }; +static const struct ddb_info ddb_s2x_48_v2 = { + .type = DDB_OCTOPUS_MCI, + .name = "Digital Devices MAX SX8 V2", + .regmap = &octopus_mci_map, + .port_num = 4, + .i2c_mask = 0x00, + .tempmon_irq = 24, + .mci_ports = 4, + .mci_type = DDB_TUNER_MCI_SX8, + .temp_num = 1, + .lnb_base = 0x400, +}; + static const struct ddb_info ddb_s2x_48_b = { .type = DDB_OCTOPUS_MCI, .name = "Digital Devices MAX SX8 Basic", @@ -942,6 +955,7 @@ static const struct ddb_device_id ddb_device_ids[] = { DDB_DEVID(0x0014, 0x0045, ddb_ci_m2), DDB_DEVID(0x0020, 0x0012, ddb_gtl_mini), DDB_DEVID(0x0022, 0x0052, ddb_m8), + DDB_DEVID(0x0023, 0x0027, ddb_s2x_48_v2), DDB_DEVID(0x0024, 0x0053, ddb_m8a), DDB_DEVID(0x0025, 0x0054, ddb_m2), DDB_DEVID(0x0026, 0x0055, ddb_m8e), diff --git a/ddbridge/ddbridge-main.c b/ddbridge/ddbridge-main.c index 3186666..8674552 100644 --- a/ddbridge/ddbridge-main.c +++ b/ddbridge/ddbridge-main.c @@ -420,6 +420,7 @@ static const struct pci_device_id ddb_id_table[] __devinitconst = { DDB_DEVICE_ANY(0x0014), DDB_DEVICE_ANY(0x0020), DDB_DEVICE_ANY(0x0022), + DDB_DEVICE_ANY(0x0023), DDB_DEVICE_ANY(0x0024), DDB_DEVICE_ANY(0x0025), DDB_DEVICE_ANY(0x0026), diff --git a/ddbridge/ddbridge-mci.c b/ddbridge/ddbridge-mci.c index bf9e3e0..2572f33 100644 --- a/ddbridge/ddbridge-mci.c +++ b/ddbridge/ddbridge-mci.c @@ -197,9 +197,6 @@ int mci_init(struct ddb_link *link) result = mci_reset(link); if (result < 0) return result; - if (link->ids.device == 0x0009 || link->ids.device == 0x000b) - ddblwritel(link, SX8_TSCONFIG_MODE_NORMAL, SX8_TSCONFIG); - ddb_irq_set(link->dev, link->nr, link->info->regmap->irq_base_mci, mci_handler, link); diff --git a/ddbridge/ddbridge-sx8.c b/ddbridge/ddbridge-sx8.c index eecaca9..ea8bac8 100644 --- a/ddbridge/ddbridge-sx8.c +++ b/ddbridge/ddbridge-sx8.c @@ -126,8 +126,6 @@ static int ddb_mci_tsconfig(struct mci *state, u32 config) { struct ddb_link *link = state->base->link; - if (link->ids.device != 0x0009 && link->ids.device != 0x000b) - return -EINVAL; ddblwritel(link, config, SX8_TSCONFIG); return 0; } @@ -374,8 +372,8 @@ unlock: cmd.demod = state->mci.demod; cmd.output = p->stream_id & 0x0f; ddb_mci_cmd(&state->mci, &cmd, NULL); - ddb_mci_tsconfig(&state->mci, ts_config); } + ddb_mci_tsconfig(&state->mci, ts_config); if (p->stream_id != NO_STREAM_ID_FILTER && !(p->stream_id & 0xf0000000)) flags |= 0x80; //printk("bw %u\n", p->bandwidth_hz);