diff mbox series

[1/2] dt-bindings: serial: samsung: add DMA properties

Message ID 20210212163905.70171-1-krzk@kernel.org
State Accepted
Commit 71b25f4df9849799d84d9345c636aac097316052
Headers show
Series [1/2] dt-bindings: serial: samsung: add DMA properties | expand

Commit Message

Krzysztof Kozlowski Feb. 12, 2021, 4:39 p.m. UTC
The Samsung SoC UART nodes have usually DMA so dtschema has to reflect
this to fix dtbs_check warnings like:

  arch/arm/boot/dts/exynos4210-smdkv310.dt.yaml: serial@13800000:
    'dma-names', 'dmas' do not match any of the regexes: 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 .../devicetree/bindings/serial/samsung_uart.yaml       | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Rob Herring March 5, 2021, 8:43 p.m. UTC | #1
On Fri, 12 Feb 2021 17:39:04 +0100, Krzysztof Kozlowski wrote:
> The Samsung SoC UART nodes have usually DMA so dtschema has to reflect
> this to fix dtbs_check warnings like:
> 
>   arch/arm/boot/dts/exynos4210-smdkv310.dt.yaml: serial@13800000:
>     'dma-names', 'dmas' do not match any of the regexes: 'pinctrl-[0-9]+'
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
>  .../devicetree/bindings/serial/samsung_uart.yaml       | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
Rob Herring March 5, 2021, 8:49 p.m. UTC | #2
On Fri, Feb 12, 2021 at 05:39:05PM +0100, Krzysztof Kozlowski wrote:
> Include the generic serial.yaml dtschema so the child node like

> "bluetooh" will be properly matched:

> 

>   arch/arm/boot/dts/exynos4210-universal_c210.dt.yaml:

>     serial@13800000: 'bluetooth' does not match any of the regexes: 'pinctrl-[0-9]+'

> 

> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

> ---

>  .../bindings/serial/samsung_uart.yaml         | 26 ++++++++++++++++++-

>  1 file changed, 25 insertions(+), 1 deletion(-)

> 

> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml

> index 3e29b561223d..f4faf32ab00f 100644

> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml

> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml

> @@ -78,9 +78,11 @@ required:

>    - interrupts

>    - reg

>  

> -additionalProperties: false

> +unevaluatedProperties: false

>  

>  allOf:

> +  - $ref: /schemas/serial.yaml#

> +

>    - if:

>        properties:

>          compatible:

> @@ -134,3 +136,25 @@ examples:

>                   <&clocks SCLK_UART>;

>          samsung,uart-fifosize = <16>;

>      };

> +

> +  - |

> +    #include <dt-bindings/clock/exynos4.h>

> +    #include <dt-bindings/interrupt-controller/arm-gic.h>

> +

> +    serial@13800000 {

> +        compatible = "samsung,exynos4210-uart";

> +        reg = <0x13800000 0x100>;

> +        interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;

> +        clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;

> +        clock-names = "uart", "clk_uart_baud0";

> +        dmas = <&pdma0 15>, <&pdma0 16>;

> +        dma-names = "rx", "tx";

> +        pinctrl-0 = <&uart0_data &uart0_fctl>;

> +        pinctrl-names = "default";

> +

> +        bluetooth {

> +            compatible = "brcm,bcm4330-bt";


Do we need a whole new example for this?

I'm also trying to get rid compatibles without a schema so we can turn 
on warnings for that, but fortunately Linus is converting Broadcom BT. 
And looks like it should pass.

Rob
Krzysztof Kozlowski March 7, 2021, 11:42 a.m. UTC | #3
On 05/03/2021 21:49, Rob Herring wrote:
> On Fri, Feb 12, 2021 at 05:39:05PM +0100, Krzysztof Kozlowski wrote:

>> Include the generic serial.yaml dtschema so the child node like

>> "bluetooh" will be properly matched:

>>

>>   arch/arm/boot/dts/exynos4210-universal_c210.dt.yaml:

>>     serial@13800000: 'bluetooth' does not match any of the regexes: 'pinctrl-[0-9]+'

>>

>> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

>> ---

>>  .../bindings/serial/samsung_uart.yaml         | 26 ++++++++++++++++++-

>>  1 file changed, 25 insertions(+), 1 deletion(-)

>>

>> diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml

>> index 3e29b561223d..f4faf32ab00f 100644

>> --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml

>> +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml

>> @@ -78,9 +78,11 @@ required:

>>    - interrupts

>>    - reg

>>  

>> -additionalProperties: false

>> +unevaluatedProperties: false

>>  

>>  allOf:

>> +  - $ref: /schemas/serial.yaml#

>> +

>>    - if:

>>        properties:

>>          compatible:

>> @@ -134,3 +136,25 @@ examples:

>>                   <&clocks SCLK_UART>;

>>          samsung,uart-fifosize = <16>;

>>      };

>> +

>> +  - |

>> +    #include <dt-bindings/clock/exynos4.h>

>> +    #include <dt-bindings/interrupt-controller/arm-gic.h>

>> +

>> +    serial@13800000 {

>> +        compatible = "samsung,exynos4210-uart";

>> +        reg = <0x13800000 0x100>;

>> +        interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;

>> +        clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;

>> +        clock-names = "uart", "clk_uart_baud0";

>> +        dmas = <&pdma0 15>, <&pdma0 16>;

>> +        dma-names = "rx", "tx";

>> +        pinctrl-0 = <&uart0_data &uart0_fctl>;

>> +        pinctrl-names = "default";

>> +

>> +        bluetooth {

>> +            compatible = "brcm,bcm4330-bt";

> 

> Do we need a whole new example for this?


No, we don't need it. I find examples useful but if you prefer to have
them smaller, then I can skip it.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
index 21ee627b2ced..3e29b561223d 100644
--- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
+++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
@@ -51,6 +51,16 @@  properties:
       - pattern: '^clk_uart_baud[0-3]$'
       - pattern: '^clk_uart_baud[0-3]$'
 
+  dmas:
+    items:
+      - description: DMA controller phandle and request line for RX
+      - description: DMA controller phandle and request line for TX
+
+  dma-names:
+    items:
+      - const: rx
+      - const: tx
+
   interrupts:
     description: RX interrupt and optionally TX interrupt.
     minItems: 1