How to design the HSIC circuitry

HSIC is a low-power variant of the standard physical USB interface, the are many difference compared to the standard USB, we will see them in this article.

Electrical Difference

  • Is composed of two signals, DATA and STROBE
  • FullSpeed (FS) and Low-Speed (LS) are not supported
  • LVCMOS 1.2 V Signal Voltage
  • Maximum trace length of 10cm
  • Standard USB Analog Front-End Absence
  • No Hot-Plug Supported
  • No data line current draw during Ultra Low Power Mode


Inter-Chip is different from USB even in routing, as mentioned in the Introduction to HSIC in section "HSIC Data Sampling" It requires:

  • 50Ω single-ended impedance controlled tracks
  • 14 pF of maximum line capacity
  • 15 ps of maximum signal skew

These are the interested pins,the correct PCB parameters can be obtained crating a dedicated net class:

To obtain the correct impedance use a tool as TX-line that permit to set the correct stack manager parameters.

PCB Routing

Much care must be applied to the PCB, specially near the Hirose 0.4 mm pitch connector, making sure to gradually reduce the track section and at the same time do not change too much the impedance, use always 45 degree corners with at least 3 times the track witdh, Use a lenght tuning tool to obtain exactly the same electrical lenght, making sure that the according gap is at least 75% of the track. Insert a pair of line resistor, in case of unbalanced impedance these can help to realign it, otherwise use some 0 ohm resistor. To avoid ESD discharges from these lines it is necessary to insert some ESD Suppressor, the choice of the component must take many factors into account, including the parasitic capacity introduced into the lines. The above mentioned TVS are perfect for this application, because they introduce only 0.05 pF of capacitance, it is also necessary to keep the capacity introduced by the lines themselves in the calculation using a tool as Saturn.

Device Tree Configuration

Insert this line on your dts to enable HSIC:

usb2: ehci@500000 {
    phy_type = "hsic";
    status = "okay";

Silicon Errata

As described in the SAMA5D2 Family Silicon Errata revision "A" is affect to default state issue.

To solve this issue power on HSIC device after MCU boot.