[PATCH v5 17/20] tty: serial: samsung: Add gs101 compatible and common fifoszdt_serial_drv_data
William McVicker
willmcvicker at google.com
Fri Dec 1 16:01:40 PST 2023
On 12/01/2023, Peter Griffin wrote:
> Add serial driver data for Google Tensor gs101 SoC and a common
> fifoszdt_serial_drv_data that can be used by platforms that specify the
> samsung,uart-fifosize DT property.
>
> A corresponding dt-bindings patch updates the yaml to ensure
> samsung,uart-fifosize is a required property.
>
> Acked-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>
> Reviewed-by: Arnd Bergmann <arnd at arndb.de>
> Signed-off-by: Peter Griffin <peter.griffin at linaro.org>
Tested-by: Will McVicker <willmcvicker at google.com>
---
I verified boot to a busybox console with kernel logs printed to the serial
port.
Regards,
Will
> ---
> drivers/tty/serial/samsung_tty.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
> index 1b0c2b467a30..f8d98f1006de 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -2490,14 +2490,25 @@ static const struct s3c24xx_serial_drv_data exynos850_serial_drv_data = {
> .fifosize = { 256, 64, 64, 64 },
> };
>
> +/*
> + * Common drv_data struct for platforms that specify uart,fifosize in
> + * device tree.
> + */
> +static const struct s3c24xx_serial_drv_data exynos_fifoszdt_serial_drv_data = {
> + EXYNOS_COMMON_SERIAL_DRV_DATA(),
> + .fifosize = { 0 },
> +};
> +
> #define EXYNOS4210_SERIAL_DRV_DATA (&exynos4210_serial_drv_data)
> #define EXYNOS5433_SERIAL_DRV_DATA (&exynos5433_serial_drv_data)
> #define EXYNOS850_SERIAL_DRV_DATA (&exynos850_serial_drv_data)
> +#define EXYNOS_FIFOSZDT_DRV_DATA (&exynos_fifoszdt_serial_drv_data)
>
> #else
> #define EXYNOS4210_SERIAL_DRV_DATA NULL
> #define EXYNOS5433_SERIAL_DRV_DATA NULL
> #define EXYNOS850_SERIAL_DRV_DATA NULL
> +#define EXYNOS_FIFOSZDT_DRV_DATA NULL
> #endif
>
> #ifdef CONFIG_ARCH_APPLE
> @@ -2581,6 +2592,9 @@ static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
> }, {
> .name = "artpec8-uart",
> .driver_data = (kernel_ulong_t)ARTPEC8_SERIAL_DRV_DATA,
> + }, {
> + .name = "gs101-uart",
> + .driver_data = (kernel_ulong_t)EXYNOS_FIFOSZDT_DRV_DATA,
> },
> { },
> };
> @@ -2602,6 +2616,8 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
> .data = EXYNOS850_SERIAL_DRV_DATA },
> { .compatible = "axis,artpec8-uart",
> .data = ARTPEC8_SERIAL_DRV_DATA },
> + { .compatible = "google,gs101-uart",
> + .data = EXYNOS_FIFOSZDT_DRV_DATA },
> {},
> };
> MODULE_DEVICE_TABLE(of, s3c24xx_uart_dt_match);
> --
> 2.43.0.rc2.451.g8631bc7472-goog
>
More information about the linux-arm-kernel
mailing list