{
        int i;
 
+       /* mask all IOC interrupts */
+       writeb(0, rbtx4927_imask_addr);
+       /* clear SoftInt interrupts */
+       writeb(0, rbtx4927_softint_addr);
+
        for (i = RBTX4927_IRQ_IOC;
             i < RBTX4927_IRQ_IOC + RBTX4927_NR_IRQ_IOC; i++)
                set_irq_chip_and_handler(i, &toshiba_rbtx4927_irq_ioc_type,
 
 #include <linux/ioport.h>
 #include <linux/platform_device.h>
 #include <linux/delay.h>
+#include <linux/gpio.h>
 #include <asm/io.h>
 #include <asm/reboot.h>
 #include <asm/txx9/generic.h>
        set_io_port_base(KSEG1 + RBTX4927_ISA_IO_OFFSET);
 #endif
 
+       /* TX4927-SIO DTR on (PIO[15]) */
+       gpio_request(15, "sio-dtr");
+       gpio_direction_output(15, 1);
+       gpio_request(0, "led");
+       gpio_direction_output(0, 1);
+       gpio_request(1, "led");
+       gpio_direction_output(1, 1);
+
        tx4927_sio_init(0, 0);
 #ifdef CONFIG_SERIAL_TXX9_CONSOLE
        argptr = prom_getcmdline();
 
 
 #define RBTX4927_IMASK_ADDR    (IO_BASE + TXX9_CE(2) + 0x00002000)
 #define RBTX4927_IMSTAT_ADDR   (IO_BASE + TXX9_CE(2) + 0x00002006)
+#define RBTX4927_SOFTINT_ADDR  (IO_BASE + TXX9_CE(2) + 0x00003000)
 #define RBTX4927_SOFTRESET_ADDR        (IO_BASE + TXX9_CE(2) + 0x0000f000)
 #define RBTX4927_SOFTRESETLOCK_ADDR    (IO_BASE + TXX9_CE(2) + 0x0000f002)
 #define RBTX4927_PCIRESET_ADDR (IO_BASE + TXX9_CE(2) + 0x0000f006)
 
 #define rbtx4927_imask_addr    ((__u8 __iomem *)RBTX4927_IMASK_ADDR)
 #define rbtx4927_imstat_addr   ((__u8 __iomem *)RBTX4927_IMSTAT_ADDR)
+#define rbtx4927_softint_addr  ((__u8 __iomem *)RBTX4927_SOFTINT_ADDR)
 #define rbtx4927_softreset_addr        ((__u8 __iomem *)RBTX4927_SOFTRESET_ADDR)
 #define rbtx4927_softresetlock_addr    \
                                ((__u8 __iomem *)RBTX4927_SOFTRESETLOCK_ADDR)