Re: CLK_OF_DECLARE advice required

From: Stephen Warren
Date: Wed May 31 2017 - 11:27:17 EST


On 05/30/2017 06:23 AM, Phil Elwell wrote:
Hi,

I've run into a problem using the fixed-factor clock on Raspberry Pi and I'd
like some advice before I submit a patch.

Some context: the aim is to use a standard UART and some external circuitry
as a MIDI interface. This would be straightforward except that Linux doesn't
recognise the required 31.25KHz as a valid UART baud rate. Rhe workaround is
to declare the UART clock such that the reported rate differs from the actual
rate. If one sets the reported rate to be (actual*38400)/31250 then
requesting a 38400 baud rate will result in an actual 31250 baud signal.

This sounds like the wrong approach. Forcing the port to use a different clock rate than the user requests would prevent anyone from using that port for its standard purpose; it'd turn what should be a runtime decision into a compile-time decision.

Are you sure there's no way to simply select the correct baud rate on the port? I see plenty of references to configuring custom baud rates under Linux when I search Google, e.g.:

https://stackoverflow.com/questions/12646324/how-to-set-a-custom-baud-rate-on-linux
"How to set a custom baud rate on Linux?"

https://sourceware.org/ml/libc-help/2009-06/msg00016.html
"Re: Terminal interface and non-standard baudrates"