From patchwork Mon Oct 26 21:25:10 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 7492071 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id BF386BEEA4 for ; Mon, 26 Oct 2015 21:27:37 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C2811206B0 for ; Mon, 26 Oct 2015 21:27:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D06A6206AF for ; Mon, 26 Oct 2015 21:27:35 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZqpHO-0005oP-Pd; Mon, 26 Oct 2015 21:26:10 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1ZqpGo-0005aU-HS for linux-arm-kernel@lists.infradead.org; Mon, 26 Oct 2015 21:25:37 +0000 Received: from smtp.codeaurora.org (localhost [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 9FC651405A9; Mon, 26 Oct 2015 21:25:16 +0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 486) id 8D0FE1405AB; Mon, 26 Oct 2015 21:25:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from sboyd-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: sboyd@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id E24D8140594; Mon, 26 Oct 2015 21:25:13 +0000 (UTC) From: Stephen Boyd To: Andy Gross Subject: [PATCH 1/3] devicetree: bindings: Document qcom board compatible format Date: Mon, 26 Oct 2015 14:25:10 -0700 Message-Id: <1445894712-14350-2-git-send-email-sboyd@codeaurora.org> X-Mailer: git-send-email 2.6.2.281.g6766aa3 In-Reply-To: <1445894712-14350-1-git-send-email-sboyd@codeaurora.org> References: <1445894712-14350-1-git-send-email-sboyd@codeaurora.org> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151026_142534_760102_B849FAB7 X-CRM114-Status: GOOD ( 19.90 ) X-Spam-Score: -2.6 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Arnd Bergmann , Kevin Hilman , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Olof Johansson , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Some qcom based bootloaders identify the dtb blob based on a set of device properties like SoC, platform, PMIC, and revisions of those components. In downstream kernels, these values are added to the different component dtsi files (i.e. pmic dtsi file, SoC dtsi file, board dtsi file, etc.) via qcom specific DT properties. The dtb files are parsed by a program called dtbTool that picks out these properties and creates a table of contents binary blob with the property information and some offsets into the concatenation of all the dtbs (termed a QCDT image). The suggestion is to do this via the board compatible string instead, because these qcom specific properties are never used by the kernel. Add a document describing the format of the compatible string that encodes all this information that's currently encoded in the qcom,{msm-id,board-id,pmic-id} properties in downstream devicetrees. Future bootloaders may be updated to look at the compatible field instead of looking for the table of contents image. For non-updateable bootloaders, a new dtbTool program will parse the compatible string and generate a QCDT image from it. Signed-off-by: Stephen Boyd Reviewed-by: Andy Gross --- Documentation/devicetree/bindings/arm/qcom.txt | 86 ++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/qcom.txt diff --git a/Documentation/devicetree/bindings/arm/qcom.txt b/Documentation/devicetree/bindings/arm/qcom.txt new file mode 100644 index 000000000000..ed084367182d --- /dev/null +++ b/Documentation/devicetree/bindings/arm/qcom.txt @@ -0,0 +1,86 @@ +QCOM device tree bindings +------------------------- + +Some qcom based bootloaders identify the dtb blob based on a set of +device properties like SoC, platform, PMIC, and revisions of those components. +To support this scheme, we encode this information into the board compatible +string. + +Each board must specify a top-level board compatible string with the following +format: + + compatible = "qcom,(-)(-)-(/)(-)(-MB)(--panel)(-boot-)(-(-v)){0-4}" + +where elements in parentheses "()" are optional and elements in brackets "<>" +are names of elements. Meaning only the 'SoC' and 'plat_type' elements are +required. + +The 'SoC' element must be one of the following strings: + + apq8016 + apq8074 + apq8084 + apq8096 + msm8916 + msm8974 + msm8996 + +The 'plat_type' element must be one of the following strings: + + cdp + liquid + dragonboard + mtp sbc + + +The 'soc_version', 'plat_version' and 'pmic_version' elements take the form of +v. where the minor number may be omitted when it's zero, i.e. +v1.0 is the same as v1. If all versions of the 'plat_version' element's match, +then a wildcard '*' should be used, e.g. 'v*'. + +The 'foundry_id', 'subtype', and 'mb' elements are one or more digits from 0 +to 9. + +The 'panel' element must be one of the following strings: + + 720p + fWVGA + hd + qHD + +The 'boot' element must be one of the following strings: + + emmc_sdc1 + ufs + +The 'pmic' element must be one of the following strings: + + pm8841 + pm8019 + pm8110 + pma8084 + pmi8962 + pmd9635 + pm8994 + pmi8994 + pm8916 + pm8004 + pm8909 + +The 'pmic' element is specified in order of ascending USID. The PMIC in USID0 +goes first, and then USID2, USID4, and finally USID6. Up to four PMICs may be +specified and no holes in the USID number space are allowed. + +Examples: + + "qcom,msm8916-v1-cdp-pm8916-v2.1" + +A CDP board with an msm8916 SoC, version 1 paired with a pm8916 PMIC of version +2.1. + + "qcom,apq8074-v2.0-2-dragonboard/1-v0.1-512MB-panel-qHD-boot-emmc_sdc1-pm8941-v0.2-pm8909-v2.2-pma8084-v3-pm8110-v1" + +A dragonboard board v0.1 of subtype 1 with an apq8074 SoC version 2, made in +foundry 2 with 512MB of memory and a qHD panel booting from emmc_sdc1, paired +with a pm8941 PMIC version 0.2 at USID0, pm8909 PMIC version 2.2 at USID2, +pma8084 version 3 at USID4 and a pm8110 version 1 at USID6.