1 #ifndef MMC_MACKEREL_H
2 #define MMC_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 
mmc_init_progress(void)12 static inline void mmc_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 
mmc_update_progress(int n)24 static inline void mmc_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 #endif /* MMC_MACKEREL_H */
39