diff mbox series

[V2,1/2] dt-bindings: power: document Broadcom's PMB binding

Message ID 20201214180743.14584-2-zajec5@gmail.com
State New
Headers show
Series [V2,1/2] dt-bindings: power: document Broadcom's PMB binding | expand

Commit Message

Rafał Miłecki Dec. 14, 2020, 6:07 p.m. UTC
From: Rafał Miłecki <rafal@milecki.pl>

Broadcom's PMB is power controller used for disabling and enabling SoC
devices.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 .../bindings/power/brcm,bcm-pmb.yaml          | 50 +++++++++++++++++++
 include/dt-bindings/soc/bcm-pmb.h             | 11 ++++
 2 files changed, 61 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml
 create mode 100644 include/dt-bindings/soc/bcm-pmb.h

Comments

Rob Herring (Arm) Dec. 15, 2020, 5:51 p.m. UTC | #1
On Mon, 14 Dec 2020 19:07:42 +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>

> 

> Broadcom's PMB is power controller used for disabling and enabling SoC

> devices.

> 

> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>

> ---

>  .../bindings/power/brcm,bcm-pmb.yaml          | 50 +++++++++++++++++++

>  include/dt-bindings/soc/bcm-pmb.h             | 11 ++++

>  2 files changed, 61 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml

>  create mode 100644 include/dt-bindings/soc/bcm-pmb.h

> 


Reviewed-by: Rob Herring <robh@kernel.org>
Florian Fainelli Dec. 15, 2020, 6:22 p.m. UTC | #2
On 12/14/2020 10:07 AM, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>

> 

> Broadcom's PMB is power controller used for disabling and enabling SoC

> devices.

> 

> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>


Acked-by: Florian Fainelli <f.fainelli@gmail.com>

-- 
Florian
Ulf Hansson Jan. 12, 2021, 1:14 p.m. UTC | #3
On Mon, 14 Dec 2020 at 19:08, Rafał Miłecki <zajec5@gmail.com> wrote:
>

> From: Rafał Miłecki <rafal@milecki.pl>

>

> Broadcom's PMB is power controller used for disabling and enabling SoC

> devices.

>

> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>


Apologize for the delay!

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>


Kind regards
Uffe

> ---

>  .../bindings/power/brcm,bcm-pmb.yaml          | 50 +++++++++++++++++++

>  include/dt-bindings/soc/bcm-pmb.h             | 11 ++++

>  2 files changed, 61 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml

>  create mode 100644 include/dt-bindings/soc/bcm-pmb.h

>

> diff --git a/Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml b/Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml

> new file mode 100644

> index 000000000000..40b08d83c80b

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml

> @@ -0,0 +1,50 @@

> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/power/brcm,bcm-pmb.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Broadcom PMB (Power Management Bus) controller

> +

> +description: This document describes Broadcom's PMB controller. It supports

> +  powering various types of connected devices (e.g. PCIe, USB, SATA).

> +

> +maintainers:

> +  - Rafał Miłecki <rafal@milecki.pl>

> +

> +properties:

> +  compatible:

> +    enum:

> +      - brcm,bcm4908-pmb

> +

> +  reg:

> +    description: register space of one or more buses

> +    maxItems: 1

> +

> +  big-endian:

> +    $ref: /schemas/types.yaml#/definitions/flag

> +    description: Flag to use for block working in big endian mode.

> +

> +  "#power-domain-cells":

> +    description: cell specifies device ID (see bcm-pmb.h)

> +    const: 1

> +

> +required:

> +  - reg

> +  - "#power-domain-cells"

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    #include <dt-bindings/soc/bcm-pmb.h>

> +

> +    pmb: power-controller@802800e0 {

> +        compatible = "brcm,bcm4908-pmb";

> +        reg = <0x802800e0 0x40>;

> +        #power-domain-cells = <1>;

> +    };

> +

> +    foo {

> +        power-domains = <&pmb BCM_PMB_PCIE0>;

> +    };

> diff --git a/include/dt-bindings/soc/bcm-pmb.h b/include/dt-bindings/soc/bcm-pmb.h

> new file mode 100644

> index 000000000000..744dc3af4d41

> --- /dev/null

> +++ b/include/dt-bindings/soc/bcm-pmb.h

> @@ -0,0 +1,11 @@

> +/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT */

> +

> +#ifndef __DT_BINDINGS_SOC_BCM_PMB_H

> +#define __DT_BINDINGS_SOC_BCM_PMB_H

> +

> +#define BCM_PMB_PCIE0                          0x01

> +#define BCM_PMB_PCIE1                          0x02

> +#define BCM_PMB_PCIE2                          0x03

> +#define BCM_PMB_HOST_USB                       0x04

> +

> +#endif

> --

> 2.26.2

>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml b/Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml
new file mode 100644
index 000000000000..40b08d83c80b
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml
@@ -0,0 +1,50 @@ 
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/power/brcm,bcm-pmb.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom PMB (Power Management Bus) controller
+
+description: This document describes Broadcom's PMB controller. It supports
+  powering various types of connected devices (e.g. PCIe, USB, SATA).
+
+maintainers:
+  - Rafał Miłecki <rafal@milecki.pl>
+
+properties:
+  compatible:
+    enum:
+      - brcm,bcm4908-pmb
+
+  reg:
+    description: register space of one or more buses
+    maxItems: 1
+
+  big-endian:
+    $ref: /schemas/types.yaml#/definitions/flag
+    description: Flag to use for block working in big endian mode.
+
+  "#power-domain-cells":
+    description: cell specifies device ID (see bcm-pmb.h)
+    const: 1
+
+required:
+  - reg
+  - "#power-domain-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/soc/bcm-pmb.h>
+
+    pmb: power-controller@802800e0 {
+        compatible = "brcm,bcm4908-pmb";
+        reg = <0x802800e0 0x40>;
+        #power-domain-cells = <1>;
+    };
+
+    foo {
+        power-domains = <&pmb BCM_PMB_PCIE0>;
+    };
diff --git a/include/dt-bindings/soc/bcm-pmb.h b/include/dt-bindings/soc/bcm-pmb.h
new file mode 100644
index 000000000000..744dc3af4d41
--- /dev/null
+++ b/include/dt-bindings/soc/bcm-pmb.h
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: GPL-2.0-or-later OR MIT */
+
+#ifndef __DT_BINDINGS_SOC_BCM_PMB_H
+#define __DT_BINDINGS_SOC_BCM_PMB_H
+
+#define BCM_PMB_PCIE0				0x01
+#define BCM_PMB_PCIE1				0x02
+#define BCM_PMB_PCIE2				0x03
+#define BCM_PMB_HOST_USB			0x04
+
+#endif