add check for minimum FPGA firmware version

This commit is contained in:
Ralph Metzler 2018-05-02 15:39:09 +02:00
parent cad161f939
commit c831ccfc9e
3 changed files with 13 additions and 1 deletions

View File

@ -336,6 +336,7 @@ static const struct ddb_info ddb_v7a = {
.board_control = 2,
.board_control_2 = 4,
.ts_quirks = TS_QUIRK_REVERSED,
.hw_min = 0x010007,
};
static const struct ddb_info ddb_v7 = {
@ -347,6 +348,7 @@ static const struct ddb_info ddb_v7 = {
.board_control = 2,
.board_control_2 = 4,
.ts_quirks = TS_QUIRK_REVERSED,
.hw_min = 0x010007,
};
static const struct ddb_info ddb_ctv7 = {
@ -391,6 +393,7 @@ static const struct ddb_info ddb_ci_s2_pro = {
.i2c_mask = 0x01,
.board_control = 2,
.board_control_2 = 4,
.hw_min = 0x010007,
};
static const struct ddb_info ddb_ci_s2_pro_a = {
@ -401,6 +404,7 @@ static const struct ddb_info ddb_ci_s2_pro_a = {
.i2c_mask = 0x01,
.board_control = 2,
.board_control_2 = 4,
.hw_min = 0x010007,
};
static const struct ddb_info ddb_dvbct = {

View File

@ -337,6 +337,13 @@ static int __devinit ddb_probe(struct pci_dev *pdev,
dev_info(dev->dev, "HW %08x REGMAP %08x\n",
dev->link[0].ids.hwid, dev->link[0].ids.regmapid);
if ((dev->link[0].ids.hwid & 0xffffff) <
dev->link[0].info->hw_min) {
u32 min = dev->link[0].info->hw_min;
dev_err(dev->dev, "Update firmware to at least version %u.%u to ensure full functionality!\n",
(min & 0xff0000) >> 16, min & 0xffff);
}
if (dev->link[0].info->ns_num) {
ddbwritel(dev, 0, ETHER_CONTROL);

View File

@ -167,6 +167,7 @@ struct ddb_info {
u8 ns_num;
u8 con_clock; /* use a continuous clock */
u8 ts_quirks;
u8 mci;
#define TS_QUIRK_SERIAL 1
#define TS_QUIRK_REVERSED 2
#define TS_QUIRK_NO_OUTPUT 4
@ -174,7 +175,7 @@ struct ddb_info {
u32 tempmon_irq;
u32 lostlock_irq;
u32 mdio_base;
u8 mci;
u32 hw_min;
const struct ddb_regmap *regmap;
};