linux/arch/arm/mach-shmobile/include/mach/mmc-mackerel.h
<<
>>
Prefs
   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
  12static 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
  24static 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