diff options
Diffstat (limited to 'target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch')
-rw-r--r-- | target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch b/target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch new file mode 100644 index 0000000..a9399a9 --- /dev/null +++ b/target/linux/imx6/patches-3.10/0029-pfuze100-allow-misprogrammed-id.patch @@ -0,0 +1,20 @@ +--- a/drivers/regulator/pfuze100-regulator.c ++++ b/drivers/regulator/pfuze100-regulator.c +@@ -308,9 +308,14 @@ static int pfuze_identify(struct pfuze_c + if (ret) + return ret; + +- if (value & 0x0f) { +- dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); +- return -ENODEV; ++ switch (value & 0xf) { ++ case 0x0: ++ /* Freescale misprogrammed 1-3% of parts prior to week 8 of 2013 as ID=8 */ ++ case 0x8: ++ break; ++ default: ++ dev_warn(pfuze_chip->dev, "Illegal ID: %x\n", value); ++ return -ENODEV; + } + + ret = regmap_read(pfuze_chip->regmap, PFUZE100_REVID, &value); |