using usleep_range instead of udelay

tollerances are no problem here, if it doesn’t work with some protocol
it can be adopted using the pulse_tollerance parameter (standard is
10us)