@@ -2498,6 +2498,12 @@ static const struct s3c24xx_serial_drv_data exynos850_serial_drv_data = {
24982498 .fifosize = { 256 , 64 , 64 , 64 },
24992499};
25002500
2501+ static const struct s3c24xx_serial_drv_data exynos8895_serial_drv_data = {
2502+ EXYNOS_COMMON_SERIAL_DRV_DATA ,
2503+ /* samsung,uart-fifosize must be specified in the device tree. */
2504+ .fifosize = { 0 },
2505+ };
2506+
25012507static const struct s3c24xx_serial_drv_data gs101_serial_drv_data = {
25022508 .info = {
25032509 .name = "Google GS101 UART" ,
@@ -2528,12 +2534,14 @@ static const struct s3c24xx_serial_drv_data gs101_serial_drv_data = {
25282534#define EXYNOS4210_SERIAL_DRV_DATA (&exynos4210_serial_drv_data)
25292535#define EXYNOS5433_SERIAL_DRV_DATA (&exynos5433_serial_drv_data)
25302536#define EXYNOS850_SERIAL_DRV_DATA (&exynos850_serial_drv_data)
2537+ #define EXYNOS8895_SERIAL_DRV_DATA (&exynos8895_serial_drv_data)
25312538#define GS101_SERIAL_DRV_DATA (&gs101_serial_drv_data)
25322539
25332540#else
25342541#define EXYNOS4210_SERIAL_DRV_DATA NULL
25352542#define EXYNOS5433_SERIAL_DRV_DATA NULL
25362543#define EXYNOS850_SERIAL_DRV_DATA NULL
2544+ #define EXYNOS8895_SERIAL_DRV_DATA NULL
25372545#define GS101_SERIAL_DRV_DATA NULL
25382546#endif
25392547
@@ -2623,6 +2631,9 @@ static const struct platform_device_id s3c24xx_serial_driver_ids[] = {
26232631 }, {
26242632 .name = "gs101-uart" ,
26252633 .driver_data = (kernel_ulong_t )GS101_SERIAL_DRV_DATA ,
2634+ }, {
2635+ .name = "exynos8895-uart" ,
2636+ .driver_data = (kernel_ulong_t )EXYNOS8895_SERIAL_DRV_DATA ,
26262637 },
26272638 { },
26282639};
@@ -2646,6 +2657,8 @@ static const struct of_device_id s3c24xx_uart_dt_match[] = {
26462657 .data = ARTPEC8_SERIAL_DRV_DATA },
26472658 { .compatible = "google,gs101-uart" ,
26482659 .data = GS101_SERIAL_DRV_DATA },
2660+ { .compatible = "samsung,exynos8895-uart" ,
2661+ .data = EXYNOS8895_SERIAL_DRV_DATA },
26492662 {},
26502663};
26512664MODULE_DEVICE_TABLE (of , s3c24xx_uart_dt_match );
0 commit comments