superio_write
superio_write(sc->dev, ioreg, group_value);
superio_write(sc->dev, ioreg, group_drive);
superio_write(sc->dev, ioreg, group_io);
superio_write(sc->dev, GPIO1_ENABLE, 0xFF);
superio_write(sc->dev, GPIO2_ENABLE, 0xFF);
superio_write(sc->dev, GPIO3_ENABLE, 0xFF);
superio_write(sc->dev, GPIO4_ENABLE, 0xFF);
superio_write(sc->dev, FULL_UR5_UR6, 0x0A);
superio_write(dev, 0xf0, 0x00); // Disable WDTRST#
superio_write(dev, 0xf6, val); // Set Counter
superio_write(dev, 0xf5, 0x7d); // minutes, act high, 125ms
superio_write(dev, 0xf5, 0x75); // seconds, act high, 125ms
superio_write(dev, 0xf7, 0x01); // Disable PME
superio_write(dev, 0xf0, 0x81); // Enable WDTRST#
superio_write(dev, 0xf0, 0x00); // Disable WDTRST
superio_write(dev, 0x73, val);
superio_write(dev, 0x73, val);
superio_write(dev, 0x71, val & ~((uint8_t)0x01));
superio_write(dev, 0x74, 0);
superio_write(dev, 0x73, 0);
superio_write(dev, 0x71, 0);
superio_write(dev, 0x72, 0x80 | (uint8_t)irq);
void superio_write(device_t dev, uint8_t reg, uint8_t val);
superio_write(sc->dev, sc->csr_reg, sc->reg_2);
superio_write(sc->dev, sc->time_reg, sc->reg_timeout);
superio_write(sc->dev, sc->csr_reg, sc->reg_2);
superio_write(sc->dev, sc->ctl_reg, sc->reg_1);
superio_write(sc->dev, sc->time_reg, sc->reg_timeout);
superio_write(dev, 0x2B, t); /* set GPIO24 to WDT0 */
superio_write(dev, 0x29, t);
superio_write(dev, 0x2b, t);
superio_write(dev, 0x2B, t); /* set GPIO3 to WDT0 */
superio_write(dev, 0x2D, t); /* set GPIO5 to WDT0 */
superio_write(dev, sc->ctl_reg, t);
superio_write(dev, 0x2C, t);
superio_write(dev, sc->ctl_reg, t);
superio_write(dev, sc->ctl_reg, sc->reg_1);
superio_write(dev, sc->csr_reg, sc->reg_2);