Lines Matching full:sensor
459 tsensor_calibration(struct soctherm_softc *sc, struct tsensor *sensor) in tsensor_calibration() argument
472 val = tegra_fuse_read_4(sensor->calib_fuse); in tsensor_calibration()
495 temp_a = div64_s64_precise((int64_t)temp_a * sensor->fuse_corr_alpha, in tsensor_calibration()
497 temp_b = div64_s64_precise((int64_t)temp_b * sensor->fuse_corr_alpha + in tsensor_calibration()
498 sensor->fuse_corr_beta, 1000000); in tsensor_calibration()
499 sensor->therm_a = (int16_t)temp_a; in tsensor_calibration()
500 sensor->therm_b = (int16_t)temp_b; in tsensor_calibration()
502 printf("%s: sensor %s fuse: 0x%08X (0x%04X, 0x%04X)" in tsensor_calibration()
504 __func__, sensor->name, val, val & 0x1FFF, (val >> 13) & 0x1FFF, in tsensor_calibration()
507 (uint16_t)sensor->therm_a, sensor->therm_a, in tsensor_calibration()
508 (uint16_t)sensor->therm_b, sensor->therm_b); in tsensor_calibration()
513 soctherm_init_tsensor(struct soctherm_softc *sc, struct tsensor *sensor) in soctherm_init_tsensor() argument
519 tsensor_calibration(sc, sensor); in soctherm_init_tsensor()
521 val = RD4(sc, sensor->sensor_base + TSENSOR_CONFIG0); in soctherm_init_tsensor()
524 WR4(sc, sensor->sensor_base + TSENSOR_CONFIG0, val); in soctherm_init_tsensor()
528 WR4(sc, sensor->sensor_base + TSENSOR_CONFIG0, val); in soctherm_init_tsensor()
534 WR4(sc, sensor->sensor_base + TSENSOR_CONFIG1, val); in soctherm_init_tsensor()
536 val = TSENSOR_CONFIG2_THERMA((uint16_t)sensor->therm_a) | in soctherm_init_tsensor()
537 TSENSOR_CONFIG2_THERMB((uint16_t)sensor->therm_b); in soctherm_init_tsensor()
538 WR4(sc, sensor->sensor_base + TSENSOR_CONFIG2, val); in soctherm_init_tsensor()
540 val = RD4(sc, sensor->sensor_base + TSENSOR_CONFIG0); in soctherm_init_tsensor()
542 WR4(sc, sensor->sensor_base + TSENSOR_CONFIG0, val); in soctherm_init_tsensor()
544 printf(" Sensor: %s cfg:0x%08X, 0x%08X, 0x%08X," in soctherm_init_tsensor()
545 " sts:0x%08X, 0x%08X, 0x%08X\n", sensor->name, in soctherm_init_tsensor()
546 RD4(sc, sensor->sensor_base + TSENSOR_CONFIG0), in soctherm_init_tsensor()
547 RD4(sc, sensor->sensor_base + TSENSOR_CONFIG1), in soctherm_init_tsensor()
548 RD4(sc, sensor->sensor_base + TSENSOR_CONFIG2), in soctherm_init_tsensor()
549 RD4(sc, sensor->sensor_base + TSENSOR_STATUS0), in soctherm_init_tsensor()
550 RD4(sc, sensor->sensor_base + TSENSOR_STATUS1), in soctherm_init_tsensor()
551 RD4(sc, sensor->sensor_base + TSENSOR_STATUS2) in soctherm_init_tsensor()
571 soctherm_read_temp(struct soctherm_softc *sc, struct tsensor *sensor, int *temp) in soctherm_read_temp() argument
578 val = RD4(sc, sensor->sensor_base + TSENSOR_STATUS1); in soctherm_read_temp()
584 device_printf(sc->dev, "Sensor %s timeouted\n", sensor->name); in soctherm_read_temp()
588 printf(" Sensor: %s cfg:0x%08X, 0x%08X, 0x%08X," in soctherm_read_temp()
589 " sts:0x%08X, 0x%08X, 0x%08X\n", sensor->name, in soctherm_read_temp()
590 RD4(sc, sensor->sensor_base + TSENSOR_CONFIG0), in soctherm_read_temp()
591 RD4(sc, sensor->sensor_base + TSENSOR_CONFIG1), in soctherm_read_temp()
592 RD4(sc, sensor->sensor_base + TSENSOR_CONFIG2), in soctherm_read_temp()
593 RD4(sc, sensor->sensor_base + TSENSOR_STATUS0), in soctherm_read_temp()
594 RD4(sc, sensor->sensor_base + TSENSOR_STATUS1), in soctherm_read_temp()
595 RD4(sc, sensor->sensor_base + TSENSOR_STATUS2) in soctherm_read_temp()
608 /* The direct sensor map starts at 0x100 */ in soctherm_get_temp()