A data transfer method performed by a first integrated circuit, IC, device, wherein the first IC device is configured to be communicatively coupled through a communication link to a second IC device arranged in a same terminal, said communication link configurable for compatibility with a plurality of types of physical interfaces, the method comprising: determining a type of physical interface to be used for communicating between the first IC device and the second IC device, wherein the type of physical interface is one of a plurality of types of physical interfaces supported by the first IC device; selecting an encoder (210, 240) from a plurality of encoders available to the first IC device to generate encoded data consistent with the type of physical interface to be used for communicating between the first IC device and the second IC device; and configuring a plurality of drivers (714, 728) to receive the encoded data from the encoder and to drive a plurality of connectors communicatively coupling the first IC device and the second IC device in accordance with the type of physical interface to be used for communicating between the first IC device and the second IC device, wherein the encoder (210, 240, 726) is selected from the plurality of encoders that includes a first encoder configured to provide the encoded data in differentially encoded signals and a second encoder that is an N-phase encoder configured to encode data in a sequence of symbols using a combination of a phase state of a first pair of the plurality of connectors, a polarity of a second pair of the plurality of connectors, and a selection of at least one undriven connector, and wherein configuring the plurality of drivers to receive the encoded data includes causing one or more outputs of a different encoder, different to the selected encoder, to enter a high impedance mode, or causing a different encoder, different to the selected encoder, to be disabled. determining a type of physical interface to be used for communicating between the first IC device and the second IC device, wherein the type of physical interface is one of a plurality of types of physical interfaces supported by the first IC device; selecting an encoder (210, 240) from a plurality of encoders available to the first IC device to generate encoded data consistent with the type of physical interface to be used for communicating between the first IC device and the second IC device; and configuring a plurality of drivers (714, 728) to receive the encoded data from the encoder and to drive a plurality of connectors communicatively coupling the first IC device and the second IC device in accordance with the type of physical interface to be used for communicating between the first IC device and the second IC device, wherein the encoder (210, 240, 726) is selected from the plurality of encoders that includes a first encoder configured to provide the encoded data in differentially encoded signals and a second encoder that is an N-phase encoder configured to encode data in a sequence of symbols using a combination of a phase state of a first pair of the plurality of connectors, a polarity of a second pair of the plurality of connectors, and a selection of at least one undriven connector, and wherein configuring the plurality of drivers to receive the encoded data includes causing one or more outputs of a different encoder, different to the selected encoder, to enter a high impedance mode, or causing a different encoder, different to the selected encoder, to be disabled.