提交 3c9b49b0 编写于 作者: R Robert Hancock 提交者: Stephen Boyd

clk: si5341: Update initialization magic

Update the default register settings to include the VCO_RESET_CALCODE
settings (set by the SiLabs ClockBuilder software but not described in
the datasheet). Also update part of the initialization sequence to match
ClockBuilder and the datasheet.

Fixes: 3044a860 ("clk: Add Si5341/Si5340 driver")
Signed-off-by: NRobert Hancock <robert.hancock@calian.com>
Link: https://lore.kernel.org/r/20210325192643.2190069-6-robert.hancock@calian.comSigned-off-by: NStephen Boyd <sboyd@kernel.org>
上级 71dcc4d1
...@@ -350,6 +350,8 @@ static const struct si5341_reg_default si5341_reg_defaults[] = { ...@@ -350,6 +350,8 @@ static const struct si5341_reg_default si5341_reg_defaults[] = {
{ 0x094A, 0x00 }, /* INx_TO_PFD_EN (disabled) */ { 0x094A, 0x00 }, /* INx_TO_PFD_EN (disabled) */
{ 0x0A02, 0x00 }, /* Not in datasheet */ { 0x0A02, 0x00 }, /* Not in datasheet */
{ 0x0B44, 0x0F }, /* PDIV_ENB (datasheet does not mention what it is) */ { 0x0B44, 0x0F }, /* PDIV_ENB (datasheet does not mention what it is) */
{ 0x0B57, 0x10 }, /* VCO_RESET_CALCODE (not described in datasheet) */
{ 0x0B58, 0x05 }, /* VCO_RESET_CALCODE (not described in datasheet) */
}; };
/* Read and interpret a 44-bit followed by a 32-bit value in the regmap */ /* Read and interpret a 44-bit followed by a 32-bit value in the regmap */
...@@ -1104,7 +1106,7 @@ static const struct si5341_reg_default si5341_preamble[] = { ...@@ -1104,7 +1106,7 @@ static const struct si5341_reg_default si5341_preamble[] = {
{ 0x0B25, 0x00 }, { 0x0B25, 0x00 },
{ 0x0502, 0x01 }, { 0x0502, 0x01 },
{ 0x0505, 0x03 }, { 0x0505, 0x03 },
{ 0x0957, 0x1F }, { 0x0957, 0x17 },
{ 0x0B4E, 0x1A }, { 0x0B4E, 0x1A },
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册