A device includes a loop port controlled by a loop initialization
procedure in response to control flags. The device includes a
programmable controller and a fibre channel loop port including a
transmitter, a receiver, and a port control circuit. The port control
circuit controls the loop initialization procedure in response to control
flags set by the programmable controller. Methods of performing loop
initialization in a loop port include initializing a loop initialization
protocol (LIP) hardware state machine, controlling LIP operations with
the LIP hardware state machine, determining if control of the loop
initialization operations should be transferred to a programmable
controller in response to a predetermined loop initialization event, and
if so, transferring control of the loop initialization operations to the
programmable controller.