Merge remote-tracking branch 's5p/for-next'
[linux-2.6/next.git] / arch / arm / mach-shmobile / include / mach / mmc-mackerel.h
blob15d3a9efdec25ee130476bd19bf6672cf162ab0f
1 #ifndef MMC_MACKEREL_H
2 #define MMC_MACKEREL_H
4 #define PORT0CR (void __iomem *)0xe6051000
5 #define PORT1CR (void __iomem *)0xe6051001
6 #define PORT2CR (void __iomem *)0xe6051002
7 #define PORT159CR (void __iomem *)0xe605009f
9 #define PORTR031_000DR (void __iomem *)0xe6055000
10 #define PORTL159_128DR (void __iomem *)0xe6054010
12 static inline void mmc_init_progress(void)
14 /* Initialise LEDS0-3
15 * registers: PORT0CR-PORT2CR,PORT159CR (LED0-LED3 Control)
16 * value: 0x10 - enable output
18 __raw_writeb(0x10, PORT0CR);
19 __raw_writeb(0x10, PORT1CR);
20 __raw_writeb(0x10, PORT2CR);
21 __raw_writeb(0x10, PORT159CR);
24 static inline void mmc_update_progress(int n)
26 unsigned a = 0, b = 0;
28 if (n < 3)
29 a = 1 << n;
30 else
31 b = 1 << 31;
33 __raw_writel((__raw_readl(PORTR031_000DR) & ~0x7) | a,
34 PORTR031_000DR);
35 __raw_writel((__raw_readl(PORTL159_128DR) & ~(1 << 31)) | b,
36 PORTL159_128DR);
38 #endif /* MMC_MACKEREL_H */