def METHOD_NAME(self, seconds):
    """
    Arm the hardware watchdog with a timeout of <seconds> seconds.
    If the watchdog is currently armed, calling this function will
    simply reset the timer to the provided value. If the underlying
    hardware does not support the value provided in <seconds>, this
    method should arm the watchdog with the *next greater*
    available value.
    Returns:
        An integer specifying the *actual* number of seconds the
        watchdog was armed with. On failure returns -1.
    """
    timer_offset = -1
    for key,timer_seconds in enumerate(self.TIMERS):
        if seconds <= timer_seconds:
            timer_offset = key
            seconds = timer_seconds
            break
    if timer_offset == -1:
        return -1
    # Extracting 5th to 7th bits for WD timer values
    # 000 - 15 sec
    # 001 - 20 sec
    # 010 - 30 sec
    # 011 - 40 sec
    # 100 - 50 sec
    # 101 - 60 sec
    # 110 - 65 sec
    # 111 - 70 sec
    reg_val = self._get_reg_val()
    wd_timer_offset = (reg_val >> 4) & 0x7
    if wd_timer_offset != timer_offset:
        # Setting 5th to 7th bits
        # value from timer_offset
        self.disarm()
        self._set_reg_val(reg_val | (timer_offset << 4))
    if self.is_armed():
        # Setting last bit to WD Timer punch
        # Last bit = WD Timer punch
        self._set_reg_val(reg_val & 0xFE)
        self.armed_time = self._get_time()
        self.timeout = seconds
        return seconds
    else:
        # Setting 4th bit to enable WD
        # 4th bit = Enable WD
        reg_val = self._get_reg_val()
        self._set_reg_val(reg_val | 0x8)
        self.armed_time = self._get_time()
        self.timeout = seconds
        return seconds