Lines Matching +full:pmic +full:- +full:specific
37 * max77620_thermal_read_temp: Read PMIC die temperatue.
38 * @data: Device specific data.
41 * The actual temperature of PMIC die is not available from PMIC.
42 * PMIC only tells the status if it has crossed or not the threshold level
45 * else 120degC or 140deG based on the PMIC die temp threshold status.
56 ret = regmap_read(mtherm->rmap, MAX77620_REG_STATLBT, &val); in max77620_thermal_read_temp()
58 dev_err(mtherm->dev, "Failed to read STATLBT: %d\n", ret); in max77620_thermal_read_temp()
80 if (irq == mtherm->irq_tjalarm1) in max77620_thermal_irq()
81 dev_warn(mtherm->dev, "Junction Temp Alarm1(120C) occurred\n"); in max77620_thermal_irq()
82 else if (irq == mtherm->irq_tjalarm2) in max77620_thermal_irq()
83 dev_crit(mtherm->dev, "Junction Temp Alarm2(140C) occurred\n"); in max77620_thermal_irq()
85 thermal_zone_device_update(mtherm->tz_device, in max77620_thermal_irq()
96 mtherm = devm_kzalloc(&pdev->dev, sizeof(*mtherm), GFP_KERNEL); in max77620_thermal_probe()
98 return -ENOMEM; in max77620_thermal_probe()
100 mtherm->irq_tjalarm1 = platform_get_irq(pdev, 0); in max77620_thermal_probe()
101 mtherm->irq_tjalarm2 = platform_get_irq(pdev, 1); in max77620_thermal_probe()
102 if ((mtherm->irq_tjalarm1 < 0) || (mtherm->irq_tjalarm2 < 0)) { in max77620_thermal_probe()
103 dev_err(&pdev->dev, "Alarm irq number not available\n"); in max77620_thermal_probe()
104 return -EINVAL; in max77620_thermal_probe()
107 mtherm->dev = &pdev->dev; in max77620_thermal_probe()
108 mtherm->rmap = dev_get_regmap(pdev->dev.parent, NULL); in max77620_thermal_probe()
109 if (!mtherm->rmap) { in max77620_thermal_probe()
110 dev_err(&pdev->dev, "Failed to get parent regmap\n"); in max77620_thermal_probe()
111 return -ENODEV; in max77620_thermal_probe()
116 * reprobe or on platform-device release. in max77620_thermal_probe()
118 device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent); in max77620_thermal_probe()
120 mtherm->tz_device = devm_thermal_zone_of_sensor_register(&pdev->dev, 0, in max77620_thermal_probe()
122 if (IS_ERR(mtherm->tz_device)) { in max77620_thermal_probe()
123 ret = PTR_ERR(mtherm->tz_device); in max77620_thermal_probe()
124 dev_err(&pdev->dev, "Failed to register thermal zone: %d\n", in max77620_thermal_probe()
129 ret = devm_request_threaded_irq(&pdev->dev, mtherm->irq_tjalarm1, NULL, in max77620_thermal_probe()
132 dev_name(&pdev->dev), mtherm); in max77620_thermal_probe()
134 dev_err(&pdev->dev, "Failed to request irq1: %d\n", ret); in max77620_thermal_probe()
138 ret = devm_request_threaded_irq(&pdev->dev, mtherm->irq_tjalarm2, NULL, in max77620_thermal_probe()
141 dev_name(&pdev->dev), mtherm); in max77620_thermal_probe()
143 dev_err(&pdev->dev, "Failed to request irq2: %d\n", ret); in max77620_thermal_probe()
153 { .name = "max77620-thermal", },
160 .name = "max77620-thermal",