diff mbox series

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

Message ID 20210311215153.676-1-devik@eaxlabs.cz
State Superseded
Headers show
Series [v5,1/2] dt-bindings: serial: Add rx-tx-swap to stm32-usart | expand

Commit Message

Martin Devera March 11, 2021, 9:51 p.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>
---
 .../devicetree/bindings/serial/st,stm32-uart.yaml  | 29 ++++++++++++++--------
 1 file changed, 19 insertions(+), 10 deletions(-)

Comments

Greg Kroah-Hartman March 12, 2021, 8:15 a.m. UTC | #1
On Thu, Mar 11, 2021 at 10:51:53PM +0100, Martin Devera wrote:
> STM32 F7/H7 usarts supports RX & TX pin swapping.

> Add option to turn it on.

> Tested on STM32MP157.

> 

> Signed-off-by: Martin Devera <devik@eaxlabs.cz>

> Acked-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>

> ---

>  drivers/tty/serial/stm32-usart.c | 11 ++++++++++-

>  drivers/tty/serial/stm32-usart.h |  4 ++++

>  2 files changed, 14 insertions(+), 1 deletion(-)


What changed from v4-v1 on this patch series?  That needs to go below
the --- line as documented.

Please fix up and send v6.

thanks,

greg k-h
Rob Herring (Arm) March 12, 2021, 2:23 p.m. UTC | #2
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 | #3
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 | #4
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