All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrien Grassein <adrien.grassein@gmail.com>
To: unlisted-recipients:; (no To-header on input)
Cc: robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	lgirdwood@gmail.com, broonie@kernel.org, arnd@arndb.de,
	peng.fan@nxp.com, Anson.Huang@nxp.com,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Adrien Grassein <adrien.grassein@gmail.com>
Subject: [PATCH v1 1/2] dt-bindings: power: Add documentation for imx8m power domain driver
Date: Fri,  2 Apr 2021 18:45:05 +0200	[thread overview]
Message-ID: <20210402164506.520121-2-adrien.grassein@gmail.com> (raw)
In-Reply-To: <20210402164506.520121-1-adrien.grassein@gmail.com>

Add documentation for the imx8m(m|n|p) power domain driver.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
 .../bindings/power/fsl,imx-power-domain.yaml  | 89 +++++++++++++++++++
 MAINTAINERS                                   |  8 ++
 include/dt-bindings/power/imx8mm-power.h      | 21 +++++
 include/dt-bindings/power/imx8mn-power.h      | 15 ++++
 include/dt-bindings/power/imx8mp-power.h      | 28 ++++++
 5 files changed, 161 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
 create mode 100644 include/dt-bindings/power/imx8mm-power.h
 create mode 100644 include/dt-bindings/power/imx8mn-power.h
 create mode 100644 include/dt-bindings/power/imx8mp-power.h

diff --git a/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
new file mode 100644
index 000000000000..8b4811aa80eb
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/fsl,imx-power-domain.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX 8mm, 8mn and 8mp Power Domain
+
+maintainers:
+  - Adrien Grassein <adrien.grassein@gmail.com>
+
+description: |+
+  i.MX processors include support for multiple power domains which are used
+  to gate power to one or more peripherals on the processor.
+
+allOf:
+  - $ref: power-domain.yaml#
+
+properties:
+  compatible:
+    enum:
+      - fsl,imx8mm-pm-domain
+      - fsl,imx8mn-pm-domain
+      - fsl,imx8mp-pm-domain
+
+  domain-name:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: |
+      Human readable string with domain name. Will be visible in userspace
+      to let user to distinguish between multiple domains in SoC.
+
+  domain-index:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      Power domain index. Valid values are defined in
+      include/dt-bindings/power/imx8mm-power.h for i.MX 8mm
+      include/dt-bindings/power/imx8mn-power.h for i.MX 8mn
+      include/dt-bindings/power/imx8mp-power.h for i.MX 8mp
+
+    maxItems: 1
+
+  clocks:
+    description: |
+      A number of phandles to clocks that need to be enabled during domain
+      power-up sequencing to ensure reset propagation into devices located
+      inside this power domain.
+    minItems: 1
+    maxItems: 6
+
+  power-supply:
+    description:
+      A phandle to a supply to enable when powering on the domain.
+
+  fsl,active-wakeup:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Instructs genpd to keep the PM domain powered on.
+
+  fsl,rpm-always-on:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Instructs genpd to always keep the PM domain powered on except
+      for system suspend.
+
+  "#power-domain-cells":
+    const: 0
+
+  power-domains:
+    maxItems: 1
+
+required:
+  - compatible
+  - domain-name
+  - domain-index
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/power/imx8mm-power.h>
+    #include <dt-bindings/clock/imx8mm-clock.h>
+
+    hsiomix_pd: power-domain-hsio {
+        compatible = "fsl,imx8mm-pm-domain";
+        domain-index = <IMX8MM_POWER_DOMAIN_HSIOMIX>;
+        #power-domain-cells = <0>;
+        domain-name = "hsiomix";
+        clocks = <&clk IMX8MM_CLK_USB1_CTRL_ROOT>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 38d823d72e52..97536afca0e1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13010,6 +13010,14 @@ L:	linux-imx@nxp.com
 S:	Maintained
 F:	drivers/clk/imx/
 
+NXP i.MX 8M(M|N|P) POWER DOMAIN DRIVER
+M:	Adrien Grassein <adrien.grassein@gmail.com>
+S:	Maintained
+F:	Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
+F:	include/dt-bindings/power/imx8mm-power.h
+F:	include/dt-bindings/power/imx8mn-power.h
+F:	include/dt-bindings/power/imx8mp-power.h
+
 NXP i.MX 8MQ DCSS DRIVER
 M:	Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
 R:	Lucas Stach <l.stach@pengutronix.de>
diff --git a/include/dt-bindings/power/imx8mm-power.h b/include/dt-bindings/power/imx8mm-power.h
new file mode 100644
index 000000000000..bec25fd32394
--- /dev/null
+++ b/include/dt-bindings/power/imx8mm-power.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ *  Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_IMX8MM_POWER_H__
+#define __DT_BINDINGS_IMX8MM_POWER_H__
+
+#define IMX8MM_POWER_DOMAIN_HSIOMIX	0
+#define IMX8MM_POWER_DOMAIN_PCIE1	1
+#define IMX8MM_POWER_DOMAIN_USB_OTG1	2
+#define IMX8MM_POWER_DOMAIN_USB_OTG2	3
+#define IMX8MM_POWER_DOMAIN_GPU		4
+#define IMX8MM_POWER_DOMAIN_VPU		5
+#define IMX8MM_POWER_DOMAIN_VPU_G1	6
+#define IMX8MM_POWER_DOMAIN_VPU_G2	7
+#define IMX8MM_POWER_DOMAIN_VPU_H1	8
+#define IMX8MM_POWER_DOMAIN_DISPLAY	9
+#define IMX8MM_POWER_DOMAIN_MIPI	10
+
+#endif
diff --git a/include/dt-bindings/power/imx8mn-power.h b/include/dt-bindings/power/imx8mn-power.h
new file mode 100644
index 000000000000..dfa0711171cd
--- /dev/null
+++ b/include/dt-bindings/power/imx8mn-power.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ *  Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_IMX8MN_POWER_H__
+#define __DT_BINDINGS_IMX8MN_POWER_H__
+
+#define IMX8MN_POWER_DOMAIN_HSIOMIX	0
+#define IMX8MN_POWER_DOMAIN_USB_OTG1	2
+#define IMX8MN_POWER_DOMAIN_GPU		4
+#define IMX8MN_POWER_DOMAIN_DISPLAY	9
+#define IMX8MN_POWER_DOMAIN_MIPI	10
+
+#endif
diff --git a/include/dt-bindings/power/imx8mp-power.h b/include/dt-bindings/power/imx8mp-power.h
new file mode 100644
index 000000000000..660e6b7d6c69
--- /dev/null
+++ b/include/dt-bindings/power/imx8mp-power.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ *  Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_IMX8MP_POWER_H__
+#define __DT_BINDINGS_IMX8MP_POWER_H__
+
+#define IMX8MP_POWER_DOMAIN_HSIOMIX	0
+#define IMX8MP_POWER_DOMAIN_PCIE1	1
+#define IMX8MP_POWER_DOMAIN_USB_OTG1	2
+#define IMX8MP_POWER_DOMAIN_USB_OTG2	3
+#define IMX8MP_POWER_DOMAIN_MLMIX	4
+#define IMX8MP_POWER_DOMAIN_AUDIOMIX	5
+#define IMX8MP_POWER_DOMAIN_GPU_MIX	6
+#define IMX8MP_POWER_DOMAIN_GPU_2D	7
+#define IMX8MP_POWER_DOMAIN_GPU_3D	8
+#define IMX8MP_POWER_DOMAIN_VPUMIX	9
+#define IMX8MP_POWER_DOMAIN_G1		10
+#define IMX8MP_POWER_DOMAIN_G2		11
+#define IMX8MP_POWER_DOMAIN_H1		12
+#define IMX8MP_POWER_MEDIAMIX		13
+#define IMX8MP_ISP_DWP			14
+#define IMX8MP_MIPI_PHY1		15
+#define IMX8MP_MIPI_PHY2		16
+#define IMX8MP_HDMI_MIX			17
+#define IMX8MP_HDMI_PHY			18
+#endif
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Adrien Grassein <adrien.grassein@gmail.com>
Cc: robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	lgirdwood@gmail.com, broonie@kernel.org, arnd@arndb.de,
	peng.fan@nxp.com, Anson.Huang@nxp.com,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Adrien Grassein <adrien.grassein@gmail.com>
Subject: [PATCH v1 1/2] dt-bindings: power: Add documentation for imx8m power domain driver
Date: Fri,  2 Apr 2021 18:45:05 +0200	[thread overview]
Message-ID: <20210402164506.520121-2-adrien.grassein@gmail.com> (raw)
In-Reply-To: <20210402164506.520121-1-adrien.grassein@gmail.com>

Add documentation for the imx8m(m|n|p) power domain driver.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
---
 .../bindings/power/fsl,imx-power-domain.yaml  | 89 +++++++++++++++++++
 MAINTAINERS                                   |  8 ++
 include/dt-bindings/power/imx8mm-power.h      | 21 +++++
 include/dt-bindings/power/imx8mn-power.h      | 15 ++++
 include/dt-bindings/power/imx8mp-power.h      | 28 ++++++
 5 files changed, 161 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
 create mode 100644 include/dt-bindings/power/imx8mm-power.h
 create mode 100644 include/dt-bindings/power/imx8mn-power.h
 create mode 100644 include/dt-bindings/power/imx8mp-power.h

diff --git a/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
new file mode 100644
index 000000000000..8b4811aa80eb
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/fsl,imx-power-domain.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX 8mm, 8mn and 8mp Power Domain
+
+maintainers:
+  - Adrien Grassein <adrien.grassein@gmail.com>
+
+description: |+
+  i.MX processors include support for multiple power domains which are used
+  to gate power to one or more peripherals on the processor.
+
+allOf:
+  - $ref: power-domain.yaml#
+
+properties:
+  compatible:
+    enum:
+      - fsl,imx8mm-pm-domain
+      - fsl,imx8mn-pm-domain
+      - fsl,imx8mp-pm-domain
+
+  domain-name:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: |
+      Human readable string with domain name. Will be visible in userspace
+      to let user to distinguish between multiple domains in SoC.
+
+  domain-index:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description: |
+      Power domain index. Valid values are defined in
+      include/dt-bindings/power/imx8mm-power.h for i.MX 8mm
+      include/dt-bindings/power/imx8mn-power.h for i.MX 8mn
+      include/dt-bindings/power/imx8mp-power.h for i.MX 8mp
+
+    maxItems: 1
+
+  clocks:
+    description: |
+      A number of phandles to clocks that need to be enabled during domain
+      power-up sequencing to ensure reset propagation into devices located
+      inside this power domain.
+    minItems: 1
+    maxItems: 6
+
+  power-supply:
+    description:
+      A phandle to a supply to enable when powering on the domain.
+
+  fsl,active-wakeup:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Instructs genpd to keep the PM domain powered on.
+
+  fsl,rpm-always-on:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description:
+      Instructs genpd to always keep the PM domain powered on except
+      for system suspend.
+
+  "#power-domain-cells":
+    const: 0
+
+  power-domains:
+    maxItems: 1
+
+required:
+  - compatible
+  - domain-name
+  - domain-index
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/power/imx8mm-power.h>
+    #include <dt-bindings/clock/imx8mm-clock.h>
+
+    hsiomix_pd: power-domain-hsio {
+        compatible = "fsl,imx8mm-pm-domain";
+        domain-index = <IMX8MM_POWER_DOMAIN_HSIOMIX>;
+        #power-domain-cells = <0>;
+        domain-name = "hsiomix";
+        clocks = <&clk IMX8MM_CLK_USB1_CTRL_ROOT>;
+    };
diff --git a/MAINTAINERS b/MAINTAINERS
index 38d823d72e52..97536afca0e1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13010,6 +13010,14 @@ L:	linux-imx@nxp.com
 S:	Maintained
 F:	drivers/clk/imx/
 
+NXP i.MX 8M(M|N|P) POWER DOMAIN DRIVER
+M:	Adrien Grassein <adrien.grassein@gmail.com>
+S:	Maintained
+F:	Documentation/devicetree/bindings/power/fsl,imx-power-domain.yaml
+F:	include/dt-bindings/power/imx8mm-power.h
+F:	include/dt-bindings/power/imx8mn-power.h
+F:	include/dt-bindings/power/imx8mp-power.h
+
 NXP i.MX 8MQ DCSS DRIVER
 M:	Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
 R:	Lucas Stach <l.stach@pengutronix.de>
diff --git a/include/dt-bindings/power/imx8mm-power.h b/include/dt-bindings/power/imx8mm-power.h
new file mode 100644
index 000000000000..bec25fd32394
--- /dev/null
+++ b/include/dt-bindings/power/imx8mm-power.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ *  Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_IMX8MM_POWER_H__
+#define __DT_BINDINGS_IMX8MM_POWER_H__
+
+#define IMX8MM_POWER_DOMAIN_HSIOMIX	0
+#define IMX8MM_POWER_DOMAIN_PCIE1	1
+#define IMX8MM_POWER_DOMAIN_USB_OTG1	2
+#define IMX8MM_POWER_DOMAIN_USB_OTG2	3
+#define IMX8MM_POWER_DOMAIN_GPU		4
+#define IMX8MM_POWER_DOMAIN_VPU		5
+#define IMX8MM_POWER_DOMAIN_VPU_G1	6
+#define IMX8MM_POWER_DOMAIN_VPU_G2	7
+#define IMX8MM_POWER_DOMAIN_VPU_H1	8
+#define IMX8MM_POWER_DOMAIN_DISPLAY	9
+#define IMX8MM_POWER_DOMAIN_MIPI	10
+
+#endif
diff --git a/include/dt-bindings/power/imx8mn-power.h b/include/dt-bindings/power/imx8mn-power.h
new file mode 100644
index 000000000000..dfa0711171cd
--- /dev/null
+++ b/include/dt-bindings/power/imx8mn-power.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ *  Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_IMX8MN_POWER_H__
+#define __DT_BINDINGS_IMX8MN_POWER_H__
+
+#define IMX8MN_POWER_DOMAIN_HSIOMIX	0
+#define IMX8MN_POWER_DOMAIN_USB_OTG1	2
+#define IMX8MN_POWER_DOMAIN_GPU		4
+#define IMX8MN_POWER_DOMAIN_DISPLAY	9
+#define IMX8MN_POWER_DOMAIN_MIPI	10
+
+#endif
diff --git a/include/dt-bindings/power/imx8mp-power.h b/include/dt-bindings/power/imx8mp-power.h
new file mode 100644
index 000000000000..660e6b7d6c69
--- /dev/null
+++ b/include/dt-bindings/power/imx8mp-power.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
+/*
+ *  Copyright (C) 2021 Adrien Grassein <adrien.grassein@gmail.com>
+ */
+
+#ifndef __DT_BINDINGS_IMX8MP_POWER_H__
+#define __DT_BINDINGS_IMX8MP_POWER_H__
+
+#define IMX8MP_POWER_DOMAIN_HSIOMIX	0
+#define IMX8MP_POWER_DOMAIN_PCIE1	1
+#define IMX8MP_POWER_DOMAIN_USB_OTG1	2
+#define IMX8MP_POWER_DOMAIN_USB_OTG2	3
+#define IMX8MP_POWER_DOMAIN_MLMIX	4
+#define IMX8MP_POWER_DOMAIN_AUDIOMIX	5
+#define IMX8MP_POWER_DOMAIN_GPU_MIX	6
+#define IMX8MP_POWER_DOMAIN_GPU_2D	7
+#define IMX8MP_POWER_DOMAIN_GPU_3D	8
+#define IMX8MP_POWER_DOMAIN_VPUMIX	9
+#define IMX8MP_POWER_DOMAIN_G1		10
+#define IMX8MP_POWER_DOMAIN_G2		11
+#define IMX8MP_POWER_DOMAIN_H1		12
+#define IMX8MP_POWER_MEDIAMIX		13
+#define IMX8MP_ISP_DWP			14
+#define IMX8MP_MIPI_PHY1		15
+#define IMX8MP_MIPI_PHY2		16
+#define IMX8MP_HDMI_MIX			17
+#define IMX8MP_HDMI_PHY			18
+#endif
-- 
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-04-02 16:45 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-02 16:45 [PATCH v1 0/2] Add imx8m power domain driver Adrien Grassein
2021-04-02 16:45 ` Adrien Grassein
2021-04-02 16:45 ` Adrien Grassein [this message]
2021-04-02 16:45   ` [PATCH v1 1/2] dt-bindings: power: Add documentation for " Adrien Grassein
2021-04-02 16:45 ` [PATCH v1 2/2] soc: imx: add Power Domain driver for i.MX8M(M|N|P) Adrien Grassein
2021-04-02 16:45   ` Adrien Grassein
2021-04-02 21:26   ` kernel test robot
2021-04-02 17:42 ` [PATCH v1 0/2] Add imx8m power domain driver Abel Vesa
2021-04-02 17:42   ` Abel Vesa
2021-04-02 17:48   ` Adrien Grassein
2021-04-02 17:48     ` Adrien Grassein
2021-04-02 17:58     ` Abel Vesa
2021-04-02 17:58       ` Abel Vesa
2021-04-02 18:11       ` Adrien Grassein
2021-04-02 18:11         ` Adrien Grassein
2021-04-02 22:09         ` Adam Ford
2021-04-02 22:09           ` Adam Ford
2021-04-02 22:26           ` Adrien Grassein
2021-04-02 22:26             ` Adrien Grassein

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=20210402164506.520121-2-adrien.grassein@gmail.com \
    --to=adrien.grassein@gmail.com \
    --cc=Anson.Huang@nxp.com \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peng.fan@nxp.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.