Lines Matching refs:tdev

88 static int uniphier_tm_initialize_sensor(struct uniphier_tm_dev *tdev)  in uniphier_tm_initialize_sensor()  argument
90 struct regmap *map = tdev->regmap; in uniphier_tm_initialize_sensor()
96 regmap_write_bits(map, tdev->data->block_base + PVTCTLEN, in uniphier_tm_initialize_sensor()
106 ret = regmap_read(map, tdev->data->map_base + TMODCOEF, &val); in uniphier_tm_initialize_sensor()
111 ret = of_property_read_u32_array(tdev->dev->of_node, in uniphier_tm_initialize_sensor()
118 regmap_write(map, tdev->data->tmod_setup_addr, in uniphier_tm_initialize_sensor()
124 regmap_write_bits(map, tdev->data->block_base + PVTCTLMODE, in uniphier_tm_initialize_sensor()
128 regmap_write_bits(map, tdev->data->block_base + EMONREPEAT, in uniphier_tm_initialize_sensor()
133 regmap_write_bits(map, tdev->data->map_base + PVTCTLSEL, in uniphier_tm_initialize_sensor()
139 static void uniphier_tm_set_alert(struct uniphier_tm_dev *tdev, u32 ch, in uniphier_tm_set_alert() argument
142 struct regmap *map = tdev->regmap; in uniphier_tm_set_alert()
145 regmap_write_bits(map, tdev->data->map_base + SETALERT0 + (ch << 2), in uniphier_tm_set_alert()
151 static void uniphier_tm_enable_sensor(struct uniphier_tm_dev *tdev) in uniphier_tm_enable_sensor() argument
153 struct regmap *map = tdev->regmap; in uniphier_tm_enable_sensor()
158 if (tdev->alert_en[i]) in uniphier_tm_enable_sensor()
162 regmap_write_bits(map, tdev->data->map_base + PMALERTINTCTL, in uniphier_tm_enable_sensor()
166 regmap_write_bits(map, tdev->data->block_base + PVTCTLEN, in uniphier_tm_enable_sensor()
172 static void uniphier_tm_disable_sensor(struct uniphier_tm_dev *tdev) in uniphier_tm_disable_sensor() argument
174 struct regmap *map = tdev->regmap; in uniphier_tm_disable_sensor()
177 regmap_write_bits(map, tdev->data->map_base + PMALERTINTCTL, in uniphier_tm_disable_sensor()
181 regmap_write_bits(map, tdev->data->block_base + PVTCTLEN, in uniphier_tm_disable_sensor()
189 struct uniphier_tm_dev *tdev = thermal_zone_device_priv(tz); in uniphier_tm_get_temp() local
190 struct regmap *map = tdev->regmap; in uniphier_tm_get_temp()
194 ret = regmap_read(map, tdev->data->map_base + TMOD, &temp); in uniphier_tm_get_temp()
208 static void uniphier_tm_irq_clear(struct uniphier_tm_dev *tdev) in uniphier_tm_irq_clear() argument
219 regmap_write_bits(tdev->regmap, in uniphier_tm_irq_clear()
220 tdev->data->map_base + PMALERTINTCTL, mask, bits); in uniphier_tm_irq_clear()
225 struct uniphier_tm_dev *tdev = _tdev; in uniphier_tm_alarm_irq() local
228 uniphier_tm_irq_clear(tdev); in uniphier_tm_alarm_irq()
235 struct uniphier_tm_dev *tdev = _tdev; in uniphier_tm_alarm_irq_thread() local
237 thermal_zone_device_update(tdev->tz_dev, THERMAL_EVENT_UNSPECIFIED); in uniphier_tm_alarm_irq_thread()
243 struct uniphier_tm_dev *tdev; member
256 uniphier_tm_set_alert(twd->tdev, twd->index, trip->temperature); in uniphier_tm_trip_walk_cb()
257 twd->tdev->alert_en[twd->index++] = true; in uniphier_tm_trip_walk_cb()
268 struct uniphier_tm_dev *tdev; in uniphier_tm_probe() local
271 tdev = devm_kzalloc(dev, sizeof(*tdev), GFP_KERNEL); in uniphier_tm_probe()
272 if (!tdev) in uniphier_tm_probe()
274 tdev->dev = dev; in uniphier_tm_probe()
276 tdev->data = of_device_get_match_data(dev); in uniphier_tm_probe()
277 if (WARN_ON(!tdev->data)) in uniphier_tm_probe()
293 tdev->regmap = regmap; in uniphier_tm_probe()
295 ret = uniphier_tm_initialize_sensor(tdev); in uniphier_tm_probe()
303 0, "thermal", tdev); in uniphier_tm_probe()
307 platform_set_drvdata(pdev, tdev); in uniphier_tm_probe()
309 tdev->tz_dev = devm_thermal_of_zone_register(dev, 0, tdev, in uniphier_tm_probe()
311 if (IS_ERR(tdev->tz_dev)) { in uniphier_tm_probe()
313 return PTR_ERR(tdev->tz_dev); in uniphier_tm_probe()
317 twd.tdev = tdev; in uniphier_tm_probe()
318 thermal_zone_for_each_trip(tdev->tz_dev, uniphier_tm_trip_walk_cb, &twd); in uniphier_tm_probe()
326 uniphier_tm_enable_sensor(tdev); in uniphier_tm_probe()
333 struct uniphier_tm_dev *tdev = platform_get_drvdata(pdev); in uniphier_tm_remove() local
336 uniphier_tm_disable_sensor(tdev); in uniphier_tm_remove()