From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754519AbcC0Xmu (ORCPT ); Sun, 27 Mar 2016 19:42:50 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:37756 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753140AbcC0XiV (ORCPT ); Sun, 27 Mar 2016 19:38:21 -0400 X-AuditID: cbfee68e-f79d96d0000012b1-c7-56f86ee6e11d 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, m.reichl@fivetechno.de, tjakobi@math.uni-bielefeld.de, inki.dae@samsung.com, 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 v6 02/21] PM / devfreq: exynos: Add documentation for generic exynos bus frequency driver Date: Mon, 28 Mar 2016 08:37:51 +0900 Message-id: <1459121890-4601-3-git-send-email-cw00.choi@samsung.com> X-Mailer: git-send-email 1.8.0 In-reply-to: <1459121890-4601-1-git-send-email-cw00.choi@samsung.com> References: <1459121890-4601-1-git-send-email-cw00.choi@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrHIsWRmVeSWpSXmKPExsWyRsSkQPdZ3o8wgyfTOCyuf3nOajH/yDlW i/43C1ktzr1ayWgx6f4EFovXLwwt+h+/ZrY42/SG3WLT42usFpd3zWGz+Nx7hNFixvl9TBbr Nt5it7h9mdfi5ZEfjBZLr19ksrjduILNYsL0tSwWZ05fYrVo3XuE3aJt9QdWB1GPNfPWMHq0 NPeweVzu62XyuHWn3mPnrLvsHiuXf2Hz2LSqk81j85J6j3/H2D22XG1n8ejbsorR4/MmuQCe KC6blNSczLLUIn27BK6MCe9kCp7IV7zcuYqlgfGtZBcjJ4eEgInE8xMtTBC2mMSFe+vZQGwh gRWMEvOn68DUPJ5zByjOBRRfyihxaG8nlPOFUeJsUw9YB5uAlsT+FzfAbBGBFInHD0+CFTEL HGGWmLrxBtgKYYFsicdTH4HZLAKqEh93fmcEsXkFXCSeLzjADLFOTuLDnkfsIDangKtE89e5 jBAnuUhse7mMHaJmJYfEtSZLiDkCEt8mH2LpYuQAistKbIIZIylxcMUNlgmMwgsYGVYxiqYW JBcUJ6UXGekVJ+YWl+al6yXn525iBEbr6X/P+nYw3jxgfYhRgINRiYf3gPWPMCHWxLLiytxD jKZAGyYyS4km5wNTQl5JvKGxmZGFqYmpsZG5pZmSOG+C1M9gIYH0xJLU7NTUgtSi+KLSnNTi Q4xMHJxSDYy+b+/nzNoR17q7p/fzx21HX6/r2jr7I5/Es9u5fZNs+gWDGEqSs74cSeQ/0n1l 5ifGGe8Sq2dfiDZd/NdJxPG2V9Ux9poGi8Wfu+R4n1Q6bJld/HVKb/ebONX5jPu5P6lIb2w4 GbRrl7/RozufhVaEdx1lebSrquvmYYfuaK7sjqK1x+a9kDRQYinOSDTUYi4qTgQAKu++udEC AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplleLIzCtJLcpLzFFi42I5/e+xgO6zvB9hBufXM1pc//Kc1WL+kXOs Fv1vFrJanHu1ktFi0v0JLBavXxha9D9+zWxxtukNu8Wmx9dYLS7vmsNm8bn3CKPFjPP7mCzW bbzFbnH7Mq/FyyM/GC2WXr/IZHG7cQWbxYTpa1kszpy+xGrRuvcIu0Xb6g+sDqIea+atYfRo ae5h87jc18vkcetOvcfOWXfZPVYu/8LmsWlVJ5vH5iX1Hv+OsXtsudrO4tG3ZRWjx+dNcgE8 UQ2MNhmpiSmpRQqpecn5KZl56bZK3sHxzvGmZgaGuoaWFuZKCnmJuam2Si4+AbpumTlAvyop lCXmlAKFAhKLi5X07TBNCA1x07WAaYzQ9Q0JgusxMkADCWsYMya8kyl4Il/xcucqlgbGt5Jd jJwcEgImEo/n3GGDsMUkLtxbD2RzcQgJLGWUOLS3E8r5wihxtqkHrIpNQEti/4sbYLaIQIrE 44cnwYqYBY4wS0zdeIMJJCEskC3xeOojMJtFQFXi487vjCA2r4CLxPMFB5gh1slJfNjziB3E 5hRwlWj+OhesRgioZtvLZewTGHkXMDKsYpRILUguKE5KzzXKSy3XK07MLS7NS9dLzs/dxAhO Cs+kdzAe3uV+iFGAg1GJhzfD8keYEGtiWXFl7iFGCQ5mJRHeqjSgEG9KYmVValF+fFFpTmrx IUZToMMmMkuJJucDE1ZeSbyhsYmZkaWRuaGFkbG5kjjv4//rwoQE0hNLUrNTUwtSi2D6mDg4 pRoYt/z6MlN43bIDBS+viPt5/vBqk7pdytSVV/vgkuMSzlUuTdqzX3W0zHprFxSi+c84MTLQ Z1LrO3aL/dtXNlkduDvPbJJs1eFT9x+qNJS4b/zk9+dzQeMml2ebr6Vx7orqbpDorBdzPlG0 R1xc0mHf6+qaw2vKk5+ZCDqWqlxeY3LWUaFzU42bEktxRqKhFnNRcSIAtkyroiADAAA= 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 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