How do I specify custom/high baud rates with the standard UART driver?
The serial core driver supports up to 4,000,000 mbit, but only in standard incremental chunks. If you need higher or non-standard speeds (whatever the hardware actually supports), there are two ways. The standard way (termios2 + arbitrary speeds) was added with Linux-2.6.22, so for older kernels, you will need to use the B38400 hack. With the arbitrary speed support, you have to invoke custom ioctl()’s on the file descriptor for the UART using the kernel headers.