[Intel-gfx] [PATCH v3 12/14] dt-bindings: msm/dp: Add bindings for HDCP registers
Bjorn Andersson
bjorn.andersson at linaro.org
Mon Oct 4 19:58:41 UTC 2021
On Fri 01 Oct 10:11 CDT 2021, Sean Paul wrote:
> From: Sean Paul <seanpaul at chromium.org>
>
> This patch adds the bindings for the MSM DisplayPort HDCP registers
> which are required to write the HDCP key into the display controller as
> well as the registers to enable HDCP authentication/key
> exchange/encryption.
>
> We'll use a new compatible string for this since the fields are optional.
>
I don't think you need a new compatible, in particular since I presume
we should use the hdcp compatible in all platforms? Or is there a reason
for not picking that one?
Instead I suggest that you simply do minItems: 1, maxItems: 3 and detect
which of the two cases you have in the driver.
PS. I hope to get
https://lore.kernel.org/linux-arm-msm/20211001174400.981707-1-bjorn.andersson@linaro.org/
landed before we add these new optional regions...
Regards,
Bjorn
> Cc: Rob Herring <robh at kernel.org>
> Cc: Stephen Boyd <swboyd at chromium.org>
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
> Link: https://patchwork.freedesktop.org/patch/msgid/20210913175747.47456-13-sean@poorly.run #v1
> Link: https://patchwork.freedesktop.org/patch/msgid/20210915203834.1439-13-sean@poorly.run #v2
>
> Changes in v2:
> -Drop register range names (Stephen)
> -Fix yaml errors (Rob)
> Changes in v3:
> -Add new compatible string for dp-hdcp
> -Add descriptions to reg
> -Add minItems/maxItems to reg
> -Make reg depend on the new hdcp compatible string
> ---
>
> Disclaimer: I really don't know if this is the right way to approach
> this. I tried using examples from other bindings, but feedback would be
> very much welcome on how I could add the optional register ranges.
>
>
> .../bindings/display/msm/dp-controller.yaml | 34 ++++++++++++++++---
> 1 file changed, 30 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> index 64d8d9e5e47a..a176f97b2f4c 100644
> --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml
> @@ -17,9 +17,10 @@ properties:
> compatible:
> enum:
> - qcom,sc7180-dp
> + - qcom,sc7180-dp-hdcp
>
> - reg:
> - maxItems: 1
> + # See compatible-specific constraints below.
> + reg: true
>
> interrupts:
> maxItems: 1
> @@ -89,6 +90,29 @@ required:
> - power-domains
> - ports
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,sc7180-dp-hdcp
> + then:
> + properties:
> + reg:
> + minItems: 3
> + maxItems: 3
> + items:
> + - description: Registers for base DP functionality
> + - description: (Optional) Registers for HDCP device key injection
> + - description: (Optional) Registers for HDCP TrustZone interaction
> + else:
> + properties:
> + reg:
> + minItems: 1
> + maxItems: 1
> + items:
> + - description: Registers for base DP functionality
> +
> additionalProperties: false
>
> examples:
> @@ -99,8 +123,10 @@ examples:
> #include <dt-bindings/power/qcom-rpmpd.h>
>
> displayport-controller at ae90000 {
> - compatible = "qcom,sc7180-dp";
> - reg = <0xae90000 0x1400>;
> + compatible = "qcom,sc7180-dp-hdcp";
> + reg = <0 0x0ae90000 0 0x1400>,
> + <0 0x0aed1000 0 0x174>,
> + <0 0x0aee1000 0 0x2c>;
> interrupt-parent = <&mdss>;
> interrupts = <12>;
> clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
> --
> Sean Paul, Software Engineer, Google / Chromium OS
>
More information about the Intel-gfx
mailing list