mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2025-12-26 23:26:46 +01:00
add support for MAX SX8 V2
This commit is contained in:
@@ -923,6 +923,7 @@ static const struct devids ids[] = {
|
|||||||
DEV(0x0007, "Octopus 4/8", "DVBBridgeV2A_DD01_0007_MXL.fpga"),
|
DEV(0x0007, "Octopus 4/8", "DVBBridgeV2A_DD01_0007_MXL.fpga"),
|
||||||
DEV(0x0008, "Octopus 4/8", "DVBBridgeV2A_DD01_0008_CXD.fpga"),
|
DEV(0x0008, "Octopus 4/8", "DVBBridgeV2A_DD01_0008_CXD.fpga"),
|
||||||
DEV(0x0009, "Octopus MAXSX8", "DVBBridgeV2A_DD01_0009_SX8.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(0x000b, "Octopus MAXSX8 Basic", "DVBBridgeV2A_DD01_000B_SX8.fpga"),
|
||||||
DEV(0x000a, "Octopus MAXM4", "DVBBridgeV2A_DD01_000A_M4.fpga"),
|
DEV(0x000a, "Octopus MAXM4", "DVBBridgeV2A_DD01_000A_M4.fpga"),
|
||||||
DEV(0x0011, "Octopus CI", "DVBBridgeV2B_DD01_0011.fpga"),
|
DEV(0x0011, "Octopus CI", "DVBBridgeV2B_DD01_0011.fpga"),
|
||||||
|
|||||||
@@ -720,6 +720,19 @@ static const struct ddb_info ddb_s2x_48 = {
|
|||||||
.lnb_base = 0x400,
|
.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 = {
|
static const struct ddb_info ddb_s2x_48_b = {
|
||||||
.type = DDB_OCTOPUS_MCI,
|
.type = DDB_OCTOPUS_MCI,
|
||||||
.name = "Digital Devices MAX SX8 Basic",
|
.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(0x0014, 0x0045, ddb_ci_m2),
|
||||||
DDB_DEVID(0x0020, 0x0012, ddb_gtl_mini),
|
DDB_DEVID(0x0020, 0x0012, ddb_gtl_mini),
|
||||||
DDB_DEVID(0x0022, 0x0052, ddb_m8),
|
DDB_DEVID(0x0022, 0x0052, ddb_m8),
|
||||||
|
DDB_DEVID(0x0023, 0x0027, ddb_s2x_48_v2),
|
||||||
DDB_DEVID(0x0024, 0x0053, ddb_m8a),
|
DDB_DEVID(0x0024, 0x0053, ddb_m8a),
|
||||||
DDB_DEVID(0x0025, 0x0054, ddb_m2),
|
DDB_DEVID(0x0025, 0x0054, ddb_m2),
|
||||||
DDB_DEVID(0x0026, 0x0055, ddb_m8e),
|
DDB_DEVID(0x0026, 0x0055, ddb_m8e),
|
||||||
|
|||||||
@@ -420,6 +420,7 @@ static const struct pci_device_id ddb_id_table[] __devinitconst = {
|
|||||||
DDB_DEVICE_ANY(0x0014),
|
DDB_DEVICE_ANY(0x0014),
|
||||||
DDB_DEVICE_ANY(0x0020),
|
DDB_DEVICE_ANY(0x0020),
|
||||||
DDB_DEVICE_ANY(0x0022),
|
DDB_DEVICE_ANY(0x0022),
|
||||||
|
DDB_DEVICE_ANY(0x0023),
|
||||||
DDB_DEVICE_ANY(0x0024),
|
DDB_DEVICE_ANY(0x0024),
|
||||||
DDB_DEVICE_ANY(0x0025),
|
DDB_DEVICE_ANY(0x0025),
|
||||||
DDB_DEVICE_ANY(0x0026),
|
DDB_DEVICE_ANY(0x0026),
|
||||||
|
|||||||
@@ -197,9 +197,6 @@ int mci_init(struct ddb_link *link)
|
|||||||
result = mci_reset(link);
|
result = mci_reset(link);
|
||||||
if (result < 0)
|
if (result < 0)
|
||||||
return result;
|
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,
|
ddb_irq_set(link->dev, link->nr,
|
||||||
link->info->regmap->irq_base_mci,
|
link->info->regmap->irq_base_mci,
|
||||||
mci_handler, link);
|
mci_handler, link);
|
||||||
|
|||||||
@@ -126,8 +126,6 @@ static int ddb_mci_tsconfig(struct mci *state, u32 config)
|
|||||||
{
|
{
|
||||||
struct ddb_link *link = state->base->link;
|
struct ddb_link *link = state->base->link;
|
||||||
|
|
||||||
if (link->ids.device != 0x0009 && link->ids.device != 0x000b)
|
|
||||||
return -EINVAL;
|
|
||||||
ddblwritel(link, config, SX8_TSCONFIG);
|
ddblwritel(link, config, SX8_TSCONFIG);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -374,8 +372,8 @@ unlock:
|
|||||||
cmd.demod = state->mci.demod;
|
cmd.demod = state->mci.demod;
|
||||||
cmd.output = p->stream_id & 0x0f;
|
cmd.output = p->stream_id & 0x0f;
|
||||||
ddb_mci_cmd(&state->mci, &cmd, NULL);
|
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))
|
if (p->stream_id != NO_STREAM_ID_FILTER && !(p->stream_id & 0xf0000000))
|
||||||
flags |= 0x80;
|
flags |= 0x80;
|
||||||
//printk("bw %u\n", p->bandwidth_hz);
|
//printk("bw %u\n", p->bandwidth_hz);
|
||||||
|
|||||||
Reference in New Issue
Block a user