Commit 7dcb7bf4 authored by Ivaylo Ivanov's avatar Ivaylo Ivanov Committed by Greg Kroah-Hartman
Browse files

tty: serial: samsung: Add Exynos8895 compatible



Add serial driver data for Exynos8895 SoC. The main difference from
other platforms is that fifosize is only specified via the
samsung,uart-fifosize DT property.

Signed-off-by: default avatarIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20241023090902.538040-3-ivo.ivanov.ivanov1@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 52fdb8d4
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -2498,6 +2498,12 @@ static const struct s3c24xx_serial_drv_data exynos850_serial_drv_data = {
	.fifosize = { 256, 64, 64, 64 },
};

static const struct s3c24xx_serial_drv_data exynos8895_serial_drv_data = {
	EXYNOS_COMMON_SERIAL_DRV_DATA,
	/* samsung,uart-fifosize must be specified in the device tree. */
	.fifosize = { 0 },
};

static const struct s3c24xx_serial_drv_data gs101_serial_drv_data = {
	.info = {
		.name		= "Google GS101 UART",
@@ -2528,12 +2534,14 @@ static const struct s3c24xx_serial_drv_data gs101_serial_drv_data = {
#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 EXYNOS8895_SERIAL_DRV_DATA (&exynos8895_serial_drv_data)
#define GS101_SERIAL_DRV_DATA (&gs101_serial_drv_data)

#else
#define EXYNOS4210_SERIAL_DRV_DATA NULL
#define EXYNOS5433_SERIAL_DRV_DATA NULL
#define EXYNOS850_SERIAL_DRV_DATA NULL
#define EXYNOS8895_SERIAL_DRV_DATA NULL
#define GS101_SERIAL_DRV_DATA NULL
#endif

@@ -2623,6 +2631,9 @@ static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
	}, {
		.name		= "gs101-uart",
		.driver_data	= (kernel_ulong_t)GS101_SERIAL_DRV_DATA,
	}, {
		.name		= "exynos8895-uart",
		.driver_data	= (kernel_ulong_t)EXYNOS8895_SERIAL_DRV_DATA,
	},
	{ },
};
@@ -2646,6 +2657,8 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
		.data = ARTPEC8_SERIAL_DRV_DATA },
	{ .compatible = "google,gs101-uart",
		.data = GS101_SERIAL_DRV_DATA },
	{ .compatible = "samsung,exynos8895-uart",
		.data = EXYNOS8895_SERIAL_DRV_DATA },
	{},
};
MODULE_DEVICE_TABLE(of, s3c24xx_uart_dt_match);