Skip to content
Snippets Groups Projects
Forked from Reform / reform-boundary-uboot
Source project has a limited visibility.
  • Armando Visconti's avatar
    491739bb
    designware_i2c: Added s/w generation of stop bit · 491739bb
    Armando Visconti authored
    
    In the newer versions of designware i2c IP there is the possibility
    of configuring it with IC_EMPTYFIFO_HOLD_MASTER_EN=1, which basically
    requires the s/w to generate the stop bit condition directly, as
    the h/w will not automatically generate it when TX_FIFO is empty.
    
    To avoid generation of an extra 0x0 byte sent as data, the
    IC_STOP command must be sent along with the last IC_CMD.
    
    This patch always writes bit[9] of ic_data_cmd even in the
    older versions, assuming that it is a noop there.
    
    Signed-off-by: default avatarArmando Visconti <armando.visconti@st.com>
    491739bb
    History
    designware_i2c: Added s/w generation of stop bit
    Armando Visconti authored
    
    In the newer versions of designware i2c IP there is the possibility
    of configuring it with IC_EMPTYFIFO_HOLD_MASTER_EN=1, which basically
    requires the s/w to generate the stop bit condition directly, as
    the h/w will not automatically generate it when TX_FIFO is empty.
    
    To avoid generation of an extra 0x0 byte sent as data, the
    IC_STOP command must be sent along with the last IC_CMD.
    
    This patch always writes bit[9] of ic_data_cmd even in the
    older versions, assuming that it is a noop there.
    
    Signed-off-by: default avatarArmando Visconti <armando.visconti@st.com>