From: Florian Fainelli <f.fainelli@gmail.com>
To: linux-arm-kernel@lists.infradead.org
Cc: "Mark Rutland" <mark.rutland@arm.com>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Markus Mayer" <mmayer@broadcom.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"open list:BROADCOM BCM47XX MIPS ARCHITECTURE"
<linux-mips@linux-mips.org>, "Hauke Mehrtens" <hauke@hauke-m.de>,
"Rafał Miłecki" <zajec5@gmail.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"open list" <linux-kernel@vger.kernel.org>,
"Ralf Baechle" <ralf@linux-mips.org>,
"Eric Anholt" <eric@anholt.net>,
linux-pm@vger.kernerl.org, "Rob Herring" <robh+dt@kernel.org>,
"maintainer:BROADCOM BCM7XXX ARM ARCHITECTURE"
<bcm-kernel-feedback-list@broadcom.com>,
"Justin Chen" <justinpopo6@gmail.com>,
"Gregory Fong" <gregory.0xf0@gmail.com>,
"Doug Berger" <opendmb@gmail.com>,
"Brian Norris" <computersforpeace@gmail.com>
Subject: [PATCH v2 3/4] dt-bindings: Document MIPS Broadcom STB power management nodes
Date: Mon, 26 Jun 2017 15:32:45 -0700 [thread overview]
Message-ID: <20170626223248.14199-6-f.fainelli@gmail.com> (raw)
In-Reply-To: <20170626223248.14199-1-f.fainelli@gmail.com>
Document the different nodes required for supporting S2/S3/S5 suspend
states on MIPS-based Broadcom STB SoCs.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
.../devicetree/bindings/mips/brcm/soc.txt | 153 +++++++++++++++++++++
1 file changed, 153 insertions(+)
diff --git a/Documentation/devicetree/bindings/mips/brcm/soc.txt b/Documentation/devicetree/bindings/mips/brcm/soc.txt
index e4e1cd91fb1f..6bfe217668d6 100644
--- a/Documentation/devicetree/bindings/mips/brcm/soc.txt
+++ b/Documentation/devicetree/bindings/mips/brcm/soc.txt
@@ -11,3 +11,156 @@ Required properties:
The experimental -viper variants are for running Linux on the 3384's
BMIPS4355 cable modem CPU instead of the BMIPS5000 application processor.
+
+Power management
+----------------
+
+For power management (particularly, S2/S3/S5 system suspend), the following SoC
+components are needed:
+
+= Always-On control block (AON CTRL)
+
+This hardware provides control registers for the "always-on" (even in low-power
+modes) hardware, such as the Power Management State Machine (PMSM).
+
+Required properties:
+- compatible : should be one of
+ "brcm,bcm7425-aon-ctrl"
+ "brcm,bcm7429-aon-ctrl"
+ "brcm,bcm7435-aon-ctrl" and
+ "brcm,brcmstb-aon-ctrl"
+- reg : the register start and length for the AON CTRL block
+
+Example:
+
+syscon@410000 {
+ compatible = "brcm,bcm7425-aon-ctrl", "brcm,brcmstb-aon-ctrl";
+ reg = <0x410000 0x400>;
+};
+
+= Memory controllers
+
+A Broadcom STB SoC typically has a number of independent memory controllers,
+each of which may have several associated hardware blocks, which are versioned
+independently (control registers, DDR PHYs, etc.). One might consider
+describing these controllers as a parent "memory controllers" block, which
+contains N sub-nodes (one for each controller in the system), each of which is
+associated with a number of hardware register resources (e.g., its PHY.
+
+== MEMC (MEMory Controller)
+
+Represents a single memory controller instance.
+
+Required properties:
+- compatible : should contain "brcm,brcmstb-memc" and "simple-bus"
+- ranges : should contain the child address in the parent address
+ space, must be 0 here, and the register start and length of
+ the entire memory controller (including all sub nodes: DDR PHY,
+ arbiter, etc.)
+- #address-cells : must be 1
+- #size-cells : must be 1
+
+Example:
+
+ memory-controller: memc@0 {
+ compatible = "brcm,brcmstb-memc", "simple-bus";
+ ranges = <0x0 0x0 0xa000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ memc-arb@1000 {
+ ...
+ };
+
+ memc-ddr@2000 {
+ ...
+ };
+
+ ddr-phy@6000 {
+ ...
+ };
+ };
+
+Should contain subnodes for any of the following relevant hardware resources:
+
+== DDR PHY control
+
+Control registers for this memory controller's DDR PHY.
+
+Required properties:
+- compatible : should contain one of these
+ "brcm,brcmstb-ddr-phy-v64.5"
+ "brcm,brcmstb-ddr-phy"
+
+- reg : the DDR PHY register range and length
+
+Example:
+
+ ddr-phy@6000 {
+ compatible = "brcm,brcmstb-ddr-phy-v64.5";
+ reg = <0x6000 0xc8>;
+ };
+
+== DDR memory controller sequencer
+
+Control registers for this memory controller's DDR memory sequencer
+
+Required properties:
+- compatible : should contain one of these
+ "brcm,bcm7425-memc-ddr"
+ "brcm,bcm7429-memc-ddr"
+ "brcm,bcm7435-memc-ddr" and
+ "brcm,brcmstb-memc-ddr"
+
+- reg : the DDR sequencer register range and length
+
+Example:
+
+ memc-ddr@2000 {
+ compatible = "brcm,bcm7425-memc-ddr", "brcm,brcmstb-memc-ddr";
+ reg = <0x2000 0x300>;
+ };
+
+== MEMC Arbiter
+
+The memory controller arbiter is responsible for memory clients allocation
+(bandwidth, priorities etc.) and needs to have its contents restored during
+deep sleep states (S3).
+
+Required properties:
+
+- compatible : should contain one of these
+ "brcm,brcmstb-memc-arb-v10.0.0.0"
+ "brcm,brcmstb-memc-arb"
+
+- reg : the DDR Arbiter register range and length
+
+Example:
+
+ memc-arb@1000 {
+ compatible = "brcm,brcmstb-memc-arb-v10.0.0.0";
+ reg = <0x1000 0x248>;
+ };
+
+== Timers
+
+The Broadcom STB chips contain a timer block with several general purpose
+timers that can be used.
+
+Required properties:
+
+- compatible : should contain one of:
+ "brcm,bcm7425-timers"
+ "brcm,bcm7429-timers"
+ "brcm,bcm7435-timers and
+ "brcm,brcmstb-timers"
+- reg : the timers register range
+- interrupts : the interrupt line for this timer block
+
+Example:
+
+ timers: timers@4067c0 {
+ compatible = "brcm,bcm7425-timers", "brcm,brcmstb-timers";
+ reg = <0x4067c0 0x40>;
+ interrupts = <&periph_intc 19>;
+ };
--
2.9.3
next prev parent reply other threads:[~2017-06-26 22:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-26 22:32 [PATCH v2 0/4] Broadcom STB S2/S3/S5 support for ARM and MIPS Florian Fainelli
2017-06-26 22:32 ` [PATCH v2 1/4] dt-bindings: ARM: brcmstb: Update Broadcom STB Power Management binding Florian Fainelli
[not found] ` <20170626223248.14199-2-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-28 23:23 ` Rob Herring
2017-06-26 22:32 ` [PATCH 1/4] misc: sram: Allow ARM64 to select SRAM_EXEC Florian Fainelli
2017-06-27 17:38 ` Mark Rutland
2017-06-27 18:21 ` Florian Fainelli
[not found] ` <171ae8ff-2af2-65e3-9796-308b21976876-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-28 14:57 ` Mark Rutland
2017-06-26 22:32 ` [PATCH 2/4] misc: sram-exec: Use aligned fncpy instead of memcpy Florian Fainelli
2017-06-26 22:32 ` [PATCH v2 2/4] soc: bcm: brcmstb: Add support for S2/S3/S5 suspend states (ARM) Florian Fainelli
[not found] ` <20170626223248.14199-5-f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-27 18:01 ` Mark Rutland
2017-06-27 18:41 ` Florian Fainelli
2017-06-26 22:32 ` Florian Fainelli [this message]
2017-06-26 22:32 ` [PATCH 3/4] dt-bindings: Document the Broadcom STB wake-up timer node Florian Fainelli
2017-06-26 22:32 ` [PATCH 4/4] rtc: brcmstb-waketimer: Add Broadcom STB wake-timer Florian Fainelli
2017-06-26 22:32 ` [PATCH v2 4/4] soc bcm: brcmstb: Add support for S2/S3/S5 suspend states (MIPS) Florian Fainelli
2017-06-26 22:35 ` [PATCH v2 0/4] Broadcom STB S2/S3/S5 support for ARM and MIPS Florian Fainelli
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=20170626223248.14199-6-f.fainelli@gmail.com \
--to=f.fainelli@gmail.com \
--cc=arnd@arndb.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=eric@anholt.net \
--cc=gregory.0xf0@gmail.com \
--cc=hauke@hauke-m.de \
--cc=justinpopo6@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linux-pm@vger.kernerl.org \
--cc=mark.rutland@arm.com \
--cc=mmayer@broadcom.com \
--cc=opendmb@gmail.com \
--cc=ralf@linux-mips.org \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=zajec5@gmail.com \
/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).