> On 01 Aug 2016, at 16:20, Stephen Warren <swar...@wwwdotorg.org> wrote:
> 
> On 07/29/2016 03:49 PM, Alexander Graf wrote:
>> On the raspberry pi, you can disable the serial port to gain dynamic 
>> frequency
>> scaling which can get handy at times.
>> 
>> However, in such a configuration the serial controller gets its rx queue 
>> filled
>> up with zero bytes which then happily get transmitted on to whoever calls
>> getc() today.
>> 
>> This patch adds detection logic for that case and disables the mini uart if 
>> it
>> sends a zero byte during probe. That way we can leave the driver enabled in 
>> the
>> tree and can determine during runtime whether serial is usable or not.
> 
> I don't think this is the correct approach; it is quite possible and legal to 
> receive a NULL character (which with this HW IIRC can also be triggered by a 
> break condition on the line) even when the UART is fully operational. This 
> could lead to false detection, and end up disabling the UART when it should 
> not.

Right, that’s why I tried to be very careful about the detection and only have 
it triggered when the very first byte ever received is a null byte. Any bytes 
after that don’t affect it.

> Rather, I would suggest detecting this condition based on some register 
> content. The most direct might be to check the pinmux for the UART's RX pin, 
> or perhaps whether the UART itself has been initialized.

Hmm. I can try and dig through the documentation again to see whether there is 
a way.


Alex

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to