• Jeffrey Hugo's avatar
    bus: mhi: host: Add soc_reset sysfs · 95c33ae4
    Jeffrey Hugo authored
    The MHI bus supports a standardized hardware reset, which is known as the
    "SoC Reset".  This reset is similar to the reset sysfs for PCI devices -
    a hardware mechanism to reset the state back to square one.
    
    The MHI SoC Reset is described in the spec as a reset of last resort.  If
    some unrecoverable error has occurred where other resets have failed, SoC
    Reset is the "big hammer" that ungracefully resets the device.  This is
    effectivly the same as yanking the power on the device, and reapplying it.
    However, depending on the nature of the particular issue, the underlying
    transport link may remain active and configured.  If the link remains up,
    the device will flag a MHI system error early in the boot process after
    the reset is executed, which allows the MHI bus to process a fatal error
    event, and clean up appropiately.
    
    While the SoC Reset is generally intended as a means of recovery when all
    else has failed, it can be useful in non-error scenarios.  For example,
    if the device loads firmware from the host filesystem, the device may need
    to be fully rebooted inorder to pick up the new firmware.  In this
    scenario, the system administrator may use the soc_reset sysfs to cause
    the device to pick up the new firmware that the admin placed on the
    filesystem.
    Signed-off-by: default avatarJeffrey Hugo <quic_jhugo@quicinc.com>
    Reviewed-by: default avatarBhaumik Bhatt <quic_bbhatt@quicinc.com>
    Reviewed-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Link: https://lore.kernel.org/r/1650302327-30439-1-git-send-email-quic_jhugo@quicinc.comSigned-off-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    95c33ae4
sysfs-bus-mhi 1.42 KB