[PATCH 05/11] dt-bindings: document the Qualcomm TEE Shared Memory Bridge

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Wed Aug 30 07:58:23 PDT 2023


On 30/08/2023 16:39, Bartosz Golaszewski wrote:
> On Wed, 30 Aug 2023 at 16:31, Krzysztof Kozlowski
> <krzysztof.kozlowski at linaro.org> wrote:
>>
>> On 30/08/2023 15:48, Bartosz Golaszewski wrote:
>>> On Tue, 29 Aug 2023 at 11:30, Konrad Dybcio <konrad.dybcio at linaro.org> wrote:
>>>>
>>>> On 29.08.2023 10:02, Krzysztof Kozlowski wrote:
>>>>> On 28/08/2023 21:25, Bartosz Golaszewski wrote:
>>>>>> Add Device Tree bindings for Qualcomm TEE Shared Memory Brige - a
>>>>>> mechanism that allows sharing memory buffers between trustzone and the
>>>>>> kernel.
>>>>>
>>>>> Subject prefix:
>>>>> dt-bindings: firmware:
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski at linaro.org>
>>>>>> ---
>>>>>>  .../bindings/firmware/qcom,shm-bridge.yaml    | 36 +++++++++++++++++++
>>>>>>  1 file changed, 36 insertions(+)
>>>>>>  create mode 100644 Documentation/devicetree/bindings/firmware/qcom,shm-bridge.yaml
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/firmware/qcom,shm-bridge.yaml b/Documentation/devicetree/bindings/firmware/qcom,shm-bridge.yaml
>>>>>> new file mode 100644
>>>>>> index 000000000000..f660962b7b86
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/devicetree/bindings/firmware/qcom,shm-bridge.yaml
>>>>>> @@ -0,0 +1,36 @@
>>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>>>> +%YAML 1.2
>>>>>> +---
>>>>>> +$id: http://devicetree.org/schemas/firmware/qcom,shm-bridge.yaml#
>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>>> +
>>>>>> +title: QCOM Shared Memory Bridge
>>>>>> +
>>>>>> +description: |
>>>>>
>>>>> Do not need '|' unless you need to preserve formatting.
>>>>>
>>>>>> +  Qualcomm TEE Shared Memory Bridge allows sharing limited areas of kernel's
>>>>>> +  virtual memory with the trustzone in order to avoid mapping the entire RAM.
>>>>>> +
>>>>>> +maintainers:
>>>>>> +  - Bjorn Andersson <andersson at kernel.org>
>>>>>> +  - Konrad Dybcio <konrad.dybcio at linaro.org>
>>>>>> +  - Bartosz Golaszewski <bartosz.golaszewski at linaro.org>
>>>>>> +
>>>>>> +properties:
>>>>>> +  compatible:
>>>>>> +    items:
>>>>>> +      - enum:
>>>>>> +          - qcom,shm-bridge-sa8775p
>>>>>> +          - qcom,shm-bridge-sm8150
>>>>>> +          - qcom,shm-bridge-sm8450
>>>>>> +      - const: qcom,shm-bridge
>>>>>> +
>>>>>
>>>>> Looks quite empty... Why this cannot be part of qcom,scm? IOW, why do
>>>>> you need new binding if you do not have any resources here and the block
>>>>> is essentially feature of qcom,scm firmware?
>>>> Since it's "discoverable" (via retval of an scm call), I'd second the
>>>> idea of probing this from within the SCM driver.
>>>>
>>>> Konrad
>>>
>>> Downstream has a bunch of DT switches that we don't support for now
>>> upstream. I disagree about shoehorning this into the SCM driver. It
>>> really is a layer on top of SCM but also SCM is a user of this
>>> interface.
>>
>> Sure, for the driver makes sense, but it does not really explain why DT
>> node is needed. It is not separate hardware. I doubt it is even separate
>> firmware, but part of SCM.
>>
>> Best regards,
>> Krzysztof
>>
> 
> Because not all platforms support it and it's the simplest way of

Platforms like SoCs or boards?

> marking the ones that do. Both SHM and SCM nodes sit on the firmware
> node anyway. What do you recommend? A property of the SCM node? Like
> 'qcom,shm-bridge` or something?

If the first - you talk about SoCs - then you have everything needed
already: SCM compatibles. This defines it fully.

If it varies by boards with one SoC, would be different case, but I
really doubt it.

Best regards,
Krzysztof




More information about the linux-arm-kernel mailing list