static void __devinit ttl_setup_device(struct ttl_module *mod) { /* reset the device to a known state */ iowrite16be(0x0000, &mod->regs->control); iowrite16be(0x0001, &mod->regs->control); iowrite16be(0x0000, &mod->regs->control); /* put all ports in open-drain mode */ ttl_write_reg(mod, PORTA_IOCTL, 0x00ff); ttl_write_reg(mod, PORTB_IOCTL, 0x00ff); ttl_write_reg(mod, PORTC_IOCTL, 0x000f); /* set all ports as outputs */ ttl_write_reg(mod, PORTA_DIRECTION, 0x0000); ttl_write_reg(mod, PORTB_DIRECTION, 0x0000); ttl_write_reg(mod, PORTC_DIRECTION, 0x0000); /* set all ports to drive zeroes */ iowrite16be(0x0000, &mod->regs->porta); iowrite16be(0x0000, &mod->regs->portb); iowrite16be(0x0000, &mod->regs->portc); /* enable all ports */ ttl_write_reg(mod, MASTER_CONF_CTL, CONF_PAE | CONF_PBE | CONF_PCE); }
static void __devinit ttl_setup_device(struct ttl_module *mod) { /* */ iowrite16be(0x0000, &mod->regs->control); iowrite16be(0x0001, &mod->regs->control); iowrite16be(0x0000, &mod->regs->control); /* */ ttl_write_reg(mod, PORTA_IOCTL, 0x00ff); ttl_write_reg(mod, PORTB_IOCTL, 0x00ff); ttl_write_reg(mod, PORTC_IOCTL, 0x000f); /* */ ttl_write_reg(mod, PORTA_DIRECTION, 0x0000); ttl_write_reg(mod, PORTB_DIRECTION, 0x0000); ttl_write_reg(mod, PORTC_DIRECTION, 0x0000); /* */ iowrite16be(0x0000, &mod->regs->porta); iowrite16be(0x0000, &mod->regs->portb); iowrite16be(0x0000, &mod->regs->portc); /* */ ttl_write_reg(mod, MASTER_CONF_CTL, CONF_PAE | CONF_PBE | CONF_PCE); }