Lines Matching refs:hwdata

308 	struct si5351_hw_data *hwdata =
311 dev_warn(&hwdata->drvdata->client->dev, "VXCO currently unsupported\n");
387 struct si5351_hw_data *hwdata =
389 u8 mask = (hwdata->num == 0) ? SI5351_PLLA_SOURCE : SI5351_PLLB_SOURCE;
392 val = si5351_reg_read(hwdata->drvdata, SI5351_PLL_INPUT_SOURCE);
399 struct si5351_hw_data *hwdata =
402 if (hwdata->drvdata->variant != SI5351_VARIANT_C &&
409 return _si5351_pll_reparent(hwdata->drvdata, hwdata->num,
417 struct si5351_hw_data *hwdata =
419 u8 reg = (hwdata->num == 0) ? SI5351_PLLA_PARAMETERS :
423 if (!hwdata->params.valid)
424 si5351_read_parameters(hwdata->drvdata, reg, &hwdata->params);
426 if (hwdata->params.p3 == 0)
430 rate = hwdata->params.p1 * hwdata->params.p3;
431 rate += 512 * hwdata->params.p3;
432 rate += hwdata->params.p2;
434 do_div(rate, 128 * hwdata->params.p3);
436 dev_dbg(&hwdata->drvdata->client->dev,
439 hwdata->params.p1, hwdata->params.p2, hwdata->params.p3,
448 struct si5351_hw_data *hwdata =
480 hwdata->params.p3 = c;
481 hwdata->params.p2 = (128 * b) % c;
482 hwdata->params.p1 = 128 * a;
483 hwdata->params.p1 += (128 * b / c);
484 hwdata->params.p1 -= 512;
494 dev_dbg(&hwdata->drvdata->client->dev,
505 struct si5351_hw_data *hwdata =
507 u8 reg = (hwdata->num == 0) ? SI5351_PLLA_PARAMETERS :
511 si5351_write_parameters(hwdata->drvdata, reg, &hwdata->params);
514 si5351_set_bits(hwdata->drvdata, SI5351_CLK6_CTRL + hwdata->num,
516 (hwdata->params.p2 == 0) ? SI5351_CLK_INTEGER_MODE : 0);
519 si5351_reg_write(hwdata->drvdata, SI5351_PLL_RESET,
520 hwdata->num == 0 ? SI5351_PLL_RESET_A :
523 dev_dbg(&hwdata->drvdata->client->dev,
526 hwdata->params.p1, hwdata->params.p2, hwdata->params.p3,
580 struct si5351_hw_data *hwdata =
584 val = si5351_reg_read(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num);
591 struct si5351_hw_data *hwdata =
594 return _si5351_msynth_reparent(hwdata->drvdata, hwdata->num,
602 struct si5351_hw_data *hwdata =
604 u8 reg = si5351_msynth_params_address(hwdata->num);
608 if (!hwdata->params.valid)
609 si5351_read_parameters(hwdata->drvdata, reg, &hwdata->params);
616 if (hwdata->num > 5) {
617 m = hwdata->params.p1;
618 } else if (hwdata->params.p3 == 0) {
620 } else if ((si5351_reg_read(hwdata->drvdata, reg + 2) &
624 rate *= 128 * hwdata->params.p3;
625 m = hwdata->params.p1 * hwdata->params.p3;
626 m += hwdata->params.p2;
627 m += 512 * hwdata->params.p3;
634 dev_dbg(&hwdata->drvdata->client->dev,
637 hwdata->params.p1, hwdata->params.p2, hwdata->params.p3,
646 struct si5351_hw_data *hwdata =
653 if (hwdata->num >= 6 && rate > SI5351_MULTISYNTH67_MAX_FREQ)
683 } else if (hwdata->num >= 6) {
732 hwdata->params.p3 = 1;
733 hwdata->params.p2 = 0;
734 hwdata->params.p1 = 0;
735 } else if (hwdata->num >= 6) {
736 hwdata->params.p3 = 0;
737 hwdata->params.p2 = 0;
738 hwdata->params.p1 = a;
740 hwdata->params.p3 = c;
741 hwdata->params.p2 = (128 * b) % c;
742 hwdata->params.p1 = 128 * a;
743 hwdata->params.p1 += (128 * b / c);
744 hwdata->params.p1 -= 512;
747 dev_dbg(&hwdata->drvdata->client->dev,
758 struct si5351_hw_data *hwdata =
760 u8 reg = si5351_msynth_params_address(hwdata->num);
764 si5351_write_parameters(hwdata->drvdata, reg, &hwdata->params);
770 if (hwdata->num < 6) {
771 si5351_set_bits(hwdata->drvdata, reg + 2,
774 si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
776 (hwdata->params.p2 == 0) ? SI5351_CLK_INTEGER_MODE : 0);
779 dev_dbg(&hwdata->drvdata->client->dev,
782 hwdata->params.p1, hwdata->params.p2, hwdata->params.p3,
923 struct si5351_hw_data *hwdata =
926 hwdata->drvdata->client->dev.platform_data;
928 si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
935 if (pdata->clkout[hwdata->num].pll_reset)
936 _si5351_clkout_reset_pll(hwdata->drvdata, hwdata->num);
938 si5351_set_bits(hwdata->drvdata, SI5351_OUTPUT_ENABLE_CTRL,
939 (1 << hwdata->num), 0);
945 struct si5351_hw_data *hwdata =
948 si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
950 si5351_set_bits(hwdata->drvdata, SI5351_OUTPUT_ENABLE_CTRL,
951 (1 << hwdata->num), (1 << hwdata->num));
956 struct si5351_hw_data *hwdata =
961 val = si5351_reg_read(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num);
982 struct si5351_hw_data *hwdata =
1001 return _si5351_clkout_reparent(hwdata->drvdata, hwdata->num, parent);
1007 struct si5351_hw_data *hwdata =
1012 if (hwdata->num <= 5)
1013 reg = si5351_msynth_params_address(hwdata->num) + 2;
1017 rdiv = si5351_reg_read(hwdata->drvdata, reg);
1018 if (hwdata->num == 6) {
1031 struct si5351_hw_data *hwdata =
1036 if (hwdata->num >= 6 && rate > SI5351_CLKOUT67_MAX_FREQ)
1073 dev_dbg(&hwdata->drvdata->client->dev,
1084 struct si5351_hw_data *hwdata =
1103 switch (hwdata->num) {
1105 si5351_set_bits(hwdata->drvdata, SI5351_CLK6_7_OUTPUT_DIVIDER,
1109 si5351_set_bits(hwdata->drvdata, SI5351_CLK6_7_OUTPUT_DIVIDER,
1114 si5351_set_bits(hwdata->drvdata,
1115 si5351_msynth_params_address(hwdata->num) + 2,
1121 si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
1124 dev_dbg(&hwdata->drvdata->client->dev,