Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752050AbcDWQ5P (ORCPT ); Sat, 23 Apr 2016 12:57:15 -0400 Received: from mail.kernel.org ([198.145.29.136]:36074 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751850AbcDWQ5N (ORCPT ); Sat, 23 Apr 2016 12:57:13 -0400 MIME-Version: 1.0 In-Reply-To: <1461363432-5730-2-git-send-email-andy.gross@linaro.org> References: <1461363432-5730-1-git-send-email-andy.gross@linaro.org> <1461363432-5730-2-git-send-email-andy.gross@linaro.org> From: Rob Herring Date: Sat, 23 Apr 2016 11:56:50 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 1/8] dt/bindings: firmware: Add Qualcomm SCM binding To: Andy Gross Cc: linux-arm-msm , "devicetree@vger.kernel.org" , Stephen Boyd , "linux-kernel@vger.kernel.org" , Bjorn Andersson , jilai wang , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2198 Lines: 53 On Fri, Apr 22, 2016 at 5:17 PM, Andy Gross wrote: > This patch adds the device tree support for the Qualcomm SCM firmware. > > Signed-off-by: Andy Gross > --- > .../devicetree/bindings/firmware/qcom,scm.txt | 31 ++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > create mode 100644 Documentation/devicetree/bindings/firmware/qcom,scm.txt > > diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt > new file mode 100644 > index 0000000..57b9b3a > --- /dev/null > +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt > @@ -0,0 +1,31 @@ > +QCOM Secure Channel Manager (SCM) > + > +Qualcomm processors include an interface to communicate to the secure firmware. > +This interface allows for clients to request different types of actions. These > +can include CPU power up/down, HDCP requests, loading of firmware, and other > +assorted actions. > + > +Required properties: > +- compatible: must contain one of the following: > + * "qcom,scm-apq8064" for APQ8064 > + * "qcom,scm-apq8084" for MSM8084 > + * "qcom,scm-msm8916" for MSM8916 > + * "qcom,scm-msm8974" for MSM8974 > +- clocks: One to three clocks may be required based on compatible. > + * Only core clock required for "qcom,scm-apq8064" > + * Core, iface, and bus clocks required for all other compatibles. > +- clock-names: Must contain "core" for the core clock, "iface" for the interface > + clock and "bus" for the bus clock per the requirements of the compatible. > + > +Example for MSM8916: > + > + firmware { > + compatible = "simple-bus"; Firmware is a bus? Really? Let's not put hacks in the DT just so you get automatic probing. > + > + scm { > + compatible = "qcom,scm-msm8916"; > + clocks = <&gcc GCC_CRYPTO_CLK> , <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>; > + clock-names = "core", "bus", "iface"; Generally, /firmware defines an interface to firmware. I don't think clocks belong here. This implies that non-secure world can turn off clocks to secure world? Rob