root/arch/arm/mach-ep93xx/ts72xx.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. ts72xx_model
  2. board_is_ts7200
  3. board_is_ts7250
  4. board_is_ts7260
  5. board_is_ts7300
  6. board_is_ts7400
  7. is_max197_installed
  8. is_ts9420_installed

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * arch/arm/mach-ep93xx/include/mach/ts72xx.h
   4  */
   5 
   6 /*
   7  * TS72xx memory map:
   8  *
   9  * virt         phys            size
  10  * febff000     22000000        4K      model number register (bits 0-2)
  11  * febfe000     22400000        4K      options register
  12  * febfd000     22800000        4K      options register #2
  13  * febfc000     23400000        4K      CPLD version register
  14  */
  15 
  16 #ifndef __TS72XX_H_
  17 #define __TS72XX_H_
  18 
  19 #define TS72XX_MODEL_PHYS_BASE          0x22000000
  20 #define TS72XX_MODEL_VIRT_BASE          IOMEM(0xfebff000)
  21 #define TS72XX_MODEL_SIZE               0x00001000
  22 
  23 #define TS72XX_MODEL_TS7200             0x00
  24 #define TS72XX_MODEL_TS7250             0x01
  25 #define TS72XX_MODEL_TS7260             0x02
  26 #define TS72XX_MODEL_TS7300             0x03
  27 #define TS72XX_MODEL_TS7400             0x04
  28 #define TS72XX_MODEL_MASK               0x07
  29 
  30 
  31 #define TS72XX_OPTIONS_PHYS_BASE        0x22400000
  32 #define TS72XX_OPTIONS_VIRT_BASE        IOMEM(0xfebfe000)
  33 #define TS72XX_OPTIONS_SIZE             0x00001000
  34 
  35 #define TS72XX_OPTIONS_COM2_RS485       0x02
  36 #define TS72XX_OPTIONS_MAX197           0x01
  37 
  38 
  39 #define TS72XX_OPTIONS2_PHYS_BASE       0x22800000
  40 #define TS72XX_OPTIONS2_VIRT_BASE       IOMEM(0xfebfd000)
  41 #define TS72XX_OPTIONS2_SIZE            0x00001000
  42 
  43 #define TS72XX_OPTIONS2_TS9420          0x04
  44 #define TS72XX_OPTIONS2_TS9420_BOOT     0x02
  45 
  46 #define TS72XX_CPLDVER_PHYS_BASE        0x23400000
  47 #define TS72XX_CPLDVER_VIRT_BASE        IOMEM(0xfebfc000)
  48 #define TS72XX_CPLDVER_SIZE             0x00001000
  49 
  50 #ifndef __ASSEMBLY__
  51 
  52 static inline int ts72xx_model(void)
  53 {
  54         return __raw_readb(TS72XX_MODEL_VIRT_BASE) & TS72XX_MODEL_MASK;
  55 }
  56 
  57 static inline int board_is_ts7200(void)
  58 {
  59         return ts72xx_model() == TS72XX_MODEL_TS7200;
  60 }
  61 
  62 static inline int board_is_ts7250(void)
  63 {
  64         return ts72xx_model() == TS72XX_MODEL_TS7250;
  65 }
  66 
  67 static inline int board_is_ts7260(void)
  68 {
  69         return ts72xx_model() == TS72XX_MODEL_TS7260;
  70 }
  71 
  72 static inline int board_is_ts7300(void)
  73 {
  74         return ts72xx_model()  == TS72XX_MODEL_TS7300;
  75 }
  76 
  77 static inline int board_is_ts7400(void)
  78 {
  79         return ts72xx_model() == TS72XX_MODEL_TS7400;
  80 }
  81 
  82 static inline int is_max197_installed(void)
  83 {
  84         return !!(__raw_readb(TS72XX_OPTIONS_VIRT_BASE) &
  85                                         TS72XX_OPTIONS_MAX197);
  86 }
  87 
  88 static inline int is_ts9420_installed(void)
  89 {
  90         return !!(__raw_readb(TS72XX_OPTIONS2_VIRT_BASE) &
  91                                         TS72XX_OPTIONS2_TS9420);
  92 }
  93 #endif
  94 #endif /* __TS72XX_H_ */

/* [<][>][^][v][top][bottom][index][help] */