Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5125ed91 authored by Nobuhiro Iwamatsu's avatar Nobuhiro Iwamatsu Committed by Jeff Garzik
Browse files

smc91x SuperH support



This patch supports SuperH of smc91x.
smc91x installed on the board of SuperH comes to work by applying this patch.
Please apply this patch .

Signed-off-by: default avatarNobuhiro Iwamatsu <iwamatsu@nigauri.org>

Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 9fd9f9b6
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
#define SMC_insw(a, r, p, l)	insw((a) + (r), p, l)
#define SMC_outsw(a, r, p, l)	outsw((a) + (r), p, l)

#elif   defined(CONFIG_SUPERH)

#if defined(CONFIG_SH_7780_SOLUTION_ENGINE) || defined(CONFIG_SH_7722_SOLUTION_ENGINE)
#define SMC_CAN_USE_8BIT       0
#define SMC_CAN_USE_16BIT      1
#define SMC_CAN_USE_32BIT      0
#define SMC_IO_SHIFT           0
#define SMC_NOWAIT             1

#define SMC_inb(a, r)          (inw((a) + ((r)&~1)) >> (8*(r%2)))&0xff
#define SMC_inw(a, r)          inw((a) + (r))
#define SMC_outb(v, a, r)      outw(((inw((a)+((r)&~1))*(0xff<<8*(r%2)))) | ((v)<<(8*(r&2)))), (a) + ((r)&~1))

#define SMC_outw(v, a, r)      outw(v, (a) + (r))
#define SMC_insw(a, r, p, l)   insw((a) + (r), p, l)
#define SMC_outsw(a, r, p, l)  outsw((a) + (r), p, l)

#else /* BOARDS */

#define SMC_CAN_USE_8BIT       1
#define SMC_CAN_USE_16BIT      1
#define SMC_CAN_USE_32BIT      1

#define SMC_inb(a, r)          inb((a) + (r))
#define SMC_inw(a, r)          inw((a) + (r))
#define SMC_outb(v, a, r)      outb(v, (a) + (r))
#define SMC_outw(v, a, r)      outw(v, (a) + (r))
#define SMC_insw(a, r, p, l)   insw((a) + (r), p, l)
#define SMC_outsw(a, r, p, l)  outsw((a) + (r), p, l)

#endif  /* BOARDS */

#define set_irq_type(irq, type) do {} while (0)

#elif   defined(CONFIG_M32R)

#define SMC_CAN_USE_8BIT	0