From: Jan Kiszka <jan.kiszka@siemens.com>
The PVU allows to define a limited set of mappings for incoming DMA
requests to the system memory. It is not a real IOMMU, thus hooked up
under the TI SoC bindings.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
.../bindings/soc/ti/ti,am654-pvu.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
new file mode 100644
index 000000000000..fd0f86fa27b0
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) Siemens AG, 2024
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/ti/ti,am654-pvu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM654 Peripheral Virtualization Unit
+
+maintainers:
+ - Jan Kiszka <jan.kiszka@siemens.com>
+
+properties:
+ compatible:
+ enum:
+ - ti,am654-pvu
+
+ reg:
+ minItems: 2
+
+ reg-names:
+ items:
+ - const: cfg
+ - const: tlbif
+
+ interrupts:
+ items:
+ - description: fault interrupt
+
+ interrupt-names:
+ items:
+ - const: pvu
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+
+additionalProperties: false
+
+examples:
+ - |
+ ti-pvu@30f80000 {
+ compatible = "ti,am654-pvu";
+ reg = <0x30f80000 0x1000>,
+ <0x36000000 0x100000>;
+ reg-names = "cfg", "tlbif";
+ interrupts-extended = <&intr_main_navss 390>;
+ interrupt-names = "pvu";
+ };
--
2.43.0
On Mon, Aug 26, 2024 at 11:50:02PM +0200, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
>
> The PVU allows to define a limited set of mappings for incoming DMA
> requests to the system memory. It is not a real IOMMU, thus hooked up
> under the TI SoC bindings.
You still keep developing it on wrong, old kernel (or not using
get_maintainers.pl, but this one seems too obvious so I assumed wrong
kernel).
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
> .../bindings/soc/ti/ti,am654-pvu.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
>
> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
> new file mode 100644
> index 000000000000..fd0f86fa27b0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
> @@ -0,0 +1,51 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright (c) Siemens AG, 2024
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/soc/ti/ti,am654-pvu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI AM654 Peripheral Virtualization Unit
> +
> +maintainers:
> + - Jan Kiszka <jan.kiszka@siemens.com>
> +
> +properties:
> + compatible:
> + enum:
> + - ti,am654-pvu
> +
> + reg:
> + minItems: 2
maxItems instead.
> +
> + reg-names:
> + items:
> + - const: cfg
> + - const: tlbif
> +
> + interrupts:
> + items:
> + - description: fault interrupt
> +
> + interrupt-names:
> + items:
> + - const: pvu
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - interrupt-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + ti-pvu@30f80000 {
Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
for sure "ti" is not generic. pvu is the device name.
Best regards,
Krzysztof
On 27.08.24 08:36, Krzysztof Kozlowski wrote:
> On Mon, Aug 26, 2024 at 11:50:02PM +0200, Jan Kiszka wrote:
>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>
>> The PVU allows to define a limited set of mappings for incoming DMA
>> requests to the system memory. It is not a real IOMMU, thus hooked up
>> under the TI SoC bindings.
>
> You still keep developing it on wrong, old kernel (or not using
> get_maintainers.pl, but this one seems too obvious so I assumed wrong
> kernel).
Explained elsewhere, will update the two subtly changed addresses in the
next round.
>
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>> .../bindings/soc/ti/ti,am654-pvu.yaml | 51 +++++++++++++++++++
>> 1 file changed, 51 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml b/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
>> new file mode 100644
>> index 000000000000..fd0f86fa27b0
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/ti/ti,am654-pvu.yaml
>> @@ -0,0 +1,51 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +# Copyright (c) Siemens AG, 2024
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/soc/ti/ti,am654-pvu.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: TI AM654 Peripheral Virtualization Unit
>> +
>> +maintainers:
>> + - Jan Kiszka <jan.kiszka@siemens.com>
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - ti,am654-pvu
>> +
>> + reg:
>> + minItems: 2
>
> maxItems instead.
Can change, but maybe use the chance to explain to me why "maxItems" and
why also "instead".
>
>> +
>> + reg-names:
>> + items:
>> + - const: cfg
>> + - const: tlbif
>> +
>> + interrupts:
>> + items:
>> + - description: fault interrupt
>> +
>> + interrupt-names:
>> + items:
>> + - const: pvu
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - interrupt-names
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + ti-pvu@30f80000 {
>
> Node names should be generic. See also an explanation and list of
> examples (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>
> for sure "ti" is not generic. pvu is the device name.
No problem - which one do you propose for this type of device?
Thanks,
Jan
--
Siemens AG, Technology
Linux Expert Center
On 27/08/2024 11:29, Jan Kiszka wrote:
>>> + reg:
>>> + minItems: 2
>>
>> maxItems instead.
>
> Can change, but maybe use the chance to explain to me why "maxItems" and
> why also "instead".
because minItems is not constrained. maxItem is and, in case of lack of
minItems, it implies minItems.
>
>>
>>> +
>>> + reg-names:
>>> + items:
>>> + - const: cfg
>>> + - const: tlbif
>>> +
>>> + interrupts:
>>> + items:
>>> + - description: fault interrupt
>>> +
>>> + interrupt-names:
>>> + items:
>>> + - const: pvu
>>> +
>>> +required:
>>> + - compatible
>>> + - reg
>>> + - interrupts
>>> + - interrupt-names
>>> +
>>> +additionalProperties: false
>>> +
>>> +examples:
>>> + - |
>>> + ti-pvu@30f80000 {
>>
>> Node names should be generic. See also an explanation and list of
>> examples (not exhaustive) in DT specification:
>> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>>
>> for sure "ti" is not generic. pvu is the device name.
>
> No problem - which one do you propose for this type of device?
iommu, but if this is not suitable, at pvu could stay. Just the first
'ti-' does not sound right in that case.
Best regards,
Krzysztof
© 2016 - 2025 Red Hat, Inc.