1    /*!
     2     *  ======== Clock ========
     3     *  MSP430 Master Clock
     4     */
     5    metaonly interface IClock inherits xdc.platform.IPeripheral {
     6    
     7        /*!
     8        *  ======== ForceSetDefaultRegister_t ========
     9        *  Force Set Default Register
    10        *
    11        *  Type to store if each register needs to be forced initialized
    12        *  even if the register is in default state.
    13        *
    14        *  @see #ForceSetDefaultRegister_t
    15        */
    16        struct ForceSetDefaultRegister_t {
    17            String     register;
    18            Bool       regForceSet;
    19        }
    20    
    21    instance:
    22    
    23        /*!
    24         *  ======== baseAddr ========
    25         *  Address of the peripheral's control register.
    26         *
    27         *  A peripheral's registers are commonly accessed through a structure
    28         *  that defines the offsets of a particular register from the lowest
    29         *  address mapped to a peripheral. That lowest address is specified by
    30         *  this parameter.
    31         */
    32        config UInt baseAddr;
    33    
    34        /*!
    35         * Stores the DCO clock frequency in float
    36         */
    37        readonly config float DCOCLKHz = 1000000;
    38    
    39        /*!
    40         *  ======== ACLKHz Frequency ========
    41         *  Stores ACLK as frequency in float
    42         */    
    43        readonly config float ACLKHz;
    44    
    45        /*!
    46         *  ======== MCLKHz Frequency ========
    47         *  Stores MCLK as frequency in float
    48         */    
    49        readonly config float MCLKHz;
    50    
    51        /*!
    52         *  ======== SMCLKHz Frequency ========
    53         *  Stores SMCLK as frequency in float
    54         */
    55        readonly config float SMCLKHz;
    56    
    57        /*!
    58         *  ======== computeDCOCLKHz ========
    59         *  Initialize to the nearest available DCO clock frequency
    60         */
    61        void computeDCOCLKHz(float DCOCLKHz);
    62    }