TUL_NVRAM
outb(SE2CS | SE2DO, base + TUL_NVRAM); /* cs+start bit */
outb(SE2CS | SE2CLK | SE2DO, base + TUL_NVRAM); /* +CLK */
outb(b, base + TUL_NVRAM);
outb(b | SE2CLK, base + TUL_NVRAM); /* +CLK */
outb(SE2CS, base + TUL_NVRAM); /* -CLK */
outb(0, base + TUL_NVRAM); /* -CS */
outb(0, base + TUL_NVRAM); /* -CS */
outb(SE2CS | SE2CLK, base + TUL_NVRAM); /* +CLK */
outb(SE2CS, base + TUL_NVRAM); /* -CLK */
rb = inb(base + TUL_NVRAM);
outb(0, base + TUL_NVRAM); /* no chip select */
outb(SE2CS | SE2DO, base + TUL_NVRAM); /* -CLK+dataBit 1 */
outb(SE2CS, base + TUL_NVRAM); /* -CLK+dataBit 0 */
outb(SE2CS | SE2CLK, base + TUL_NVRAM); /* +CLK */
outb(SE2CS, base + TUL_NVRAM); /* -CLK */
outb(0, base + TUL_NVRAM); /* -CS */
outb(SE2CS, base + TUL_NVRAM); /* +CS */
outb(SE2CS | SE2CLK, base + TUL_NVRAM); /* +CLK */
outb(SE2CS, base + TUL_NVRAM); /* -CLK */
if (inb(base + TUL_NVRAM) & SE2DI)
outb(0, base + TUL_NVRAM); /* -CS */