Adding sw uart implementation