On Fri, May 22, 2020 at 06:13:06PM +0530, Mukesh, Savaliya wrote: > From: Mukesh Kumar Savaliya <msavaliy@xxxxxxxxxxxxxx> > > This change enables earlyconsole support as static driver for geni > based UART. Kernel space UART console driver will be generic for > console and other usecases of UART. > > Signed-off-by: Mukesh Kumar Savaliya <msavaliy@xxxxxxxxxxxxxx> > --- > Changes In V2: > - Fixed Makefile Typo issue. > > Changes In V3: > - Removed mb() calls as *_relaxed() should take care. > > Changes In V4: > - Minor change: space between offset and base addition. > > Changes In V5: > - Removed unlikely() macro. > - root_freq() array taken as static. > - Removed extra readback of the register having no meaning. > > drivers/tty/serial/Kconfig | 15 + > drivers/tty/serial/Makefile | 1 + > drivers/tty/serial/msm_geni_serial_console.c | 476 +++++++++++++++++++ > 3 files changed, 492 insertions(+) > create mode 100644 drivers/tty/serial/msm_geni_serial_console.c > > diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig > index 0aea76cd67ff..ded19d80e696 100644 > --- a/drivers/tty/serial/Kconfig > +++ b/drivers/tty/serial/Kconfig > @@ -956,6 +956,21 @@ config SERIAL_MSM_CONSOLE > select SERIAL_CORE_CONSOLE > select SERIAL_EARLYCON > > +config SERIAL_MSM_GENI_HALF_SAMPLING > + bool "Changes clock divider which impacts sampling rate for QUP HW ver greater than 2.5.0" > + help > + Clock divider value should be doubled for QUP hardware version > + greater than 2.5.0. > + As earlycon can't have HW version awareness, decision is taken > + based on the configuration. Can you split this option out into a separate file so we don't have to keep arguing about it, preventing the "real" early console code from being merged? I really think someone needs to go yell at some hardware engineers for this issue. How is this going to work for a "generic" arm64 kernel image? Your hardware always has to be self-describing for crazy stuff like this. Or you pass it in from the bootloader. You can't hard-code this thing, it defeats the whole idea of dynamic systems... thanks, greg k-h