description: >
    Implement the Hoth command control interface.

methods:
    - name: SendHostCommand
      description: >
          Send a host command to Hoth and return the response. This will block
          on Hoth completing its internal operations. Critical host commands
          like LoadTokens are banned. This method should be called from the IPMI
          HostCommand passthrough.
      parameters:
          - name: Command
            type: array[byte]
            description: >
                Data to write to Hoth SPI host command offset.
      returns:
          - name: Response
            type: array[byte]
            description: >
                Data read from Hoth SPI host command offset.
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError
          - xyz.openbmc_project.Common.Error.Timeout

    - name: SendTrustedHostCommand
      description: >
          Send a host command to Hoth and return the response. This will block
          on Hoth completing its internal operations. Critical host commands
          like LoadTokens are allowed. This method should be called from the
          BMC.
      parameters:
          - name: Command
            type: array[byte]
            description: >
                Data to write to Hoth SPI host command offset.
      returns:
          - name: Response
            type: array[byte]
            description: >
                Data read from Hoth SPI host command offset.
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError
          - xyz.openbmc_project.Common.Error.Timeout

    - name: SendHostCommandAsync
      description: >
          Send a host command to Hoth and immediately return without waiting for
          response. Caller can either poll with calls to GetHostCommandResponse
          until retrieving the response, or wait for a ResponseReady signal.
      parameters:
          - name: Command
            type: array[byte]
            description: >
                Data to write to Hoth SPI host command offset.
      returns:
          - name: CallToken
            type: uint64
            description: >
                The representation for the call made
      errors:
          - self.Error.CommandFailure

    - name: GetHostCommandResponse
      description: >
          Read the response from Hoth mailbox.
      parameters:
          - name: CallToken
            type: uint64
            description: >
                The token returned from SendHostCommandAsync()
      returns:
          - name: Response
            type: array[byte]
            description: >
                Data read from Hoth SPI host command offset
      errors:
          - self.Error.ResponseFailure
          - self.Error.ResponseNotFound
          - self.Error.InterfaceError

    - name: UpdateFirmware
      description: >
          Write given firmware data to the Hoth firmware partition in EEPROM.
      parameters:
          - name: FirmwareData
            type: array[byte]
            description: >
                Hoth firmware image
      errors:
          - self.Error.FirmwareFailure

    - name: GetFirmwareUpdateStatus
      description: >
          Get the status of the firmware update process.
      returns:
          - name: Status
            type: enum[self.FirmwareUpdateStatus]
            description: >
                Status of the firmware update

    - name: InitiatePayload
      description: >
          Initiates erasure of the EEPROM staging area. Note that this will lock
          up access to Hoth for an extended time and may go over the kernel's
          SPI write timeout. Calling multiple small ErasePayload is recommended.
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError

    - name: GetInitiatePayloadStatus
      description: >
          Get the status of the payload initiation process.
      returns:
          - name: Status
            type: enum[self.FirmwareUpdateStatus]
            description: >
                Status of the payload initiation

    - name: ErasePayload
      description: >
          Erases the given size starting at the specified offset of the staging
          partition.
      parameters:
          - name: Offset
            type: uint32
            description: >
                Offset of the staging partition to start erasing from.
          - name: Size
            type: uint32
            description: >
                Size of the staging partition to erase.
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError

    - name: SendPayload
      description: >
          Chunk and send the binary specified in the image path
      parameters:
          - name: ImagePath
            type: string
            description: >
                Firmware image path
      errors:
          - self.Error.FirmwareFailure
          - self.Error.InterfaceError

    - name: GetSendPayloadStatus
      description: >
          Get the status of the send payload process.
      returns:
          - name: Status
            type: enum[self.FirmwareUpdateStatus]
            description: >
                Status of the send payload process.

    - name: VerifyPayload
      description: >
          Initiates the verification process without activating the staging area
      errors:
          - self.Error.InterfaceError

    - name: GetVerifyPayloadStatus
      description: >
          Get the status of the payload verification process.
      returns:
          - name: Status
            type: enum[self.FirmwareUpdateStatus]
            description: >
                Status of the payload verification

    - name: ActivatePayload
      description: >
          Activates the staging area as persistent or non-persistent for next
          boot if verification was successful.
      parameters:
          - name: MakePersistent
            type: boolean
            description: >
                Flag to determine whether to activate the staged image as
                persistent or non-persistent for next boot.
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError

    - name: GetPayloadSize
      description: >
          Determines the max size of the payload region.
      returns:
          - name: Size
            type: uint32
            description: >
                The size of the payload region
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError

    - name: Confirm
      description: >
          Prevents hoth from rolling back and using the previous image. When an
          image can be comfirmed to be working well, this command is given,
          which disarms the hoth watchdog.
      errors:
          - self.Error.CommandFailure
          - self.Error.ResponseFailure
          - self.Error.InterfaceError

    - name: GetTotalBootTime
      description: >
          Get total time spending from reset to HVNGOOD.
      returns:
          - name: Time
            type: uint32
            description: >
                Time in microseconds.
      errors:
          - self.Error.ResponseFailure
          - self.Error.ExpectedInfoNotFound

    - name: GetFirmwareUpdateTime
      description: >
          Get time spending in the self update routine. Since a proper self
          update involves a reset, this time is always expected to be low.
      returns:
          - name: Time
            type: uint32
            description: >
                Time in microseconds.
      errors:
          - self.Error.ResponseFailure
          - self.Error.ExpectedInfoNotFound

    - name: GetFirmwareMirroringTime
      description: >
          Get time spending in mirroing the self-update. This time is a
          reasonable proxy for the total self update time.
      returns:
          - name: Time
            type: uint32
            description: >
                Time in microseconds.
      errors:
          - self.Error.ResponseFailure
          - self.Error.ExpectedInfoNotFound

    - name: GetPayloadValidationTime
      description: >
          Get time spending in validating the payload, copying mutable regions
          and/or dealing with failsafe fallback.
      returns:
          - name: Time
            type: uint32
            description: >
                Time in microseconds.
      errors:
          - self.Error.ResponseFailure
          - self.Error.ExpectedInfoNotFound

signals:
    - name: HostCommandResponseReady
      description: >
          This signal is broadcast when a response is ready for the call that
          returned CallToken.
      properties:
          - name: CallToken
            type: uint64
            description: >
                The token returned from SendHostCommandAsync()

enumerations:
    - name: FirmwareUpdateStatus
      description: >
          The status of a firmware update through hothd
      values:
          - name: "None"
            description: >
                No update initiated
          - name: "InProgress"
            description: >
                Update still in progress
          - name: "Error"
            description: >
                Update has failed
          - name: "Done"
            description: >
                Update has completed successfully
