tty: serial: samsung: Add Exynos850 SoC data
authorSam Protsenko <semen.protsenko@linaro.org>
Wed, 11 Aug 2021 11:48:26 +0000 (14:48 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Aug 2021 07:15:25 +0000 (09:15 +0200)
Add serial driver data for Exynos850 SoC. This driver data is basically
reusing EXYNOS_COMMON_SERIAL_DRV_DATA, which is common for all Exynos
chips, but also enables USI init, which was added in previous commit:
"tty: serial: samsung: Init USI to keep clocks running".

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Link: https://lore.kernel.org/r/20210811114827.27322-7-semen.protsenko@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/samsung_tty.c

index c3ab2ff..e2f4986 100644 (file)
@@ -2817,11 +2817,19 @@ static struct s3c24xx_serial_drv_data exynos5433_serial_drv_data = {
        .fifosize = { 64, 256, 16, 256 },
 };
 
+static struct s3c24xx_serial_drv_data exynos850_serial_drv_data = {
+       EXYNOS_COMMON_SERIAL_DRV_DATA_USI(1),
+       .fifosize = { 256, 64, 64, 64 },
+};
+
 #define EXYNOS4210_SERIAL_DRV_DATA ((kernel_ulong_t)&exynos4210_serial_drv_data)
 #define EXYNOS5433_SERIAL_DRV_DATA ((kernel_ulong_t)&exynos5433_serial_drv_data)
+#define EXYNOS850_SERIAL_DRV_DATA ((kernel_ulong_t)&exynos850_serial_drv_data)
+
 #else
 #define EXYNOS4210_SERIAL_DRV_DATA ((kernel_ulong_t)NULL)
 #define EXYNOS5433_SERIAL_DRV_DATA ((kernel_ulong_t)NULL)
+#define EXYNOS850_SERIAL_DRV_DATA ((kernel_ulong_t)NULL)
 #endif
 
 #ifdef CONFIG_ARCH_APPLE
@@ -2877,6 +2885,9 @@ static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
        }, {
                .name           = "s5l-uart",
                .driver_data    = S5L_SERIAL_DRV_DATA,
+       }, {
+               .name           = "exynos850-uart",
+               .driver_data    = EXYNOS850_SERIAL_DRV_DATA,
        },
        { },
 };
@@ -2900,6 +2911,8 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
                .data = (void *)EXYNOS5433_SERIAL_DRV_DATA },
        { .compatible = "apple,s5l-uart",
                .data = (void *)S5L_SERIAL_DRV_DATA },
+       { .compatible = "samsung,exynos850-uart",
+               .data = (void *)EXYNOS850_SERIAL_DRV_DATA },
        {},
 };
 MODULE_DEVICE_TABLE(of, s3c24xx_uart_dt_match);