From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: krzk@kernel.org
Cc: kgene@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com,
cw00.choi@samsung.com, myungjoo.ham@samsung.com,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
pankaj.dubey@samsung.com, b.zolnierkie@samsung.com,
m.szyprowski@samsung.com,
Sylwester Nawrocki <s.nawrocki@samsung.com>
Subject: [PATCH RFC 3/8] dt-bindings: exynos: Add ASV tables binding documentation
Date: Thu, 04 Apr 2019 19:17:30 +0200 [thread overview]
Message-ID: <20190404171735.12815-4-s.nawrocki@samsung.com> (raw)
In-Reply-To: <20190404171735.12815-1-s.nawrocki@samsung.com>
This patch adds documentation of the Exynos ASV (Adaptive Voltage Supply)
tables DT binding.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
---
.../devicetree/bindings/arm/samsung/asv.txt | 76 +++++++++++++++++++
1 file changed, 76 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/samsung/asv.txt
diff --git a/Documentation/devicetree/bindings/arm/samsung/asv.txt b/Documentation/devicetree/bindings/arm/samsung/asv.txt
new file mode 100644
index 000000000000..0db907263a91
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/samsung/asv.txt
@@ -0,0 +1,76 @@
+Exynos Adaptive Supply Voltage (ASV) tables
+-------------------------------------------
+
+The Adaptive Supply Voltage (ASV) on Exynos SoCs is a technique of adjusting
+operating points, i.e. the power supply voltage for given clock frequency,
+in order to better match actual capabilities of the hardware and optimize power
+consumption. This applies to subsystem of the SoC like: CPU clusters, GPU,
+the memory controller or camera ISP. During production process the SoC chip
+is assigned to one of several bins (ASV groups) and the group information
+is encoded in the SoC CHIPID block registers and/or OTP memory. This information
+is then used by the OS to select more finely matching operating points for
+devices.
+
+This binding describes data used to create actual operating points for the
+subsystems. The data is in form of two-dimensional arrays of M x N cells,
+where the first column contains frequency values and subsequent columns
+associated with ASV groups contain corresponding voltage values.
+
+ frequency group0 group1 ... group(N-1)
+ 0 1 2 ... N-1
+0 <f0 V00 V01 ... V0n>,
+1 <f1 V10 V11 ... V1n>,
+... < ... >,
+M-1 <fm Vm0 Vm1 ... Vmn>,
+
+In simplest form the actual operating points set may be created by selecting
+whole column for the voltage values, however also parts of multiple columns may
+be combined by the OS to create series of voltage values corresponding to
+frequencies in column 0.
+
+The ASV tables are defined as sub-nodes of parent node containing all tables.
+
+* Main node
+
+Required properties:
+ - compatible : should at least contain "samsung,exynos-asv-v1".
+
+* Table node
+
+Required properties:
+ - samsung,asv-table-size : specifies dimension of the table, the first cell is
+ total number of rows (M), the second cell is total number of columns (N),
+ - samsung,asv-table-id : ID of the table, lower 8-bits is an index (revision)
+ of the table, remaining bits (31...8) specify a subsystem the table applies
+ to: 0 - ARM/Eagle (big) CPU cluster, 1 - KFC (little) CPU cluster,
+ - samsung,asv-data : the ASV table data as described earlier in this document.
+ First cell is frequency value, then N-1 voltage values. Such sequence
+ is repeated M times.
+
+Optional properties:
+ - samsung,asv-common-data : a list of frequency, voltage pairs used to describe
+ operating points where voltage is same for all N-1 ASV groups. This allows
+ to avoid data duplication is the "samsung,asv-data" property.
+
+Example:
+
+&chipid {
+ asv {
+ compatible = "samsung,exynos-asv-v1";
+ asv-table-0 {
+ samsung,asv-table-size = <8 6>;
+ samsung,asv-table-id = <0x0>;
+ samsung,asv-data =
+ /* ASV0 ASV1 ASV2 ASV3 ASV4 */
+ <1700 1187500 1175000 1162500 1150000 1137500 >,
+ <1500 1125000 1112500 1100000 1087500 1075000 >,
+ <1300 1075000 1062500 1050000 1037500 1025000 >,
+ <1000 987500 975000 962500 950000 937500 >,
+ < 900 950000 937500 925000 925000 925000 >,
+ < 700 925000 912500 912500 912500 912500 >;
+ /* ASV0...15 */
+ samsung,asv-common-data = <600 900000>,
+ <500 900000>;
+ };
+ };
+};
--
2.17.1
next prev parent reply other threads:[~2019-04-04 17:22 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20190404172220epcas1p3a6a8d843780321c4914a63d589c56b33@epcas1p3.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 0/8] Exynos Adaptive Supply Voltage support Sylwester Nawrocki
[not found] ` <CGME20190404172224epcas2p21b449c0ae8e36f7e800ae67c18db35a2@epcas2p2.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 1/8] soc: samsung: Add exynos chipid driver support Sylwester Nawrocki
2019-04-05 6:53 ` Krzysztof Kozlowski
2019-04-05 8:49 ` Sylwester Nawrocki
[not found] ` <CGME20190404172229epcas2p25a819e37035b26ccf53613e880bdcacf@epcas2p2.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 2/8] soc: samsung: Exynos chipid driver update Sylwester Nawrocki
2019-04-05 9:22 ` Krzysztof Kozlowski
2019-04-05 10:04 ` Sylwester Nawrocki
[not found] ` <CGME20190404172234epcas1p37667ec0996000aff9297f13639908dfc@epcas1p3.samsung.com>
2019-04-04 17:17 ` Sylwester Nawrocki [this message]
2019-04-29 17:23 ` [PATCH RFC 3/8] dt-bindings: exynos: Add ASV tables binding documentation Rob Herring
2019-07-18 14:02 ` Sylwester Nawrocki
[not found] ` <CGME20190404172238epcas2p21ef28f46b728127dcd6e8ee72752a1b8@epcas2p2.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 4/8] soc: samsung: Add Exynos Adaptive Supply Voltage driver Sylwester Nawrocki
2019-04-05 10:24 ` Krzysztof Kozlowski
2019-04-09 17:40 ` Sylwester Nawrocki
2019-04-23 10:50 ` Krzysztof Kozlowski
2019-04-24 8:11 ` Sylwester Nawrocki
2019-04-24 8:20 ` Krzysztof Kozlowski
[not found] ` <CGME20190404172243epcas1p39af2498a51772ee4ab2a31f26e469c5b@epcas1p3.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 5/8] ARM: EXYNOS: enable exynos_chipid for ARCH_EXYNOS Sylwester Nawrocki
[not found] ` <CGME20190404172247epcas2p2d24f19f76db3cee177bd5b9df783eb3b@epcas2p2.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 6/8] ARM64: " Sylwester Nawrocki
[not found] ` <CGME20190404172252epcas2p284b7e2e9e7102f6f95c982d547ed9d64@epcas2p2.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 7/8] ARM: EXYNOS: Enable exynos-asv driver " Sylwester Nawrocki
[not found] ` <CGME20190404172257epcas1p20d789242a2353dc8e9ffd7f435dc5eee@epcas1p2.samsung.com>
2019-04-04 17:17 ` [PATCH RFC 8/8] ARM: dts: exynos: Add ASV tables for exynos5422/5800 Sylwester Nawrocki
2019-04-11 7:39 ` Anand Moon
2019-04-11 8:50 ` Willy Wolff
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=20190404171735.12815-4-s.nawrocki@samsung.com \
--to=s.nawrocki@samsung.com \
--cc=b.zolnierkie@samsung.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=kgene@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=myungjoo.ham@samsung.com \
--cc=pankaj.dubey@samsung.com \
--cc=robh+dt@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).