• P
    tools: kwboot: Do not send magic seq when changing baudrate back to 115200 · 62a98f49
    Pali Rohár 提交于
    After successful transfer of whole image only two things can happen:
    - BootROM starts execution of data block, which changes UART baudrate
      back to 115200 Bd,
    - board crashes and causes CPU reset
    
    In both cases UART baudrate is reset to the default speed. So there is
    no need to send special magic sequence to inform kwboot that baudrate is
    going to be reset and kwboot does not need to wait for this event and
    can do it immediately after BootROM acknowledges end of xmodem transfer.
    
    Move ARM code for sending magic sequence from main baudrate change
    section to binhdr_pre section which is executed only before changing
    baudrate from the default value of 115200 Bd to some new value. Remove
    kwboot code waiting for magic sequence after successful xmodem transfer.
    
    Rationale: sometimes when using very high UART speeds, magic sequence is
    damaged and kwboot fails at this last stage. Removal of this magic
    sequence makes booting more stable.
    
    Data transfer protocol (xmodem) is using checksums and retransmit, so it
    already deals with possible errors on transfer line.
    Signed-off-by: NPali Rohár <pali@kernel.org>
    Signed-off-by: NMarek Behún <marek.behun@nic.cz>
    Reviewed-by: NStefan Roese <sr@denx.de>
    62a98f49
kwboot.c 39.5 KB