Пример #1
0
def set_register():
    """
    For DVT/EVT boards the framework is not able to handle for GPIOI4 and
    causes error : 'Failed to configure "GPIOI4" for "BMC_SPI1_CS0":
    Not able to unsatisfy an AND condition'. In order to fix the error
    set the specific bit in the register so the framework can handle it.
    """
    """
    The write operation to SCU70 only can set to ’1’,
    to clear to ’0’, it must write ’1’ to SCU7C (write 1 clear).
    """
    l_reg = soc_get_register(0x7C)
    l_reg.set_bit(5, write_through=True)
    l_reg = soc_get_register(0x7C)
    l_reg.set_bit(12, write_through=True)
Пример #2
0
def set_register():
    '''
    For DVT/EVT boards the framework is not able to handle for GPIOS0 and
    causes error : 'Failed to configure "GPIOS0" for "BMC_SPI_WP_N":
    Not able to unsatisfy an AND condition'. In order to fix the error
    set the specific bit in the register so the framework can handle it.
    '''
    l_reg = soc_get_register(0x8C)
    l_reg.clear_bit(0, write_through=True)
Пример #3
0
def set_register():
    '''
    For DVT/EVT boards the framework is not able to handle for GPIOS0 and
    causes error : 'Failed to configure "GPIOS0" for "BMC_SPI_WP_N":
    Not able to unsatisfy an AND condition'. In order to fix the error
    set the specific bit in the register so the framework can handle it.
    '''
    l_reg = soc_get_register(0x8C)
    l_reg.clear_bit(0, write_through=True)
Пример #4
0
 def satisfy(self, **kwargs):
     if BitsEqual.check(self):
         return
     reg = soc_get_register(self.register)
     value = self.value
     for bit in sorted(self.bits):
         if value & 0x1 == 0x1:
             reg.set_bit(bit, **kwargs)
         else:
             reg.clear_bit(bit, **kwargs)
         value >>= 1
Пример #5
0
 def satisfy(self, **kwargs):
     if BitsEqual.check(self):
         return
     reg = soc_get_register(self.register)
     value = self.value
     for bit in sorted(self.bits):
         if value & 0x1 == 0x1:
             reg.set_bit(bit, **kwargs)
         else:
             reg.clear_bit(bit, **kwargs)
         value >>= 1
Пример #6
0
 def unsatisfy(self, **kwargs):
     if not BitsEqual.check(self):
         return
     if len(self.bits) > 1:
         raise NotSmartEnoughException('Not able to unsatisfy '
                                       'multi-bits equal')
     bit = self.bits[0]
     reg = soc_get_register(self.register)
     value = self.value
     if value & 0x1 == 0x1:
         reg.clear_bit(bit, **kwargs)
     else:
         reg.set_bit(bit, **kwargs)
Пример #7
0
 def unsatisfy(self, **kwargs):
     if not BitsEqual.check(self):
         return
     if len(self.bits) > 1:
         raise NotSmartEnoughException('Not able to unsatisfy '
                                       'multi-bits equal')
     bit = self.bits[0]
     reg = soc_get_register(self.register)
     value = self.value
     if value & 0x1 == 0x1:
         reg.clear_bit(bit, **kwargs)
     else:
         reg.set_bit(bit, **kwargs)
Пример #8
0
 def __str__(self):
     return '%s[%s]!=0x%x' \
         % (str(soc_get_register(self.register)), self.bits, self.value)
Пример #9
0
 def check(self):
     return soc_get_register(self.register).bits_value(self.bits) \
         == self.value
Пример #10
0
 def write_to_hw(self):
     for reg in self.registers:
         soc_get_register(reg).write()
Пример #11
0
 def _sync_from_hw(self):
     # for each register, create an object and read the value from HW
     for reg in self.registers:
         soc_get_register(reg).read(refresh=True)
Пример #12
0
 def __str__(self):
     return '%s[%s]!=0x%x' \
         % (str(soc_get_register(self.register)), self.bits, self.value)
Пример #13
0
 def check(self):
     return soc_get_register(self.register).bits_value(self.bits) \
         == self.value
Пример #14
0
 def write_to_hw(self):
     for reg in self.registers:
         soc_get_register(reg).write()
Пример #15
0
 def _sync_from_hw(self):
     # for each register, create an object and read the value from HW
     for reg in self.registers:
         soc_get_register(reg).read(refresh=True)
Пример #16
0
 def __str__(self):
     return "%s[%s]==0x%x" % (
         str(soc_get_register(self.register)),
         self.bits,
         self.value,
     )