Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932252AbcCXEZn (ORCPT ); Thu, 24 Mar 2016 00:25:43 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:40785 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750885AbcCXEZg (ORCPT ); Thu, 24 Mar 2016 00:25:36 -0400 X-AuditID: cbfee68e-f793c6d00000136c-4d-56f36c3c60d5 From: Chanwoo Choi To: myungjoo.ham@samsung.com, kyungmin.park@samsung.com, k.kozlowski@samsung.com, kgene@kernel.org Cc: rjw@rjwysocki.net, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, linux.amoon@gmail.com, tjakobi@math.uni-bielefeld.de, cw00.choi@samsung.com, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org Subject: [PATCH v5 02/21] PM / devfreq: exynos: Add documentation for generic exynos bus frequency driver Date: Thu, 24 Mar 2016 13:25:11 +0900 Message-id: <1458793530-31897-3-git-send-email-cw00.choi@samsung.com> X-Mailer: git-send-email 1.8.0 In-reply-to: <1458793530-31897-1-git-send-email-cw00.choi@samsung.com> References: <1458793530-31897-1-git-send-email-cw00.choi@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrAIsWRmVeSWpSXmKPExsWyRsSkWNcm53OYQeMyK4vrX56zWsw/co7V ov/NQlaLc69WMlq8fmFo0f/4NbPF2aY37BabHl9jtbi8aw6bxefeI4wWM87vY7JYt/EWu8Xt y7wWS69fZLK43biCzWLC9LUsFmdOX2K1aN17hN2ibfUHVgdhjzXz1jB6tDT3sHlc7utl8tg5 6y67x8rlX9g8Nq3qZPPYvKTe498xdo8tV9tZPPq2rGL0+LxJLoA7issmJTUnsyy1SN8ugStj wjuZgifyFS93rmJpYHwr2cXIySEhYCJxZmk7O4QtJnHh3nq2LkYuDiGBFYwSLa1XmWGKtt3c zAyRWMoocf7vHFaQhJDAF0aJ1Y/rQWw2AS2J/S9usIHYIgIpEo8fngSbxCwwhVli+fRmFpCE sEC2xIID7xlBbBYBVYlnC/4CTeXg4BVwlbi5qRpimZzEhz2PwC7iFHCTmNrQxAKxy1Xi6eNN rCAzJQTmckhsXTONGWKOgMS3yYdYQOZICMhKbDoAdbSkxMEVN1gmMAovYGRYxSiaWpBcUJyU XmSkV5yYW1yal66XnJ+7iREYkaf/PevbwXjzgPUhRgEORiUe3gaOz2FCrIllxZW5hxhNgTZM ZJYSTc4Hxn1eSbyhsZmRhamJqbGRuaWZkjhvgtTPYCGB9MSS1OzU1ILUovii0pzU4kOMTByc Ug2MVt/Cra6X+eqkbth+eZdLjn53w5S47RZbjf5xfC3zDY/zPHd603K+tSe6HYVb5kqs33ff t/GJjofKnuPrdma7Jayqqm5QDHhceI3rdHzT4Xs60zqOZMVfS/paxdK1jmHlmbuadRksCr/+ vv7pcEjaevWrl/l1WVNrN/oeYM2XVWCzXvnU6Ya5EktxRqKhFnNRcSIA2cmZwcMCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLIsWRmVeSWpSXmKPExsVy+t9jAV2bnM9hBs8uGVtc//Kc1WL+kXOs Fv1vFrJanHu1ktHi9QtDi/7Hr5ktzja9YbfY9Pgaq8XlXXPYLD73HmG0mHF+H5PFuo232C1u X+a1WHr9IpPF7cYVbBYTpq9lsThz+hKrReveI+wWbas/sDoIe6yZt4bRo6W5h83jcl8vk8fO WXfZPVYu/8LmsWlVJ5vH5iX1Hv+OsXtsudrO4tG3ZRWjx+dNcgHcUQ2MNhmpiSmpRQqpecn5 KZl56bZK3sHxzvGmZgaGuoaWFuZKCnmJuam2Si4+AbpumTlA3ykplCXmlAKFAhKLi5X07TBN CA1x07WAaYzQ9Q0JgusxMkADCWsYMya8kyl4Il/xcucqlgbGt5JdjJwcEgImEttubmaGsMUk Ltxbz9bFyMUhJLCUUeL83zmsIAkhgS+MEqsf14PYbAJaEvtf3GADsUUEUiQePzwJ1sAsMIVZ Yvn0ZhaQhLBAtsSCA+8ZQWwWAVWJZwv+Am3g4OAVcJW4uakaYpmcxIc9j9hBbE4BN4mpDU0s ELtcJZ4+3sQ6gZF3ASPDKkaJ1ILkguKk9FyjvNRyveLE3OLSvHS95PzcTYzgqH8mvYPx8C73 Q4wCHIxKPLw3uD6HCbEmlhVX5h5ilOBgVhLhXR8OFOJNSaysSi3Kjy8qzUktPsRoCnTXRGYp 0eR8YELKK4k3NDYxM7I0Mje0MDI2VxLnffx/XZiQQHpiSWp2ampBahFMHxMHp1QDY7CcSWOu SGj/8lPxz8I956VmrWebFLrn5LvVbzgF3pzWW5QhUCj3ft/VrxonFNoZWyVrb4qGhO0QVLB+ pvanXZf14GGRl08+udrtl9jzQM2IY/pz8+DM5UEKgt26bjwsG9hzS/68+9SYxWGgM9GyqGuZ w1/FKTOMmD+0sJ6ME2NldZZoE3JUYinOSDTUYi4qTgQATUvzkxADAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3953 Lines: 113 This patch adds the documentation for generic exynos bus frequency driver. Signed-off-by: Chanwoo Choi Reviewed-by: Krzysztof Kozlowski --- .../devicetree/bindings/devfreq/exynos-bus.txt | 95 ++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Documentation/devicetree/bindings/devfreq/exynos-bus.txt diff --git a/Documentation/devicetree/bindings/devfreq/exynos-bus.txt b/Documentation/devicetree/bindings/devfreq/exynos-bus.txt new file mode 100644 index 000000000000..78171b918e3f --- /dev/null +++ b/Documentation/devicetree/bindings/devfreq/exynos-bus.txt @@ -0,0 +1,95 @@ +* Generic Exynos Bus frequency device + +The Samsung Exynos SoC has many buses for data transfer between DRAM +and sub-blocks in SoC. Most Exynos SoCs share the common architecture +for buses. Generally, each bus of Exynos SoC includes a source clock +and a power line, which are able to change the clock frequency +of the bus in runtime. To monitor the usage of each bus in runtime, +the driver uses the PPMU (Platform Performance Monitoring Unit), which +is able to measure the current load of sub-blocks. + +There are a little different composition among Exynos SoC because each Exynos +SoC has different sub-blocks. Therefore, shch difference should be specified +in devicetree file instead of each device driver. In result, this driver +is able to support the bus frequency for all Exynos SoCs. + +Required properties for bus device: +- compatible: Should be "samsung,exynos-bus". +- clock-names : the name of clock used by the bus, "bus". +- clocks : phandles for clock specified in "clock-names" property. +- operating-points-v2: the OPP table including frequency/voltage information + to support DVFS (Dynamic Voltage/Frequency Scaling) feature. +- vdd-supply: the regulator to provide the buses with the voltage. +- devfreq-events: the devfreq-event device to monitor the current utilization + of buses. + +Optional properties for bus device: +- exynos,saturation-ratio: the percentage value which is used to calibrate + the performance count against total cycle count. +- exynos,voltage-tolerance: the percentage value for bus voltage tolerance + which is used to calculate the max voltage. + +Example1: + Show the AXI buses of Exynos3250 SoC. Exynos3250 divides the buses to + power line (regulator). The MIF (Memory Interface) AXI bus is used to + transfer data between DRAM and CPU and uses the VDD_MIF regualtor. + + - power line(VDD_MIF) --> bus for DMC (Dynamic Memory Controller) block + + - MIF bus's frequency/voltage table + ----------------------- + |Lv| Freq | Voltage | + ----------------------- + |L1| 50000 |800000 | + |L2| 100000 |800000 | + |L3| 134000 |800000 | + |L4| 200000 |825000 | + |L5| 400000 |875000 | + ----------------------- + +Example2 : + The bus of DMC (Dynamic Memory Controller) block in exynos3250.dtsi + is listed below: + + bus_dmc: bus_dmc { + compatible = "samsung,exynos-bus"; + clocks = <&cmu_dmc CLK_DIV_DMC>; + clock-names = "bus"; + operating-points-v2 = <&bus_dmc_opp_table>; + status = "disabled"; + }; + + bus_dmc_opp_table: opp_table1 { + compatible = "operating-points-v2"; + opp-shared; + + opp@50000000 { + opp-hz = /bits/ 64 <50000000>; + opp-microvolt = <800000>; + }; + opp@100000000 { + opp-hz = /bits/ 64 <100000000>; + opp-microvolt = <800000>; + }; + opp@134000000 { + opp-hz = /bits/ 64 <134000000>; + opp-microvolt = <800000>; + }; + opp@200000000 { + opp-hz = /bits/ 64 <200000000>; + opp-microvolt = <825000>; + }; + opp@400000000 { + opp-hz = /bits/ 64 <400000000>; + opp-microvolt = <875000>; + }; + }; + + Usage case to handle the frequency and voltage of bus on runtime + in exynos3250-rinato.dts is listed below: + + &bus_dmc { + devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; + vdd-supply = <&buck1_reg>; /* VDD_MIF */ + status = "okay"; + }; -- 1.9.1