Lines Matching refs:tmu

100 	struct imx8mm_tmu *tmu = sensor->priv;
103 val = readl_relaxed(tmu->base + TRITSR) & TRITSR_TEMP0_VAL_MASK;
120 struct imx8mm_tmu *tmu = sensor->priv;
124 val = readl_relaxed(tmu->base + TRITSR);
144 struct imx8mm_tmu *tmu = sensor->priv;
146 return tmu->socdata->get_temp(sensor, temp);
153 static void imx8mm_tmu_enable(struct imx8mm_tmu *tmu, bool enable)
157 val = readl_relaxed(tmu->base + TER);
159 if (tmu->socdata->version == TMU_VER2)
161 writel_relaxed(val, tmu->base + TER);
164 static void imx8mm_tmu_probe_sel_all(struct imx8mm_tmu *tmu)
168 val = readl_relaxed(tmu->base + TPS);
170 writel_relaxed(val, tmu->base + TPS);
174 struct imx8mm_tmu *tmu)
188 tmu->base + TASR);
193 tmu->base + TCALIV(0));
199 struct imx8mm_tmu *tmu)
230 tmu->base + TCALIV(0));
232 tmu->base + TCALIV(1));
240 tmu->base + TASR);
247 tmu->base + TRIM);
254 tmu->base + TCALIV(0));
260 tmu->base + TCALIV(1));
266 tmu->base + TCALIV(2));
272 struct imx8mm_tmu *tmu)
288 if (tmu->socdata->version == TMU_VER1)
289 return imx8mm_tmu_probe_set_calib_v1(pdev, tmu);
291 return imx8mm_tmu_probe_set_calib_v2(pdev, tmu);
297 struct imx8mm_tmu *tmu;
303 tmu = devm_kzalloc(&pdev->dev, struct_size(tmu, sensors,
305 if (!tmu)
308 tmu->socdata = data;
310 tmu->base = devm_platform_ioremap_resource(pdev, 0);
311 if (IS_ERR(tmu->base))
312 return PTR_ERR(tmu->base);
314 tmu->clk = devm_clk_get(&pdev->dev, NULL);
315 if (IS_ERR(tmu->clk))
316 return dev_err_probe(&pdev->dev, PTR_ERR(tmu->clk),
317 "failed to get tmu clock\n");
319 ret = clk_prepare_enable(tmu->clk);
321 dev_err(&pdev->dev, "failed to enable tmu clock: %d\n", ret);
326 imx8mm_tmu_enable(tmu, false);
329 tmu->sensors[i].priv = tmu;
330 tmu->sensors[i].tzd =
332 &tmu->sensors[i],
334 if (IS_ERR(tmu->sensors[i].tzd)) {
335 ret = PTR_ERR(tmu->sensors[i].tzd);
341 tmu->sensors[i].hw_id = i;
343 devm_thermal_add_hwmon_sysfs(&pdev->dev, tmu->sensors[i].tzd);
346 platform_set_drvdata(pdev, tmu);
348 ret = imx8mm_tmu_probe_set_calib(pdev, tmu);
353 if (tmu->socdata->version == TMU_VER2)
354 imx8mm_tmu_probe_sel_all(tmu);
357 imx8mm_tmu_enable(tmu, true);
362 clk_disable_unprepare(tmu->clk);
368 struct imx8mm_tmu *tmu = platform_get_drvdata(pdev);
371 imx8mm_tmu_enable(tmu, false);
373 clk_disable_unprepare(tmu->clk);
392 { .compatible = "fsl,imx8mm-tmu", .data = &imx8mm_tmu_data, },
393 { .compatible = "fsl,imx8mp-tmu", .data = &imx8mp_tmu_data, },