Changeset 571


Ignore:
Timestamp:
Oct 5, 2018, 12:18:27 AM (5 years ago)
Author:
alain
Message:

Introduce the soclib_mty driver for the TSAR-LETI architecture.

Location:
trunk/tools/arch_info
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/arch_info/arch_classes.py

    r556 r571  
    4141#########################################################################################
    4242# These arrays define the supported types of peripherals.
    43 # They must be kept consistent with values defined in files arch_info.h & device.h.
     43# They must be kept consistent with values defined in file arch_info.h
    4444#########################################################################################
    4545
     
    5959    'TIM_SCL',         # 8.0
    6060    'TXT_TTY',         # 9.0
    61     'TXT_RS2',         # 9.1
    62     'TXT_MTY',         # 9.2
     61    'TXT_MTY',         # 9.1
    6362    'ICU_XCU',         # A.0
    6463    'PIC_TSR',         # B.0
     
    8180    0x00090000,        # 9.0
    8281    0x00090001,        # 9.1
    83     0x00090002,        # 9.2
    8482    0x000A0000,        # A.0
    8583    0x000B0000,        # B.0
     
    363361
    364362    ######################################################################
    365     def hard_config( self, ioc_type, sys_clk ):     # compute string for hard_config.h file
     363    def hard_config( self ):     # compute string for hard_config.h file
    366364                                 # required by
    367365                                 # - top.cpp compilation
     
    557555
    558556        # one and only one IOC controller
    559         # assert ( nb_ioc == 1 )
     557        assert ( nb_ioc == 1 )
    560558
    561559        # compute rdk_base and rdk_size
     
    605603        s += '#define BOOT_CORE_CXY          %d\n'    % self.boot_cxy
    606604        s += '#define CACHE_LINE_SIZE        %d\n'    % self.cache_line
    607         s += '#define RESET_SYSTEM_CLK       %d\n'    % sys_clk
    608605        s += '\n'
    609606
     
    622619        s += '#define USE_DMA                %d\n'    % ( nb_dma != 0 )
    623620        s += '\n'
    624         s += '#define USE_IOC_BDV            %d\n'    % (use_ioc_bdv and ioc_type == "IOC_BDV")
    625         s += '#define USE_IOC_SDC            %d\n'    % (use_ioc_sdc and ioc_type == "IOC_SDC")
    626         s += '#define USE_IOC_HBA            %d\n'    % (use_ioc_hba and ioc_type == "IOC_HBA")
    627         s += '#define USE_IOC_SPI            %d\n'    % (use_ioc_spi and ioc_type == "IOC_SPI")
     621        s += '#define USE_IOC_BDV            %d\n'    % use_ioc_bdv
     622        s += '#define USE_IOC_SDC            %d\n'    % use_ioc_sdc
     623        s += '#define USE_IOC_HBA            %d\n'    % use_ioc_hba
     624        s += '#define USE_IOC_SPI            %d\n'    % use_ioc_spi
    628625        s += '#define USE_IOC_RDK            %d\n'    % use_ioc_rdk
    629         s += '\n'
    630         s += '#define USE_TXT_TTY            %d\n'    % (self.name[5] != 'l') # use TTY implementation on IOB
    631         s += '#define USE_TXT_MTY            %d\n'    % (self.name[5] == 'l') # use MTY implementation on LETI
    632626        s += '\n'
    633627        s += '#define FBUF_X_SIZE            %d\n'    % fbf_arg0
     
    638632        s += '#define ICU_NB_WTI             %d\n'    % icu_arg2
    639633        s += '#define ICU_NB_OUT             %d\n'    % icu_arg3
    640         s += '\n'
    641         if (self.name[5] == 'l') : # If running on LETI
    642             s += '#define TXT_TGT_CLUSTER        0\n'
    643         else : # Else, running on IOB
    644             s += '#define TXT_TGT_CLUSTER        ((X_IO << Y_WIDTH) + Y_IO)\n'
    645634        s += '\n'
    646635
  • trunk/tools/arch_info/arch_info.h

    r534 r571  
    6363 * The 16 MSB bits define the functionnal type.
    6464 * The 16 LSB bits define the implementation type.
    65  * It must be consistent with values defined in files arch_class.py, and device.*
    66  ***************************************************************************************/
    67 
    68 typedef enum deviceTypes_s
     65 * It must be consistent with values defined in file arch_class.py
     66 ***************************************************************************************/
     67
     68enum device_types_e
    6969{
    7070    DEV_TYPE_RAM_SCL   = 0x00000000,
     
    8282    DEV_TYPE_TIM_SCL   = 0x00080000,
    8383    DEV_TYPE_TXT_TTY   = 0x00090000,
    84     DEV_TYPE_TXT_RS2   = 0x00090001,
    85     DEV_TYPE_TXT_MTY   = 0x00090002,
     84    DEV_TYPE_TXT_MTY   = 0x00090001,
    8685    DEV_TYPE_ICU_XCU   = 0x000A0000,
    8786    DEV_TYPE_PIC_TSR   = 0x000B0000,
    88 } boot_device_types_t;
     87};
    8988
    9089/****************************************************************************************
  • trunk/tools/arch_info/boot_info.h

    r562 r571  
    107107    // global platform parameters
    108108
    109         uint32_t      paddr_width;                   /*! number of bits in physical address     */
     109    uint32_t      paddr_width;                   /*! number of bits in physical address     */
    110110    uint32_t      x_width;                       /*! number of bits to code X coordinate    */
    111111    uint32_t      y_width;                       /*! number of bits to code Y coordinate    */
    112         uint32_t      x_size;                        /*! number of cluster in a row             */
    113         uint32_t      y_size;                        /*! number of cluster in a column          */
    114     uint32_t      cluster_info[CONFIG_MAX_CLUSTERS_X][CONFIG_MAX_CLUSTERS_Y];
    115                                                  /*! An array of infos about all clusters   */
    116         uint32_t      io_cxy;                        /*! IO cluster identifier                  */
     112    uint32_t      x_size;                        /*! number of cluster in a row             */
     113    uint32_t      y_size;                        /*! number of cluster in a column          */
     114    uint32_t      io_cxy;                        /*! IO cluster identifier                  */
     115
     116    uint8_t       cluster_info[CONFIG_MAX_CLUSTERS_X][CONFIG_MAX_CLUSTERS_Y];
    117117
    118118    // shared resources
     
    123123    // private resources (per cluster)
    124124
    125         uint32_t      cxy;                           /*! cluster identifier                     */
    126         uint32_t      cores_nr;                      /*! number of local cores in               */
    127     boot_core_t   core[CONFIG_MAX_LOCAL_CORES];  /*! array of core descriptors              */ 
     125    uint32_t      cxy;                           /*! cluster identifier                     */
     126    uint32_t      cores_nr;                      /*! number of local cores in               */
     127    boot_core_t   core[CONFIG_MAX_LOCAL_CORES];  /*! array of core descriptors              */
    128128    uint32_t      rsvd_nr;                       /*! number of reserved zones               */
    129129    boot_rsvd_t   rsvd[CONFIG_PPM_MAX_RSVD];     /*! array of reserved zones                */
Note: See TracChangeset for help on using the changeset viewer.