Re: [Patch v15 4/5] dt-bindings: arm-smmu: Add bindings for qcom, smmu-v2
From: Rob Herring <hidden>
Date: 2018-08-30 00:43:45
Also in:
linux-arm-msm, linux-iommu, linux-pm, lkml
On Wed, Aug 29, 2018 at 6:23 AM Vivek Gautam [off-list ref] wrote:
quoted hunk ↗ jump to hunk
On Wed, Aug 29, 2018 at 2:05 PM Vivek Gautam [off-list ref] wrote:quoted
Hi Rob, On 8/29/2018 2:04 AM, Rob Herring wrote:quoted
On Mon, Aug 27, 2018 at 04:25:50PM +0530, Vivek Gautam wrote:quoted
Add bindings doc for Qcom's smmu-v2 implementation. Signed-off-by: Vivek Gautam <redacted> Reviewed-by: Tomasz Figa <tfiga@chromium.org> Tested-by: Srinivas Kandagatla <redacted> --- Changes since v14: - This is a new patch added in v15 after noticing the new checkpatch warning for separate dt-bindings doc. - This patch also addresses comments given by Rob and Robin to add a list of valid values of '<soc>' in "qcom,<soc>-smmu-v2" compatible string. .../devicetree/bindings/iommu/arm,smmu.txt | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+)diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt index 8a6ffce12af5..52198a539606 100644 --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt@@ -17,10 +17,24 @@ conditions. "arm,mmu-401" "arm,mmu-500" "cavium,smmu-v2" + "qcom,<soc>-smmu-v2", "qcom,smmu-v2"The v2 in the compatible string is kind of redundant unless the SoC has other SMMU types.sdm845 has smmu-v2, and smmu-500 [1].quoted
quoted
depending on the particular implementation and/or the version of the architecture implemented. + A number of Qcom SoCs use qcom,smmu-v2 version of the IP. + "qcom,<soc>-smmu-v2" represents a soc specific compatible + string that should be present along with the "qcom,smmu-v2" + to facilitate SoC specific clocks/power connections and to + address specific bug fixes. + '<soc>' string in "qcom,<soc>-smmu-v2" should be one of the + following: + msm8996 - for msm8996 Qcom SoC. + sdm845 - for sdm845 Qcom Soc.Rather than all this prose, it would be simpler to just add 2 lines with the full compatibles rather than <soc>. The <soc> thing is not going to work when/if we move bindings to json-schema also.then we keep adding "qcom,msm8996-smmu-v2", "qcom,smmu-v2" "qcom,msm8998-smmu-v2", "qcom,smmu-v2" "qcom,sdm845-smmu-v2", "qcom,smmu-v2", and from [1] "qcom,sdm845-smmu-500", "arm,mmu-500", etc. for each SoCs?How about following diff on top of this patch?diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txtb/Documentation/devicetree/bindings/iommu/arm,smmu.txt index 52198a539606..5e6c04876533 100644--- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt@@ -17,23 +17,18 @@ conditions. "arm,mmu-401" "arm,mmu-500" "cavium,smmu-v2" - "qcom,<soc>-smmu-v2", "qcom,smmu-v2" + "qcom,smmu-v2" depending on the particular implementation and/or the version of the architecture implemented. - A number of Qcom SoCs use qcom,smmu-v2 version of the IP. - "qcom,<soc>-smmu-v2" represents a soc specific compatible - string that should be present along with the "qcom,smmu-v2" - to facilitate SoC specific clocks/power connections and to - address specific bug fixes. - '<soc>' string in "qcom,<soc>-smmu-v2" should be one of the - following: - msm8996 - for msm8996 Qcom SoC. - sdm845 - for sdm845 Qcom Soc. - - An example string would be - - "qcom,msm8996-smmu-v2", "qcom,smmu-v2". + Qcom SoCs using qcom,smmu-v2 must have soc specific + compatible string attached to "qcom,smmu-v2" to take care + of SoC specific clocks/power connections and to address + specific bug fixes. + Precisely, it should be one of the following: + "qcom,msm8996-smmu-v2", "qcom,smmu-v2", + "qcom,sdm845-smmu-v2", "qcom,smmu-v2".
We don't need an explanation of why we need specific compatibles in each binding document (though maybe we need a better explanation somewhere). We just need to know what are valid values for compatibles and this includes any combinations. Generally, this is just a list of combinations. The Renesas folks have figured out how to do this and they have lots of SoCs. Yes, it makes for a lot of patches, but they are all mostly 1 liners and are dead simple to review. With QCom, I'm tired of having the same damn discussion with every new binding. Rob _______________________________________________ Freedreno mailing list Freedreno@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/freedreno