diff mbox series

[v6,1/2] dt-bindings: serial: Add rx-tx-swap to stm32-usart

Message ID 20210312102713.27776-1-devik@eaxlabs.cz (mailing list archive)
State New, archived
Headers show
Series [v6,1/2] dt-bindings: serial: Add rx-tx-swap to stm32-usart | expand

Commit Message

Martin Devera March 12, 2021, 10:27 a.m. UTC
Add new rx-tx-swap property to allow for RX & TX pin swapping.

Signed-off-by: Martin Devera <devik@eaxlabs.cz>
Acked-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
---
v6: 
  - add version changelog
v5: 
  - yaml fixes based on Rob Herring comments
    - add serial.yaml reference
    - move compatible from 'then' to 'if'
v3:
  - don't allow rx-tx-swap for st,stm32-uart (suggested
    by Fabrice Gasnier)
v2:
  - change st,swap to rx-tx-swap (suggested by Rob Herring)
---
 .../devicetree/bindings/serial/st,stm32-uart.yaml  | 29 ++++++++++++++--------
 1 file changed, 19 insertions(+), 10 deletions(-)

Comments

Rob Herring March 12, 2021, 2:23 p.m. UTC | #1
On Fri, 12 Mar 2021 11:27:12 +0100, Martin Devera wrote:
> Add new rx-tx-swap property to allow for RX & TX pin swapping.
> 
> Signed-off-by: Martin Devera <devik@eaxlabs.cz>
> Acked-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
> ---
> v6:
>   - add version changelog
> v5:
>   - yaml fixes based on Rob Herring comments
>     - add serial.yaml reference
>     - move compatible from 'then' to 'if'
> v3:
>   - don't allow rx-tx-swap for st,stm32-uart (suggested
>     by Fabrice Gasnier)
> v2:
>   - change st,swap to rx-tx-swap (suggested by Rob Herring)
> ---
>  .../devicetree/bindings/serial/st,stm32-uart.yaml  | 29 ++++++++++++++--------
>  1 file changed, 19 insertions(+), 10 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/serial/st,stm32-uart.yaml:81:12: [warning] wrong indentation: expected 10 but found 11 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1451861

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.
Martin Devera March 12, 2021, 2:56 p.m. UTC | #2
On 3/12/21 3:23 PM, Rob Herring wrote:
> On Fri, 12 Mar 2021 11:27:12 +0100, Martin Devera wrote:
>> Add new rx-tx-swap property to allow for RX & TX pin swapping.
>>
>> Signed-off-by: Martin Devera <devik@eaxlabs.cz>
>> Acked-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
>> ---
>> v6:
>>    - add version changelog
>> v5:
>>    - yaml fixes based on Rob Herring comments
>>      - add serial.yaml reference
>>      - move compatible from 'then' to 'if'
>> v3:
>>    - don't allow rx-tx-swap for st,stm32-uart (suggested
>>      by Fabrice Gasnier)
>> v2:
>>    - change st,swap to rx-tx-swap (suggested by Rob Herring)
>> ---
>>   .../devicetree/bindings/serial/st,stm32-uart.yaml  | 29 ++++++++++++++--------
>>   1 file changed, 19 insertions(+), 10 deletions(-)
>>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
> ./Documentation/devicetree/bindings/serial/st,stm32-uart.yaml:81:12: [warning] wrong indentation: expected 10 but found 11 (indentation)
>
> dtschema/dtc warnings/errors:
>
> See https://patchwork.ozlabs.org/patch/1451861
>
> This check can fail if there are any dependencies. The base for a patch
> series is generally the most recent rc1.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
Yoy are right, there is one extra space. But for some reason the check 
doesn't
find it:
$ make dt_binding_check 
DT_SCHEMA_FILES=Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
   CHKDT Documentation/devicetree/bindings/processed-schema-examples.json
   SCHEMA Documentation/devicetree/bindings/processed-schema-examples.json
/home/devik/.local/lib/python3.9/site-packages/dtschema/schemas/serial/rs485.yaml: 
duplicate '$id' value 'http://devicetree.org/schemas/serial/rs485.yaml#'
   DTEX Documentation/devicetree/bindings/serial/st,stm32-uart.example.dts
   DTC 
Documentation/devicetree/bindings/serial/st,stm32-uart.example.dt.yaml
   CHECK 
Documentation/devicetree/bindings/serial/st,stm32-uart.example.dt.yaml

$ git describe
v5.12-rc2-2-g2f2a4a95dd38

$ pip3 show dtschema
Name: dtschema
Version: 2021.2.1

Any idea why ?

Thanks, Martin
Martin Devera March 12, 2021, 3:03 p.m. UTC | #3
On 3/12/21 3:56 PM, Martin DEVERA wrote:
> On 3/12/21 3:23 PM, Rob Herring wrote:
>> On Fri, 12 Mar 2021 11:27:12 +0100, Martin Devera wrote:
>>> Add new rx-tx-swap property to allow for RX & TX pin swapping.
>>>
>>> Signed-off-by: Martin Devera <devik@eaxlabs.cz>
>>> Acked-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
>>> ---
>>> v6:
>>>    - add version changelog
>>> v5:
>>>    - yaml fixes based on Rob Herring comments
>>>      - add serial.yaml reference
>>>      - move compatible from 'then' to 'if'
>>> v3:
>>>    - don't allow rx-tx-swap for st,stm32-uart (suggested
>>>      by Fabrice Gasnier)
>>> v2:
>>>    - change st,swap to rx-tx-swap (suggested by Rob Herring)
>>> ---
>>>   .../devicetree/bindings/serial/st,stm32-uart.yaml  | 29 
>>> ++++++++++++++--------
>>>   1 file changed, 19 insertions(+), 10 deletions(-)
>>>
>> My bot found errors running 'make dt_binding_check' on your patch:
>>
>> yamllint warnings/errors:
>> ./Documentation/devicetree/bindings/serial/st,stm32-uart.yaml:81:12: 
>> [warning] wrong indentation: expected 10 but found 11 (indentation)
>>
>> dtschema/dtc warnings/errors:
>>
>> See https://patchwork.ozlabs.org/patch/1451861
>>
>> This check can fail if there are any dependencies. The base for a patch
>> series is generally the most recent rc1.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above
>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>>
> Yoy are right, there is one extra space. But for some reason the check 
> doesn't
> find it: 
Argh... sorry, ignore it please. It seems I removed yamllint.
I see the error now.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
index 8631678283f9..68a0f3ce8328 100644
--- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
+++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
@@ -9,9 +9,6 @@  maintainers:
 
 title: STMicroelectronics STM32 USART bindings
 
-allOf:
-  - $ref: rs485.yaml
-
 properties:
   compatible:
     enum:
@@ -40,6 +37,8 @@  properties:
 
   uart-has-rtscts: true
 
+  rx-tx-swap: true
+
   dmas:
     minItems: 1
     maxItems: 2
@@ -66,13 +65,23 @@  properties:
   linux,rs485-enabled-at-boot-time: true
   rs485-rx-during-tx: true
 
-if:
-  required:
-    - st,hw-flow-ctrl
-then:
-  properties:
-    cts-gpios: false
-    rts-gpios: false
+allOf:
+  - $ref: rs485.yaml#
+  - $ref: serial.yaml#
+  - if:
+      required:
+        - st,hw-flow-ctrl
+    then:
+      properties:
+        cts-gpios: false
+        rts-gpios: false
+  - if:
+      properties:
+        compatible:
+           const: st,stm32-uart
+    then:
+      properties:
+        rx-tx-swap: false
 
 required:
   - compatible