.channel = 0,
                .channel2 = 2,
                .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
-               BIT(IIO_CHAN_INFO_CALIBSCALE) | BIT(IIO_CHAN_INFO_OFFSET),
+               BIT(IIO_CHAN_INFO_CALIBSCALE) | BIT(IIO_CHAN_INFO_ZEROPOINT),
                .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_CALIBBIAS) |
                BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ),
                .address = CIN1_DIFF,
                .channel = 1,
                .channel2 = 3,
                .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) |
-               BIT(IIO_CHAN_INFO_CALIBSCALE) | BIT(IIO_CHAN_INFO_OFFSET),
+               BIT(IIO_CHAN_INFO_CALIBSCALE) | BIT(IIO_CHAN_INFO_ZEROPOINT),
                .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_CALIBBIAS) |
                BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ),
                .address = CIN2_DIFF,
 
                return 0;
        case IIO_CHAN_INFO_OFFSET:
+       case IIO_CHAN_INFO_ZEROPOINT:
                if (val < 0 || val > 43008000) /* 21pF */
                        return -EINVAL;
 
        if (ret < 0)
                return ret;
 
+       /*
+        * Offset applied internally becaue the _offset userspace interface is
+        * needed for the CAP DACs which apply a controllable offset.
+        */
        *val = get_unaligned_be24(data) - 0x800000;
 
        return 0;
 
                return IIO_VAL_INT;
        case IIO_CHAN_INFO_OFFSET:
+       case IIO_CHAN_INFO_ZEROPOINT:
                *val = FIELD_GET(AD7746_CAPDAC_DACP_MASK,
                                 chip->capdac[chan->channel][chan->differential]) * 338646;