Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
[pandora-kernel.git] / arch / arm / mach-shmobile / include / mach / mmcif-mackerel.h
1 #ifndef MMCIF_MACKEREL_H
2 #define MMCIF_MACKEREL_H
3
4 #define PORT0CR      (void __iomem *)0xe6051000
5 #define PORT1CR      (void __iomem *)0xe6051001
6 #define PORT2CR      (void __iomem *)0xe6051002
7 #define PORT159CR    (void __iomem *)0xe605009f
8
9 #define PORTR031_000DR (void __iomem *)0xe6055000
10 #define PORTL159_128DR (void __iomem *)0xe6054010
11
12 static inline void mmcif_init_progress(void)
13 {
14        /* Initialise LEDS0-3
15         * registers: PORT0CR-PORT2CR,PORT159CR (LED0-LED3 Control)
16         * value:     0x10 - enable output
17         */
18        __raw_writeb(0x10, PORT0CR);
19        __raw_writeb(0x10, PORT1CR);
20        __raw_writeb(0x10, PORT2CR);
21        __raw_writeb(0x10, PORT159CR);
22 }
23
24 static inline void mmcif_update_progress(int n)
25 {
26         unsigned a = 0, b = 0;
27
28         if (n < 3)
29                 a = 1 << n;
30         else
31                 b = 1 << 31;
32
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);
37 }
38
39 #endif /* MMCIF_MACKEREL_H */