2023-08-10 18:31:00

by Vignesh Raghavendra

[permalink] [raw]
Subject: [PATCH 1/3] dt-bindings: dma: ti: k3-bcdma: Describe cfg register regions

Block copy DMA(BCDMA)module on K3 SoCs have ring cfg, TX and RX
channel cfg register regions which are usually configured by a Device
Management firmware. But certain entities such as bootloader (like
U-Boot) may have to access them directly. Describe this region in the
binding documentation for completeness of module description.

Keep the binding compatible with existing DTS files by requiring first
five regions to be present at least.

Signed-off-by: Vignesh Raghavendra <[email protected]>
---
.../devicetree/bindings/dma/ti/k3-bcdma.yaml | 25 +++++++++++++------
1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
index 4ca300a42a99..d166e284532b 100644
--- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
+++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
@@ -37,11 +37,11 @@ properties:

reg:
minItems: 3
- maxItems: 5
+ maxItems: 8

reg-names:
minItems: 3
- maxItems: 5
+ maxItems: 8

"#dma-cells":
const: 3
@@ -161,14 +161,19 @@ allOf:
properties:
reg:
minItems: 5
+ maxItems: 8

reg-names:
+ minItems: 5
items:
- const: gcfg
- const: bchanrt
- const: rchanrt
- const: tchanrt
- const: ringrt
+ - const: cfg
+ - const: tchan
+ - const: rchan

required:
- ti,sci-rm-range-bchan
@@ -216,12 +221,16 @@ examples:
main_bcdma: dma-controller@485c0100 {
compatible = "ti,am64-dmss-bcdma";

- reg = <0x0 0x485c0100 0x0 0x100>,
- <0x0 0x4c000000 0x0 0x20000>,
- <0x0 0x4a820000 0x0 0x20000>,
- <0x0 0x4aa40000 0x0 0x20000>,
- <0x0 0x4bc00000 0x0 0x100000>;
- reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
+ reg = <0x00 0x485c0100 0x00 0x100>,
+ <0x00 0x4c000000 0x00 0x20000>,
+ <0x00 0x4a820000 0x00 0x20000>,
+ <0x00 0x4aa40000 0x00 0x20000>,
+ <0x00 0x4bc00000 0x00 0x100000>,
+ <0x00 0x48600000 0x00 0x8000>,
+ <0x00 0x484a4000 0x00 0x2000>,
+ <0x00 0x484c2000 0x00 0x2000>;
+ reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
+ "cfg", "tchan", "rchan";
msi-parent = <&inta_main_dmss>;
#dma-cells = <3>;

--
2.41.0



2023-08-10 19:11:33

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH 1/3] dt-bindings: dma: ti: k3-bcdma: Describe cfg register regions

On Thu, Aug 10, 2023 at 11:13:53PM +0530, Vignesh Raghavendra wrote:
> Block copy DMA(BCDMA)module on K3 SoCs have ring cfg, TX and RX
> channel cfg register regions which are usually configured by a Device
> Management firmware. But certain entities such as bootloader (like
> U-Boot) may have to access them directly. Describe this region in the
> binding documentation for completeness of module description.
>
> Keep the binding compatible with existing DTS files by requiring first
> five regions to be present at least.
>
> Signed-off-by: Vignesh Raghavendra <[email protected]>
> ---
> .../devicetree/bindings/dma/ti/k3-bcdma.yaml | 25 +++++++++++++------
> 1 file changed, 17 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> index 4ca300a42a99..d166e284532b 100644
> --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
> @@ -37,11 +37,11 @@ properties:
>
> reg:
> minItems: 3
> - maxItems: 5
> + maxItems: 8

How come none of these reg entries have a description? What
differentiates a "gcfg" from a "cfg" for example?

>
> reg-names:
> minItems: 3
> - maxItems: 5
> + maxItems: 8
>
> "#dma-cells":
> const: 3
> @@ -161,14 +161,19 @@ allOf:
> properties:
> reg:
> minItems: 5
> + maxItems: 8
>
> reg-names:
> + minItems: 5
> items:
> - const: gcfg
> - const: bchanrt
> - const: rchanrt
> - const: tchanrt
> - const: ringrt
> + - const: cfg
> + - const: tchan
> + - const: rchan
>
> required:
> - ti,sci-rm-range-bchan
> @@ -216,12 +221,16 @@ examples:
> main_bcdma: dma-controller@485c0100 {
> compatible = "ti,am64-dmss-bcdma";
>
> - reg = <0x0 0x485c0100 0x0 0x100>,
> - <0x0 0x4c000000 0x0 0x20000>,
> - <0x0 0x4a820000 0x0 0x20000>,
> - <0x0 0x4aa40000 0x0 0x20000>,
> - <0x0 0x4bc00000 0x0 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + reg = <0x00 0x485c0100 0x00 0x100>,

Why have you added extra zeros? (0x00)

Thanks,
Conor.

> + <0x00 0x4c000000 0x00 0x20000>,
> + <0x00 0x4a820000 0x00 0x20000>,
> + <0x00 0x4aa40000 0x00 0x20000>,
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "cfg", "tchan", "rchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> --
> 2.41.0
>


Attachments:
(No filename) (3.11 kB)
signature.asc (235.00 B)
Download all attachments

2023-08-11 06:19:46

by Vignesh Raghavendra

[permalink] [raw]
Subject: Re: [PATCH 1/3] dt-bindings: dma: ti: k3-bcdma: Describe cfg register regions



On 11/08/23 00:05, Conor Dooley wrote:
> On Thu, Aug 10, 2023 at 11:13:53PM +0530, Vignesh Raghavendra wrote:
>> Block copy DMA(BCDMA)module on K3 SoCs have ring cfg, TX and RX
>> channel cfg register regions which are usually configured by a Device
>> Management firmware. But certain entities such as bootloader (like
>> U-Boot) may have to access them directly. Describe this region in the
>> binding documentation for completeness of module description.
>>
>> Keep the binding compatible with existing DTS files by requiring first
>> five regions to be present at least.
>>
>> Signed-off-by: Vignesh Raghavendra <[email protected]>
>> ---
>> .../devicetree/bindings/dma/ti/k3-bcdma.yaml | 25 +++++++++++++------
>> 1 file changed, 17 insertions(+), 8 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
>> index 4ca300a42a99..d166e284532b 100644
>> --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
>> +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml
>> @@ -37,11 +37,11 @@ properties:
>>
>> reg:
>> minItems: 3
>> - maxItems: 5
>> + maxItems: 8
>
> How come none of these reg entries have a description? What
> differentiates a "gcfg" from a "cfg" for example?
>

Ok, I will a patch to describe the regions first before adding new ones.

>>
>> reg-names:
>> minItems: 3
>> - maxItems: 5
>> + maxItems: 8
>>
>> "#dma-cells":
>> const: 3
>> @@ -161,14 +161,19 @@ allOf:
>> properties:
>> reg:
>> minItems: 5
>> + maxItems: 8
>>
>> reg-names:
>> + minItems: 5
>> items:
>> - const: gcfg
>> - const: bchanrt
>> - const: rchanrt
>> - const: tchanrt
>> - const: ringrt
>> + - const: cfg
>> + - const: tchan
>> + - const: rchan
>>
>> required:
>> - ti,sci-rm-range-bchan
>> @@ -216,12 +221,16 @@ examples:
>> main_bcdma: dma-controller@485c0100 {
>> compatible = "ti,am64-dmss-bcdma";
>>
>> - reg = <0x0 0x485c0100 0x0 0x100>,
>> - <0x0 0x4c000000 0x0 0x20000>,
>> - <0x0 0x4a820000 0x0 0x20000>,
>> - <0x0 0x4aa40000 0x0 0x20000>,
>> - <0x0 0x4bc00000 0x0 0x100000>;
>> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
>> + reg = <0x00 0x485c0100 0x00 0x100>,
>
> Why have you added extra zeros? (0x00)

Sorry, copy paste error, was trying to copy example from real DT that
use 0x00. Will fix. Thanks!

>
> Thanks,
> Conor.
>
>> + <0x00 0x4c000000 0x00 0x20000>,
>> + <0x00 0x4a820000 0x00 0x20000>,
>> + <0x00 0x4aa40000 0x00 0x20000>,
>> + <0x00 0x4bc00000 0x00 0x100000>,
>> + <0x00 0x48600000 0x00 0x8000>,
>> + <0x00 0x484a4000 0x00 0x2000>,
>> + <0x00 0x484c2000 0x00 0x2000>;
>> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
>> + "cfg", "tchan", "rchan";
>> msi-parent = <&inta_main_dmss>;
>> #dma-cells = <3>;
>>
>> --
>> 2.41.0
>>

--
Regards
Vignesh