input_queue represents a way for the Xtensa CPU to read data from
a queue implemented in a device.
The empty method indicates if there is anything to read in the queue or not.
The data method is used to read data from the input queue implemented in
the device, the device should write the next data in queue to the in_data
pointer and fill it with bit_width bits of data.
If is_peek is true, the data should be returned, but not removed from
the queue.