mbox series

[v5,00/18] arm64: dts: imx8: architecture improvement and adding imx8qm support

Message ID 1614950268-22073-1-git-send-email-aisheng.dong@nxp.com (mailing list archive)
Headers show
Series arm64: dts: imx8: architecture improvement and adding imx8qm support | expand

Message

Dong Aisheng March 5, 2021, 1:17 p.m. UTC
IMX SCU based platforms (e.g. MX8QM/MX8QXP) are comprised of a number of SS
(Subsystems), those SS may be shared between different SoCs while most of them
can be reused like Devices Resources, Clocks, Power domains and etc.

This patch series aims to improve the MX8 architecture to comply with the HW
design to save a lot of duplicated codes and benefits us a better
maintainability and scalability in the future.

ChangeLog:
v5:
 * rebase to latest shawn/for-next
 * make mx8qm usdhc compatible with imx8qxp
v4-resend:
 * no change except put three module binding patches first which are used
   by this patchset.
v3->v4:
 * mainly rebase to latest kernel except a few very minor changes like change to use
   new scu protocol binding which was not supported in last version
v2->v3:
 * use clock-indices property instead of bit-offset property suggested by Shawn Guo
 * rebase to latest shawn/for-next
v1->v2:
 * change to the new two cells scu clock binding, so original adding scu clocks
   patches were removed.
 * Move scu pd node above clk node


Dong Aisheng (18):
  dt-bindings: arm: fsl: add imx8qm boards compatible string
  dt-bindings: mailbox: mu: add imx8qm support
  arm64: dts: imx8qxp: add fallback compatible string for scu pd
  arm64: dts: imx8qxp: move scu pd node before scu clock node
  arm64: dts: imx8qxp: orginize dts in subsystems
  arm64: dts: imx8: add lsio lpcg clocks
  arm64: dts: imx8: add conn lpcg clocks
  arm64: dts: imx8: add adma lpcg clocks
  arm64: dts: imx8: switch to two cell scu clock binding
  arm64: dts: imx8: switch to new lpcg clock binding
  arm64: dts: imx8qm: add lsio ss support
  arm64: dts: imx8qm: add conn ss support
  arm64: dts: imx8: split adma ss into dma and audio ss
  arm64: dts: imx8qm: add dma ss support
  arm64: dts: imx: add imx8qm common dts file
  arm64: dts: imx: add imx8qm mek support
  arm64: defconfig: add imx8qm mek support
  firmware: imx: scu-pd: do not power off console domain

 .../devicetree/bindings/arm/fsl.yaml          |   6 +
 .../devicetree/bindings/mailbox/fsl,mu.yaml   |   5 +-
 arch/arm64/boot/dts/freescale/Makefile        |   1 +
 .../boot/dts/freescale/imx8-ss-adma.dtsi      |   8 +
 .../boot/dts/freescale/imx8-ss-audio.dtsi     |  68 +++
 .../boot/dts/freescale/imx8-ss-conn.dtsi      | 184 ++++++++
 .../arm64/boot/dts/freescale/imx8-ss-ddr.dtsi |  18 +
 .../arm64/boot/dts/freescale/imx8-ss-dma.dtsi | 202 +++++++++
 .../boot/dts/freescale/imx8-ss-lsio.dtsi      | 311 +++++++++++++
 arch/arm64/boot/dts/freescale/imx8qm-mek.dts  | 144 ++++++
 .../boot/dts/freescale/imx8qm-ss-conn.dtsi    |  21 +
 .../boot/dts/freescale/imx8qm-ss-dma.dtsi     |  51 +++
 .../boot/dts/freescale/imx8qm-ss-lsio.dtsi    |  61 +++
 arch/arm64/boot/dts/freescale/imx8qm.dtsi     | 176 ++++++++
 .../boot/dts/freescale/imx8qxp-ai_ml.dts      |  20 +-
 .../freescale/imx8qxp-colibri-eval-v3.dtsi    |   8 +-
 .../boot/dts/freescale/imx8qxp-colibri.dtsi   |  12 +-
 arch/arm64/boot/dts/freescale/imx8qxp-mek.dts |  50 +--
 .../boot/dts/freescale/imx8qxp-ss-adma.dtsi   |  37 ++
 .../boot/dts/freescale/imx8qxp-ss-conn.dtsi   |  25 ++
 .../boot/dts/freescale/imx8qxp-ss-lsio.dtsi   |  61 +++
 arch/arm64/boot/dts/freescale/imx8qxp.dtsi    | 423 ++----------------
 arch/arm64/configs/defconfig                  |   1 +
 drivers/firmware/imx/scu-pd.c                 |  28 +-
 24 files changed, 1481 insertions(+), 440 deletions(-)
 create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-adma.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-audio.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-ddr.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-lsio.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-mek.dts
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-conn.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-lsio.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qm.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-adma.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-conn.dtsi
 create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-lsio.dtsi

Comments

Shawn Guo March 8, 2021, 1:59 a.m. UTC | #1
On Fri, Mar 05, 2021 at 09:17:29PM +0800, Dong Aisheng wrote:
> IMX SCU based platforms (e.g. MX8QM/MX8QXP) are comprised of a number of SS
> (Subsystems), those SS may be shared between different SoCs while most of them
> can be reused like Devices Resources, Clocks, Power domains and etc.
> 
> This patch series aims to improve the MX8 architecture to comply with the HW
> design to save a lot of duplicated codes and benefits us a better
> maintainability and scalability in the future.
> 
> ChangeLog:
> v5:
>  * rebase to latest shawn/for-next
>  * make mx8qm usdhc compatible with imx8qxp
> v4-resend:
>  * no change except put three module binding patches first which are used
>    by this patchset.
> v3->v4:
>  * mainly rebase to latest kernel except a few very minor changes like change to use
>    new scu protocol binding which was not supported in last version
> v2->v3:
>  * use clock-indices property instead of bit-offset property suggested by Shawn Guo
>  * rebase to latest shawn/for-next
> v1->v2:
>  * change to the new two cells scu clock binding, so original adding scu clocks
>    patches were removed.
>  * Move scu pd node above clk node
> 
> 
> Dong Aisheng (18):
>   dt-bindings: arm: fsl: add imx8qm boards compatible string
>   dt-bindings: mailbox: mu: add imx8qm support
>   arm64: dts: imx8qxp: add fallback compatible string for scu pd
>   arm64: dts: imx8qxp: move scu pd node before scu clock node
>   arm64: dts: imx8qxp: orginize dts in subsystems

The dts patches stop applying for me at this one.  Please rebase and
resend them.

Shawn

>   arm64: dts: imx8: add lsio lpcg clocks
>   arm64: dts: imx8: add conn lpcg clocks
>   arm64: dts: imx8: add adma lpcg clocks
>   arm64: dts: imx8: switch to two cell scu clock binding
>   arm64: dts: imx8: switch to new lpcg clock binding
>   arm64: dts: imx8qm: add lsio ss support
>   arm64: dts: imx8qm: add conn ss support
>   arm64: dts: imx8: split adma ss into dma and audio ss
>   arm64: dts: imx8qm: add dma ss support
>   arm64: dts: imx: add imx8qm common dts file
>   arm64: dts: imx: add imx8qm mek support
>   arm64: defconfig: add imx8qm mek support
>   firmware: imx: scu-pd: do not power off console domain
> 
>  .../devicetree/bindings/arm/fsl.yaml          |   6 +
>  .../devicetree/bindings/mailbox/fsl,mu.yaml   |   5 +-
>  arch/arm64/boot/dts/freescale/Makefile        |   1 +
>  .../boot/dts/freescale/imx8-ss-adma.dtsi      |   8 +
>  .../boot/dts/freescale/imx8-ss-audio.dtsi     |  68 +++
>  .../boot/dts/freescale/imx8-ss-conn.dtsi      | 184 ++++++++
>  .../arm64/boot/dts/freescale/imx8-ss-ddr.dtsi |  18 +
>  .../arm64/boot/dts/freescale/imx8-ss-dma.dtsi | 202 +++++++++
>  .../boot/dts/freescale/imx8-ss-lsio.dtsi      | 311 +++++++++++++
>  arch/arm64/boot/dts/freescale/imx8qm-mek.dts  | 144 ++++++
>  .../boot/dts/freescale/imx8qm-ss-conn.dtsi    |  21 +
>  .../boot/dts/freescale/imx8qm-ss-dma.dtsi     |  51 +++
>  .../boot/dts/freescale/imx8qm-ss-lsio.dtsi    |  61 +++
>  arch/arm64/boot/dts/freescale/imx8qm.dtsi     | 176 ++++++++
>  .../boot/dts/freescale/imx8qxp-ai_ml.dts      |  20 +-
>  .../freescale/imx8qxp-colibri-eval-v3.dtsi    |   8 +-
>  .../boot/dts/freescale/imx8qxp-colibri.dtsi   |  12 +-
>  arch/arm64/boot/dts/freescale/imx8qxp-mek.dts |  50 +--
>  .../boot/dts/freescale/imx8qxp-ss-adma.dtsi   |  37 ++
>  .../boot/dts/freescale/imx8qxp-ss-conn.dtsi   |  25 ++
>  .../boot/dts/freescale/imx8qxp-ss-lsio.dtsi   |  61 +++
>  arch/arm64/boot/dts/freescale/imx8qxp.dtsi    | 423 ++----------------
>  arch/arm64/configs/defconfig                  |   1 +
>  drivers/firmware/imx/scu-pd.c                 |  28 +-
>  24 files changed, 1481 insertions(+), 440 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-adma.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-audio.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-ddr.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-lsio.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-mek.dts
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-conn.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-lsio.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-adma.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-conn.dtsi
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-lsio.dtsi
> 
> -- 
> 2.25.1
>
Dong Aisheng March 8, 2021, 2:29 a.m. UTC | #2
> From: Shawn Guo <shawnguo@kernel.org>
> Sent: Monday, March 8, 2021 10:00 AM
> 
> On Fri, Mar 05, 2021 at 09:17:29PM +0800, Dong Aisheng wrote:
> > IMX SCU based platforms (e.g. MX8QM/MX8QXP) are comprised of a
> number
> > of SS (Subsystems), those SS may be shared between different SoCs
> > while most of them can be reused like Devices Resources, Clocks, Power
> domains and etc.
> >
> > This patch series aims to improve the MX8 architecture to comply with
> > the HW design to save a lot of duplicated codes and benefits us a
> > better maintainability and scalability in the future.
> >
> > ChangeLog:
> > v5:
> >  * rebase to latest shawn/for-next
> >  * make mx8qm usdhc compatible with imx8qxp
> > v4-resend:
> >  * no change except put three module binding patches first which are used
> >    by this patchset.
> > v3->v4:
> >  * mainly rebase to latest kernel except a few very minor changes like
> change to use
> >    new scu protocol binding which was not supported in last version
> > v2->v3:
> >  * use clock-indices property instead of bit-offset property suggested
> > by Shawn Guo
> >  * rebase to latest shawn/for-next
> > v1->v2:
> >  * change to the new two cells scu clock binding, so original adding scu
> clocks
> >    patches were removed.
> >  * Move scu pd node above clk node
> >
> >
> > Dong Aisheng (18):
> >   dt-bindings: arm: fsl: add imx8qm boards compatible string
> >   dt-bindings: mailbox: mu: add imx8qm support
> >   arm64: dts: imx8qxp: add fallback compatible string for scu pd
> >   arm64: dts: imx8qxp: move scu pd node before scu clock node
> >   arm64: dts: imx8qxp: orginize dts in subsystems
> 
> The dts patches stop applying for me at this one.  Please rebase and resend
> them.

It was caused by below patch you just applied.

commit f5a069ca4f420872861035ef304e75108bb5ec6e
Author: Peng Fan <peng.fan@nxp.com>
Date:   Thu Feb 25 11:10:02 2021 +0800

    arm64: dts: imx8qxp: correct usdhc clock-names sequence
    
    Per dt-bindings, the clock-names sequence should be ipg ahb per to pass
    dtbs_check.
    
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>

 arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

I will rebase and resend. Thanks

Regards
Aisheng

> 
> Shawn
> 
> >   arm64: dts: imx8: add lsio lpcg clocks
> >   arm64: dts: imx8: add conn lpcg clocks
> >   arm64: dts: imx8: add adma lpcg clocks
> >   arm64: dts: imx8: switch to two cell scu clock binding
> >   arm64: dts: imx8: switch to new lpcg clock binding
> >   arm64: dts: imx8qm: add lsio ss support
> >   arm64: dts: imx8qm: add conn ss support
> >   arm64: dts: imx8: split adma ss into dma and audio ss
> >   arm64: dts: imx8qm: add dma ss support
> >   arm64: dts: imx: add imx8qm common dts file
> >   arm64: dts: imx: add imx8qm mek support
> >   arm64: defconfig: add imx8qm mek support
> >   firmware: imx: scu-pd: do not power off console domain
> >
> >  .../devicetree/bindings/arm/fsl.yaml          |   6 +
> >  .../devicetree/bindings/mailbox/fsl,mu.yaml   |   5 +-
> >  arch/arm64/boot/dts/freescale/Makefile        |   1 +
> >  .../boot/dts/freescale/imx8-ss-adma.dtsi      |   8 +
> >  .../boot/dts/freescale/imx8-ss-audio.dtsi     |  68 +++
> >  .../boot/dts/freescale/imx8-ss-conn.dtsi      | 184 ++++++++
> >  .../arm64/boot/dts/freescale/imx8-ss-ddr.dtsi |  18 +
> > .../arm64/boot/dts/freescale/imx8-ss-dma.dtsi | 202 +++++++++
> >  .../boot/dts/freescale/imx8-ss-lsio.dtsi      | 311 +++++++++++++
> >  arch/arm64/boot/dts/freescale/imx8qm-mek.dts  | 144 ++++++
> >  .../boot/dts/freescale/imx8qm-ss-conn.dtsi    |  21 +
> >  .../boot/dts/freescale/imx8qm-ss-dma.dtsi     |  51 +++
> >  .../boot/dts/freescale/imx8qm-ss-lsio.dtsi    |  61 +++
> >  arch/arm64/boot/dts/freescale/imx8qm.dtsi     | 176 ++++++++
> >  .../boot/dts/freescale/imx8qxp-ai_ml.dts      |  20 +-
> >  .../freescale/imx8qxp-colibri-eval-v3.dtsi    |   8 +-
> >  .../boot/dts/freescale/imx8qxp-colibri.dtsi   |  12 +-
> >  arch/arm64/boot/dts/freescale/imx8qxp-mek.dts |  50 +--
> >  .../boot/dts/freescale/imx8qxp-ss-adma.dtsi   |  37 ++
> >  .../boot/dts/freescale/imx8qxp-ss-conn.dtsi   |  25 ++
> >  .../boot/dts/freescale/imx8qxp-ss-lsio.dtsi   |  61 +++
> >  arch/arm64/boot/dts/freescale/imx8qxp.dtsi    | 423 ++----------------
> >  arch/arm64/configs/defconfig                  |   1 +
> >  drivers/firmware/imx/scu-pd.c                 |  28 +-
> >  24 files changed, 1481 insertions(+), 440 deletions(-)  create mode
> > 100644 arch/arm64/boot/dts/freescale/imx8-ss-adma.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-audio.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-ddr.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-dma.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-lsio.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-mek.dts
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-conn.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-dma.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm-ss-lsio.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qm.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-adma.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-conn.dtsi
> >  create mode 100644 arch/arm64/boot/dts/freescale/imx8qxp-ss-lsio.dtsi
> >
> > --
> > 2.25.1
> >