Re: [PATCH 3/3] arm64: dts: ti: k3-am6*: Add additional regs for DMA components

From: Jai Luthra
Date: Wed Dec 13 2023 - 04:42:17 EST


Hi Vignesh,

Thanks for the patch, PKTDMA address region sizes don't seem to match
the TRM. Not sure if the patch is wrong or TRM is wrong.

On Dec 12, 2023 at 16:46:34 +0530, Vignesh Raghavendra wrote:
> Add additional reg properties for BCDMA and PKTDMA nodes which are
> mostly used by bootloader components before Device Manager firmware
> services are available, in order to setup DMA transfers.
>
> Signed-off-by: Vignesh Raghavendra <vigneshr@xxxxxx>
> ---
> arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 18 ++++++++++++++----
> arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 18 ++++++++++++++----
> arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 18 ++++++++++++++----
> arch/arm64/boot/dts/ti/k3-am64-main.dtsi | 18 ++++++++++++++----
> 4 files changed, 56 insertions(+), 16 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> index e5c64c86d1d5..4514a140ad38 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
> @@ -121,8 +121,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";

BCDMA ranges LGTM, but PDMA ranges below are not matching with the TRM.

> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> @@ -138,8 +143,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,

PKTDMA RING region range 0x10000 in the TRM.

> + <0x00 0x484a0000 0x00 0x4000>,

PKTDMA TCHAN region range is 0x2000 in the TRM.

> + <0x00 0x484c0000 0x00 0x2000>,

This matches TRM.

> + <0x00 0x48430000 0x00 0x4000>;

PKGTMA RFLOW region range is 0x1000 in the TRM.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> index 4ae7fdc5221b..36947d9d644d 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> @@ -101,8 +101,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
> ti,sci = <&dmsc>;
> @@ -117,8 +122,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,
> + <0x00 0x484a0000 0x00 0x4000>,
> + <0x00 0x484c0000 0x00 0x2000>,
> + <0x00 0x48430000 0x00 0x4000>;

Same issue as AM62, the TRM mentions a different size for these regions.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
> ti,sci = <&dmsc>;
> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> index 963758c7d377..21981489b4db 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
> @@ -101,8 +101,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> @@ -119,8 +124,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,
> + <0x00 0x484a0000 0x00 0x4000>,
> + <0x00 0x484c0000 0x00 0x2000>,
> + <0x00 0x48430000 0x00 0x4000>;

Same here as well.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
> bootph-all;
> diff --git a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> index 0be642bc1b86..bcdfd61c7d98 100644
> --- a/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am64-main.dtsi
> @@ -138,8 +138,13 @@ main_bcdma: dma-controller@485c0100 {
> <0x00 0x4c000000 0x00 0x20000>,
> <0x00 0x4a820000 0x00 0x20000>,
> <0x00 0x4aa40000 0x00 0x20000>,
> - <0x00 0x4bc00000 0x00 0x100000>;
> - reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4bc00000 0x00 0x100000>,
> + <0x00 0x48600000 0x00 0x8000>,
> + <0x00 0x484a4000 0x00 0x2000>,
> + <0x00 0x484c2000 0x00 0x2000>,
> + <0x00 0x48420000 0x00 0x2000>;
> + reg-names = "gcfg", "bchanrt", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "bchan";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <3>;
>
> @@ -155,8 +160,13 @@ main_pktdma: dma-controller@485c0000 {
> reg = <0x00 0x485c0000 0x00 0x100>,
> <0x00 0x4a800000 0x00 0x20000>,
> <0x00 0x4aa00000 0x00 0x40000>,
> - <0x00 0x4b800000 0x00 0x400000>;
> - reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt";
> + <0x00 0x4b800000 0x00 0x400000>,
> + <0x00 0x485e0000 0x00 0x20000>,
> + <0x00 0x484a0000 0x00 0x4000>,
> + <0x00 0x484c0000 0x00 0x2000>,
> + <0x00 0x48430000 0x00 0x4000>;

Did not check TRM for AM64, might need a fix here as well.

> + reg-names = "gcfg", "rchanrt", "tchanrt", "ringrt",
> + "ring", "tchan", "rchan", "rflow";
> msi-parent = <&inta_main_dmss>;
> #dma-cells = <2>;
>
> --
> 2.43.0
>
>

--
Thanks,
Jai

GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145

Attachment: signature.asc
Description: PGP signature