mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1 0/2] tty: serial: samsung: Add Exynos8895 compatible
@ 2024-10-20 18:01 Ivaylo Ivanov
  2024-10-20 18:02 ` [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible Ivaylo Ivanov
  2024-10-20 18:02 ` [PATCH v1 2/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
  0 siblings, 2 replies; 6+ messages in thread
From: Ivaylo Ivanov @ 2024-10-20 18:01 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Greg Kroah-Hartman, Jiri Slaby, Alim Akhtar,
	Rob Herring, Conor Dooley
  Cc: linux-samsung-soc, linux-serial, devicetree, linux-arm-kernel,
	linux-kernel

Hey folks,

This patchset adds serial driver support for Exynos8895 SoC. The main
difference from other exynos platforms is that fifosize is only
specified via the samsung,uart-fifosize DT property.

Newer Exynos platforms also specify fifosize via DT, so in such case
this compatible could be used with oneOf.

Ivaylo Ivanov (2):
  dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible
  tty: serial: samsung: Add Exynos8895 compatible

 .../bindings/serial/samsung_uart.yaml           | 17 +++++++++++++++++
 drivers/tty/serial/samsung_tty.c                | 13 +++++++++++++
 2 files changed, 30 insertions(+)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible
  2024-10-20 18:01 [PATCH v1 0/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
@ 2024-10-20 18:02 ` Ivaylo Ivanov
  2024-10-21  9:29   ` Krzysztof Kozlowski
  2024-10-20 18:02 ` [PATCH v1 2/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
  1 sibling, 1 reply; 6+ messages in thread
From: Ivaylo Ivanov @ 2024-10-20 18:02 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Greg Kroah-Hartman, Jiri Slaby, Alim Akhtar,
	Rob Herring, Conor Dooley
  Cc: linux-samsung-soc, linux-serial, devicetree, linux-arm-kernel,
	linux-kernel

Add dedicated samsung,exynos8895-uart compatible to the dt-schema for
representing uart of the Exynos8895 SoC.

Like GS101, it has a required DT property samsung,uart-fifosize, but
it does not exhibit the 32 bit register access limit.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
---
 .../bindings/serial/samsung_uart.yaml           | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
index 788c80e47..2491b6048 100644
--- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
+++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
@@ -27,6 +27,7 @@ properties:
           - samsung,exynos4210-uart
           - samsung,exynos5433-uart
           - samsung,exynos850-uart
+          - samsung,exynos8895-uart
       - items:
           - enum:
               - samsung,exynos7-uart
@@ -172,6 +173,22 @@ allOf:
         clock-names:
           maxItems: 2
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - samsung,exynos8895-uart
+    then:
+      required:
+        - samsung,uart-fifosize
+      properties:
+        clocks:
+          maxItems: 2
+
+        clock-names:
+          maxItems: 2
+
 unevaluatedProperties: false
 
 examples:
-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v1 2/2] tty: serial: samsung: Add Exynos8895 compatible
  2024-10-20 18:01 [PATCH v1 0/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
  2024-10-20 18:02 ` [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible Ivaylo Ivanov
@ 2024-10-20 18:02 ` Ivaylo Ivanov
  2024-10-21  9:31   ` Krzysztof Kozlowski
  1 sibling, 1 reply; 6+ messages in thread
From: Ivaylo Ivanov @ 2024-10-20 18:02 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Greg Kroah-Hartman, Jiri Slaby, Alim Akhtar,
	Rob Herring, Conor Dooley
  Cc: linux-samsung-soc, linux-serial, devicetree, linux-arm-kernel,
	linux-kernel

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: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
---
 drivers/tty/serial/samsung_tty.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 0d184ee2f..ce3c3ec34 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -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);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible
  2024-10-20 18:02 ` [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible Ivaylo Ivanov
@ 2024-10-21  9:29   ` Krzysztof Kozlowski
  2024-10-21 12:51     ` Ivaylo Ivanov
  0 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-21  9:29 UTC (permalink / raw)
  To: Ivaylo Ivanov, Greg Kroah-Hartman, Jiri Slaby, Alim Akhtar,
	Rob Herring, Conor Dooley
  Cc: linux-samsung-soc, linux-serial, devicetree, linux-arm-kernel,
	linux-kernel

On 20/10/2024 20:02, Ivaylo Ivanov wrote:
> Add dedicated samsung,exynos8895-uart compatible to the dt-schema for
> representing uart of the Exynos8895 SoC.
> 
> Like GS101, it has a required DT property samsung,uart-fifosize, but
> it does not exhibit the 32 bit register access limit.
> 
> Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
> ---
>  .../bindings/serial/samsung_uart.yaml           | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> index 788c80e47..2491b6048 100644
> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
> @@ -27,6 +27,7 @@ properties:
>            - samsung,exynos4210-uart
>            - samsung,exynos5433-uart
>            - samsung,exynos850-uart
> +          - samsung,exynos8895-uart
>        - items:
>            - enum:
>                - samsung,exynos7-uart
> @@ -172,6 +173,22 @@ allOf:
>          clock-names:
>            maxItems: 2
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - samsung,exynos8895-uart

This looks exactly like gs101, so please grow the enum there.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 2/2] tty: serial: samsung: Add Exynos8895 compatible
  2024-10-20 18:02 ` [PATCH v1 2/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
@ 2024-10-21  9:31   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2024-10-21  9:31 UTC (permalink / raw)
  To: Ivaylo Ivanov, Greg Kroah-Hartman, Jiri Slaby, Alim Akhtar,
	Rob Herring, Conor Dooley
  Cc: linux-samsung-soc, linux-serial, devicetree, linux-arm-kernel,
	linux-kernel

On 20/10/2024 20:02, Ivaylo Ivanov wrote:
> 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: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
> ---
>  drivers/tty/serial/samsung_tty.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible
  2024-10-21  9:29   ` Krzysztof Kozlowski
@ 2024-10-21 12:51     ` Ivaylo Ivanov
  0 siblings, 0 replies; 6+ messages in thread
From: Ivaylo Ivanov @ 2024-10-21 12:51 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Greg Kroah-Hartman, Jiri Slaby, Alim Akhtar,
	Rob Herring, Conor Dooley
  Cc: linux-samsung-soc, linux-serial, devicetree, linux-arm-kernel,
	linux-kernel


On 10/21/24 12:29, Krzysztof Kozlowski wrote:
> On 20/10/2024 20:02, Ivaylo Ivanov wrote:
>> Add dedicated samsung,exynos8895-uart compatible to the dt-schema for
>> representing uart of the Exynos8895 SoC.
>>
>> Like GS101, it has a required DT property samsung,uart-fifosize, but
>> it does not exhibit the 32 bit register access limit.
>>
>> Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
>> ---
>>  .../bindings/serial/samsung_uart.yaml           | 17 +++++++++++++++++
>>  1 file changed, 17 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
>> index 788c80e47..2491b6048 100644
>> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
>> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
>> @@ -27,6 +27,7 @@ properties:
>>            - samsung,exynos4210-uart
>>            - samsung,exynos5433-uart
>>            - samsung,exynos850-uart
>> +          - samsung,exynos8895-uart
>>        - items:
>>            - enum:
>>                - samsung,exynos7-uart
>> @@ -172,6 +173,22 @@ allOf:
>>          clock-names:
>>            maxItems: 2
>>  
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - samsung,exynos8895-uart
> This looks exactly like gs101, so please grow the enum there.

It's missing the reg-io-width property. My initial idea was to add a

completely new entry, so new exynos platforms that don't exhibit

the same issue could grow the enum there.

Although now that I think about it, I could grow the gs101 enum and set

the  reg-io-width property for gs101 after that list.

Best regards, Ivo.

> Best regards,
> Krzysztof
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-10-21 12:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-20 18:01 [PATCH v1 0/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
2024-10-20 18:02 ` [PATCH v1 1/2] dt-bindings: serial: samsung: Add samsung,exynos8895-uart compatible Ivaylo Ivanov
2024-10-21  9:29   ` Krzysztof Kozlowski
2024-10-21 12:51     ` Ivaylo Ivanov
2024-10-20 18:02 ` [PATCH v1 2/2] tty: serial: samsung: Add Exynos8895 compatible Ivaylo Ivanov
2024-10-21  9:31   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®