staticint twl6040_pdmclk_reset_one_clock(struct twl6040_pdmclk *pdmclk, unsignedint reg)
{ const u8 reset_mask = TWL6040_HPLLRST; /* Same for HPPLL and LPPLL */ int ret;
ret = twl6040_set_bits(pdmclk->twl6040, reg, reset_mask); if (ret < 0) return ret;
ret = twl6040_clear_bits(pdmclk->twl6040, reg, reset_mask); if (ret < 0) return ret;
return 0;
}
/* * TWL6040A2 Phoenix Audio IC erratum #6: "PDM Clock Generation Issue At * Cold Temperature". This affects cold boot and deeper idle states it * seems. The workaround consists of resetting HPPLL and LPPLL.
*/ staticint twl6040_pdmclk_quirk_reset_clocks(struct twl6040_pdmclk *pdmclk)
{ int ret;
ret = twl6040_pdmclk_reset_one_clock(pdmclk, TWL6040_REG_HPPLLCTL); if (ret) return ret;
ret = twl6040_pdmclk_reset_one_clock(pdmclk, TWL6040_REG_LPPLLCTL); if (ret) return ret;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.