Re: [PATCH 1/2] serial: support register interface with 16-bit stride for console

From: Peter Hurley
Date: Mon Oct 19 2015 - 15:50:17 EST


On 10/19/2015 01:40 AM, Masahiro Yamada wrote:
> Currently, 8-bit (MMIO) and 32-bit (MMIO32) strides are supported for
> the 8250 console, but 16-bit (MMIO16) stride is not. The 8250 UART
> device on my board has 16-bit stride (reg-shift = <1>) and I am eager
> to use earlycon with it.
>
> Refer to arch/arm/boot/dts/uniphier-support-card.dtsi:
>
> serialsc: uart@000b0000 {
> compatible = "ns16550a";
> reg = <0x000b0000 0x20>;
> clock-frequency = <12288000>;
> reg-shift = <1>;
> };
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> ---
>
> Documentation/kernel-parameters.txt | 9 +++++----
> drivers/tty/serial/8250/8250_early.c | 5 +++++
> drivers/tty/serial/8250/8250_port.c | 20 ++++++++++++++++++++
> drivers/tty/serial/earlycon.c | 15 +++++++++++----
> drivers/tty/serial/serial_core.c | 9 +++++++--
> include/linux/serial_core.h | 1 +
> include/uapi/linux/serial.h | 9 +++++----
> 7 files changed, 54 insertions(+), 14 deletions(-)
>

[...]

> diff --git a/include/uapi/linux/serial.h b/include/uapi/linux/serial.h
> index 25331f9..1d20d9c 100644
> --- a/include/uapi/linux/serial.h
> +++ b/include/uapi/linux/serial.h
> @@ -65,10 +65,11 @@ struct serial_struct {
> #define SERIAL_IO_PORT 0
> #define SERIAL_IO_HUB6 1
> #define SERIAL_IO_MEM 2
> -#define SERIAL_IO_MEM32 3
> -#define SERIAL_IO_AU 4
> -#define SERIAL_IO_TSI 5
> -#define SERIAL_IO_MEM32BE 6
> +#define SERIAL_IO_MEM16 3
> +#define SERIAL_IO_MEM32 4
> +#define SERIAL_IO_AU 5
> +#define SERIAL_IO_TSI 6
> +#define SERIAL_IO_MEM32BE 7

The existing values cannot be re-defined since they're userspace visible.

Regards,
Peter Hurley


> #define UART_CLEAR_FIFO 0x01
> #define UART_USE_FIFO 0x02
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/