Lines Matching refs:mipi_tx

16 	struct mtk_mipi_tx *mipi_tx = mtk_mipi_tx_from_clk_hw(hw);  in mtk_mipi_tx_pll_set_rate()  local
18 dev_dbg(mipi_tx->dev, "set rate: %lu Hz\n", rate); in mtk_mipi_tx_pll_set_rate()
20 mipi_tx->data_rate = rate; in mtk_mipi_tx_pll_set_rate()
28 struct mtk_mipi_tx *mipi_tx = mtk_mipi_tx_from_clk_hw(hw); in mtk_mipi_tx_pll_recalc_rate() local
30 return mipi_tx->data_rate; in mtk_mipi_tx_pll_recalc_rate()
35 struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy); in mtk_mipi_tx_power_on() local
39 ret = clk_prepare_enable(mipi_tx->pll_hw.clk); in mtk_mipi_tx_power_on()
44 mipi_tx->driver_data->mipi_tx_enable_signal(phy); in mtk_mipi_tx_power_on()
50 struct mtk_mipi_tx *mipi_tx = phy_get_drvdata(phy); in mtk_mipi_tx_power_off() local
53 mipi_tx->driver_data->mipi_tx_disable_signal(phy); in mtk_mipi_tx_power_off()
56 clk_disable_unprepare(mipi_tx->pll_hw.clk); in mtk_mipi_tx_power_off()
67 static void mtk_mipi_tx_get_calibration_datal(struct mtk_mipi_tx *mipi_tx) in mtk_mipi_tx_get_calibration_datal() argument
73 cell = nvmem_cell_get(mipi_tx->dev, "calibration-data"); in mtk_mipi_tx_get_calibration_datal()
75 dev_info(mipi_tx->dev, "can't get nvmem_cell_get, ignore it\n"); in mtk_mipi_tx_get_calibration_datal()
82 dev_info(mipi_tx->dev, "can't get data, ignore it\n"); in mtk_mipi_tx_get_calibration_datal()
87 dev_info(mipi_tx->dev, "invalid calibration data\n"); in mtk_mipi_tx_get_calibration_datal()
92 mipi_tx->rt_code[0] = ((buf[0] >> 6 & 0x1f) << 5) | in mtk_mipi_tx_get_calibration_datal()
94 mipi_tx->rt_code[1] = ((buf[1] >> 27 & 0x1f) << 5) | in mtk_mipi_tx_get_calibration_datal()
96 mipi_tx->rt_code[2] = ((buf[1] >> 17 & 0x1f) << 5) | in mtk_mipi_tx_get_calibration_datal()
98 mipi_tx->rt_code[3] = ((buf[1] >> 7 & 0x1f) << 5) | in mtk_mipi_tx_get_calibration_datal()
100 mipi_tx->rt_code[4] = ((buf[2] >> 27 & 0x1f) << 5) | in mtk_mipi_tx_get_calibration_datal()
108 struct mtk_mipi_tx *mipi_tx; in mtk_mipi_tx_probe() local
120 mipi_tx = devm_kzalloc(dev, sizeof(*mipi_tx), GFP_KERNEL); in mtk_mipi_tx_probe()
121 if (!mipi_tx) in mtk_mipi_tx_probe()
124 mipi_tx->driver_data = of_device_get_match_data(dev); in mtk_mipi_tx_probe()
125 if (!mipi_tx->driver_data) in mtk_mipi_tx_probe()
128 mipi_tx->regs = devm_platform_ioremap_resource(pdev, 0); in mtk_mipi_tx_probe()
129 if (IS_ERR(mipi_tx->regs)) in mtk_mipi_tx_probe()
130 return PTR_ERR(mipi_tx->regs); in mtk_mipi_tx_probe()
138 &mipi_tx->mipitx_drive); in mtk_mipi_tx_probe()
141 mipi_tx->mipitx_drive = 4600; in mtk_mipi_tx_probe()
144 if (mipi_tx->mipitx_drive > 6000 || mipi_tx->mipitx_drive < 3000) { in mtk_mipi_tx_probe()
146 mipi_tx->mipitx_drive); in mtk_mipi_tx_probe()
147 mipi_tx->mipitx_drive = clamp_val(mipi_tx->mipitx_drive, 3000, in mtk_mipi_tx_probe()
158 clk_init.ops = mipi_tx->driver_data->mipi_tx_clk_ops; in mtk_mipi_tx_probe()
160 mipi_tx->pll_hw.init = &clk_init; in mtk_mipi_tx_probe()
161 ret = devm_clk_hw_register(dev, &mipi_tx->pll_hw); in mtk_mipi_tx_probe()
169 phy_set_drvdata(phy, mipi_tx); in mtk_mipi_tx_probe()
175 mipi_tx->dev = dev; in mtk_mipi_tx_probe()
177 mtk_mipi_tx_get_calibration_datal(mipi_tx); in mtk_mipi_tx_probe()
179 return devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, &mipi_tx->pll_hw); in mtk_mipi_tx_probe()