linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Adam Ford <aford173@gmail.com>
To: Shawn Guo <shawnguo@kernel.org>
Cc: arm-soc <linux-arm-kernel@lists.infradead.org>,
	Rob Herring <robh+dt@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	 Fabio Estevam <festevam@gmail.com>,
	NXP Linux Team <linux-imx@nxp.com>,
	 devicetree <devicetree@vger.kernel.org>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] arm64: dts: imx8mn: Add spba1 bus
Date: Tue, 11 May 2021 05:45:17 -0500	[thread overview]
Message-ID: <CAHCN7xLFpL=9BF9M5gUA6sMhc2ZZMNz+GP0OLmLfpJAWdD7W-w@mail.gmail.com> (raw)
In-Reply-To: <20210511024604.GE3425@dragon>

On Mon, May 10, 2021 at 9:46 PM Shawn Guo <shawnguo@kernel.org> wrote:
>
> On Mon, Apr 05, 2021 at 08:33:42PM -0500, Adam Ford wrote:
> > The i.MX8MN has an SPBA bus which covers much of the audio, but
> > there is a second SPBA bus which covers many of the serial interfaces
> > like SPI and UARTs currently missing from the device tree. The reference
> > manual calls the bus handling the audio peripherals SPBA2, and the bus
> > handling the serial peripherals is called SPBA1.
> >
> > Rename the existing spba bus to spba2 and add spba1.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> > index 4dac4da38f4c..e961acd237a8 100644
> > --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
> > @@ -255,7 +255,7 @@ aips1: bus@30000000 {
> >                       #size-cells = <1>;
> >                       ranges;
> >
> > -                     spba: spba-bus@30000000 {
> > +                     spba2: spba-bus@30000000 {
> >                               compatible = "fsl,spba-bus", "simple-bus";
>
> Just noticed that "fsl,spba-bus" is undocumented, no?

I attempted to push the bindings, and I was told it was applied, but
when I asked where the bindings were applied I never got a response -
[1].

Do you want me to resend the bindings?

>
> Also may I ask if you have a real use case for this bus node?

The reference manual shows the SPBA bus tells the DMA controller which
peripherals are associated with it.  Nearly all the i.MX boards use
this.  The boards I support have Bluetooth devices connected to a UART
running high speeds, and if the DMA driver isn't loaded, I can see a
performance change.  In fact, if the DMA firmware isn't loaded, I
often get transfer errors.

adam

[1] - https://lore.kernel.org/linux-devicetree/CAHCN7x+om4W5jqnuAW4-nMkZLc5nrYu7NUsbM36r0wyFSYa4-g@mail.gmail.com/T/

>
> Shawn
>
> >                               #address-cells = <1>;
> >                               #size-cells = <1>;
> > @@ -681,80 +681,88 @@ aips3: bus@30800000 {
> >                       #size-cells = <1>;
> >                       ranges;
> >
> > -                     ecspi1: spi@30820000 {
> > -                             compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
> > +                     spba1: spba-bus@30800000 {
> > +                             compatible = "fsl,spba-bus", "simple-bus";
> >                               #address-cells = <1>;
> > -                             #size-cells = <0>;
> > -                             reg = <0x30820000 0x10000>;
> > -                             interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clk IMX8MN_CLK_ECSPI1_ROOT>,
> > -                                      <&clk IMX8MN_CLK_ECSPI1_ROOT>;
> > -                             clock-names = "ipg", "per";
> > -                             dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
> > -                             dma-names = "rx", "tx";
> > -                             status = "disabled";
> > -                     };
> > +                             #size-cells = <1>;
> > +                             reg = <0x30800000 0x100000>;
> > +                             ranges;
> >
> > -                     ecspi2: spi@30830000 {
> > -                             compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
> > -                             #address-cells = <1>;
> > -                             #size-cells = <0>;
> > -                             reg = <0x30830000 0x10000>;
> > -                             interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clk IMX8MN_CLK_ECSPI2_ROOT>,
> > -                                      <&clk IMX8MN_CLK_ECSPI2_ROOT>;
> > -                             clock-names = "ipg", "per";
> > -                             dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
> > -                             dma-names = "rx", "tx";
> > -                             status = "disabled";
> > -                     };
> > +                             ecspi1: spi@30820000 {
> > +                                     compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
> > +                                     #address-cells = <1>;
> > +                                     #size-cells = <0>;
> > +                                     reg = <0x30820000 0x10000>;
> > +                                     interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
> > +                                     clocks = <&clk IMX8MN_CLK_ECSPI1_ROOT>,
> > +                                              <&clk IMX8MN_CLK_ECSPI1_ROOT>;
> > +                                     clock-names = "ipg", "per";
> > +                                     dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
> > +                                     dma-names = "rx", "tx";
> > +                                     status = "disabled";
> > +                             };
> >
> > -                     ecspi3: spi@30840000 {
> > -                             compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
> > -                             #address-cells = <1>;
> > -                             #size-cells = <0>;
> > -                             reg = <0x30840000 0x10000>;
> > -                             interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clk IMX8MN_CLK_ECSPI3_ROOT>,
> > -                                      <&clk IMX8MN_CLK_ECSPI3_ROOT>;
> > -                             clock-names = "ipg", "per";
> > -                             dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
> > -                             dma-names = "rx", "tx";
> > -                             status = "disabled";
> > -                     };
> > +                             ecspi2: spi@30830000 {
> > +                                     compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
> > +                                     #address-cells = <1>;
> > +                                     #size-cells = <0>;
> > +                                     reg = <0x30830000 0x10000>;
> > +                                     interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
> > +                                     clocks = <&clk IMX8MN_CLK_ECSPI2_ROOT>,
> > +                                              <&clk IMX8MN_CLK_ECSPI2_ROOT>;
> > +                                     clock-names = "ipg", "per";
> > +                                     dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
> > +                                     dma-names = "rx", "tx";
> > +                                     status = "disabled";
> > +                             };
> >
> > -                     uart1: serial@30860000 {
> > -                             compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
> > -                             reg = <0x30860000 0x10000>;
> > -                             interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clk IMX8MN_CLK_UART1_ROOT>,
> > -                                      <&clk IMX8MN_CLK_UART1_ROOT>;
> > -                             clock-names = "ipg", "per";
> > -                             dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
> > -                             dma-names = "rx", "tx";
> > -                             status = "disabled";
> > -                     };
> > +                             ecspi3: spi@30840000 {
> > +                                     compatible = "fsl,imx8mn-ecspi", "fsl,imx51-ecspi";
> > +                                     #address-cells = <1>;
> > +                                     #size-cells = <0>;
> > +                                     reg = <0x30840000 0x10000>;
> > +                                     interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
> > +                                     clocks = <&clk IMX8MN_CLK_ECSPI3_ROOT>,
> > +                                              <&clk IMX8MN_CLK_ECSPI3_ROOT>;
> > +                                     clock-names = "ipg", "per";
> > +                                     dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
> > +                                     dma-names = "rx", "tx";
> > +                                     status = "disabled";
> > +                             };
> >
> > -                     uart3: serial@30880000 {
> > -                             compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
> > -                             reg = <0x30880000 0x10000>;
> > -                             interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clk IMX8MN_CLK_UART3_ROOT>,
> > -                                      <&clk IMX8MN_CLK_UART3_ROOT>;
> > -                             clock-names = "ipg", "per";
> > -                             dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>;
> > -                             dma-names = "rx", "tx";
> > -                             status = "disabled";
> > -                     };
> > +                             uart1: serial@30860000 {
> > +                                     compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
> > +                                     reg = <0x30860000 0x10000>;
> > +                                     interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
> > +                                     clocks = <&clk IMX8MN_CLK_UART1_ROOT>,
> > +                                              <&clk IMX8MN_CLK_UART1_ROOT>;
> > +                                     clock-names = "ipg", "per";
> > +                                     dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
> > +                                     dma-names = "rx", "tx";
> > +                                     status = "disabled";
> > +                             };
> >
> > -                     uart2: serial@30890000 {
> > -                             compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
> > -                             reg = <0x30890000 0x10000>;
> > -                             interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
> > -                             clocks = <&clk IMX8MN_CLK_UART2_ROOT>,
> > -                                      <&clk IMX8MN_CLK_UART2_ROOT>;
> > -                             clock-names = "ipg", "per";
> > -                             status = "disabled";
> > +                             uart3: serial@30880000 {
> > +                                     compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
> > +                                     reg = <0x30880000 0x10000>;
> > +                                     interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
> > +                                     clocks = <&clk IMX8MN_CLK_UART3_ROOT>,
> > +                                              <&clk IMX8MN_CLK_UART3_ROOT>;
> > +                                     clock-names = "ipg", "per";
> > +                                     dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>;
> > +                                     dma-names = "rx", "tx";
> > +                                     status = "disabled";
> > +                             };
> > +
> > +                             uart2: serial@30890000 {
> > +                                     compatible = "fsl,imx8mn-uart", "fsl,imx6q-uart";
> > +                                     reg = <0x30890000 0x10000>;
> > +                                     interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
> > +                                     clocks = <&clk IMX8MN_CLK_UART2_ROOT>,
> > +                                              <&clk IMX8MN_CLK_UART2_ROOT>;
> > +                                     clock-names = "ipg", "per";
> > +                                     status = "disabled";
> > +                             };
> >                       };
> >
> >                       crypto: crypto@30900000 {
> > --
> > 2.25.1
> >

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-05-11 12:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06  1:33 [PATCH 1/2] arm64: dts: imx8mn: Add spba1 bus Adam Ford
2021-04-06  1:33 ` [PATCH 2/2] arm64: dts: imx8mm: Add spba1 and spba2 buses Adam Ford
2021-05-11  2:46 ` [PATCH 1/2] arm64: dts: imx8mn: Add spba1 bus Shawn Guo
2021-05-11 10:45   ` Adam Ford [this message]
2021-05-11 12:20     ` Robin Gong
2021-05-11 14:48       ` Adam Ford
2021-05-13  2:09         ` Shawn Guo
2021-05-14 14:57         ` Robin Gong
2021-05-14 15:27           ` Adam Ford
2021-05-17  1:35             ` Robin Gong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHCN7xLFpL=9BF9M5gUA6sMhc2ZZMNz+GP0OLmLfpJAWdD7W-w@mail.gmail.com' \
    --to=aford173@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).