diff mbox series

[RFC,1/2] dt-bindings: iommu: add bindings for sprd iommu

Message ID 20201223111633.1711477-1-zhang.lyra@gmail.com
State Superseded
Headers show
Series [RFC,1/2] dt-bindings: iommu: add bindings for sprd iommu | expand

Commit Message

Chunyan Zhang Dec. 23, 2020, 11:16 a.m. UTC
From: Chunyan Zhang <chunyan.zhang@unisoc.com>

This patch only adds bindings to support display iommu, support for others
would be added once finished tests with those devices, such as Image
codec(jpeg) processor, a few signal processors, including VSP(video),
GSP(graphic), ISP(image), and camera CPP, etc.

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
---
 .../devicetree/bindings/iommu/sprd,iommu.yaml | 44 +++++++++++++++++++
 1 file changed, 44 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

Comments

Rob Herring (Arm) Jan. 8, 2021, 2:25 a.m. UTC | #1
On Wed, Dec 23, 2020 at 07:16:32PM +0800, Chunyan Zhang wrote:
> From: Chunyan Zhang <chunyan.zhang@unisoc.com>

> 

> This patch only adds bindings to support display iommu, support for others

> would be added once finished tests with those devices, such as Image

> codec(jpeg) processor, a few signal processors, including VSP(video),

> GSP(graphic), ISP(image), and camera CPP, etc.

> 

> Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>

> ---

>  .../devicetree/bindings/iommu/sprd,iommu.yaml | 44 +++++++++++++++++++

>  1 file changed, 44 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> 

> diff --git a/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> new file mode 100644

> index 000000000000..4d9a578a7cc9

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> @@ -0,0 +1,44 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +# Copyright 2020 Unisoc Inc.

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/iommu/sprd,iommu.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Unisoc IOMMU and Multi-media MMU

> +

> +maintainers:

> +  - Chunyan Zhang <zhang.lyra@gmail.com>

> +

> +properties:

> +  compatible:

> +    enum:

> +      - sprd,iommu-disp


Needs to be Soc specific. Is this block specific to display subsys or 
that just happens to be where the instance is?

> +

> +  reg:

> +    maxItems: 1

> +

> +  "#iommu-cells":

> +    const: 0

> +    description:

> +      Unisoc IOMMUs are all single-master IOMMU devices, therefore no

> +      additional information needs to associate with its master device.

> +      Please refer to the generic bindings document for more details,

> +      Documentation/devicetree/bindings/iommu/iommu.txt

> +

> +required:

> +  - compatible

> +  - reg

> +  - "#iommu-cells"

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    iommu_disp: iommu@63000000 {

> +      compatible = "sprd,iommu-disp";

> +      reg = <0x63000000 0x880>;

> +      #iommu-cells = <0>;

> +    };

> +

> +...

> -- 

> 2.25.1

>
Chunyan Zhang Jan. 8, 2021, 11:33 a.m. UTC | #2
On Fri, 8 Jan 2021 at 10:25, Rob Herring <robh@kernel.org> wrote:
>

> On Wed, Dec 23, 2020 at 07:16:32PM +0800, Chunyan Zhang wrote:

> > From: Chunyan Zhang <chunyan.zhang@unisoc.com>

> >

> > This patch only adds bindings to support display iommu, support for others

> > would be added once finished tests with those devices, such as Image

> > codec(jpeg) processor, a few signal processors, including VSP(video),

> > GSP(graphic), ISP(image), and camera CPP, etc.

> >

> > Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>

> > ---

> >  .../devicetree/bindings/iommu/sprd,iommu.yaml | 44 +++++++++++++++++++

> >  1 file changed, 44 insertions(+)

> >  create mode 100644 Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> >

> > diff --git a/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > new file mode 100644

> > index 000000000000..4d9a578a7cc9

> > --- /dev/null

> > +++ b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > @@ -0,0 +1,44 @@

> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> > +# Copyright 2020 Unisoc Inc.

> > +%YAML 1.2

> > +---

> > +$id: http://devicetree.org/schemas/iommu/sprd,iommu.yaml#

> > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> > +

> > +title: Unisoc IOMMU and Multi-media MMU

> > +

> > +maintainers:

> > +  - Chunyan Zhang <zhang.lyra@gmail.com>

> > +

> > +properties:

> > +  compatible:

> > +    enum:

> > +      - sprd,iommu-disp

>

> Needs to be Soc specific.


All SoCs so far use the same iommu IP, there's a little different
among different iommu users.

> Is this block specific to display subsys or

> that just happens to be where the instance is?


This iommu driver can serve many subsystem devices, such as Video,
Camera, Image, etc., but they have their own iommu module which looks
like a subdevice embedded in the master devices.
I will add more compatible strings for those devices when needed.
For now, only this one was listed here because I just tested this
iommu driver with DPU only.

Thanks for the review.

Chunyan

>

> > +

> > +  reg:

> > +    maxItems: 1

> > +

> > +  "#iommu-cells":

> > +    const: 0

> > +    description:

> > +      Unisoc IOMMUs are all single-master IOMMU devices, therefore no

> > +      additional information needs to associate with its master device.

> > +      Please refer to the generic bindings document for more details,

> > +      Documentation/devicetree/bindings/iommu/iommu.txt

> > +

> > +required:

> > +  - compatible

> > +  - reg

> > +  - "#iommu-cells"

> > +

> > +additionalProperties: false

> > +

> > +examples:

> > +  - |

> > +    iommu_disp: iommu@63000000 {

> > +      compatible = "sprd,iommu-disp";

> > +      reg = <0x63000000 0x880>;

> > +      #iommu-cells = <0>;

> > +    };

> > +

> > +...

> > --

> > 2.25.1

> >
Rob Herring (Arm) Jan. 13, 2021, 1:47 p.m. UTC | #3
On Fri, Jan 8, 2021 at 5:34 AM Chunyan Zhang <zhang.lyra@gmail.com> wrote:
>

> On Fri, 8 Jan 2021 at 10:25, Rob Herring <robh@kernel.org> wrote:

> >

> > On Wed, Dec 23, 2020 at 07:16:32PM +0800, Chunyan Zhang wrote:

> > > From: Chunyan Zhang <chunyan.zhang@unisoc.com>

> > >

> > > This patch only adds bindings to support display iommu, support for others

> > > would be added once finished tests with those devices, such as Image

> > > codec(jpeg) processor, a few signal processors, including VSP(video),

> > > GSP(graphic), ISP(image), and camera CPP, etc.

> > >

> > > Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>

> > > ---

> > >  .../devicetree/bindings/iommu/sprd,iommu.yaml | 44 +++++++++++++++++++

> > >  1 file changed, 44 insertions(+)

> > >  create mode 100644 Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > >

> > > diff --git a/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > > new file mode 100644

> > > index 000000000000..4d9a578a7cc9

> > > --- /dev/null

> > > +++ b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > > @@ -0,0 +1,44 @@

> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> > > +# Copyright 2020 Unisoc Inc.

> > > +%YAML 1.2

> > > +---

> > > +$id: http://devicetree.org/schemas/iommu/sprd,iommu.yaml#

> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> > > +

> > > +title: Unisoc IOMMU and Multi-media MMU

> > > +

> > > +maintainers:

> > > +  - Chunyan Zhang <zhang.lyra@gmail.com>

> > > +

> > > +properties:

> > > +  compatible:

> > > +    enum:

> > > +      - sprd,iommu-disp

> >

> > Needs to be Soc specific.

>

> All SoCs so far use the same iommu IP, there's a little different

> among different iommu users.


That's what everyone says. Be warned that you cannot add properties
for any differences that come up whether features or errata.

> > Is this block specific to display subsys or

> > that just happens to be where the instance is?

>

> This iommu driver can serve many subsystem devices, such as Video,

> Camera, Image, etc., but they have their own iommu module which looks

> like a subdevice embedded in the master devices.

> I will add more compatible strings for those devices when needed.

> For now, only this one was listed here because I just tested this

> iommu driver with DPU only.


The iommu binding takes care of what each one is connected to. Is each
instance different in terms of features or programming model? If not,
then you shouldn't have different compatible strings for each
instance.

Rob
Chunyan Zhang Jan. 21, 2021, 7:51 a.m. UTC | #4
On Wed, 13 Jan 2021 at 21:47, Rob Herring <robh@kernel.org> wrote:
>

> On Fri, Jan 8, 2021 at 5:34 AM Chunyan Zhang <zhang.lyra@gmail.com> wrote:

> >

> > On Fri, 8 Jan 2021 at 10:25, Rob Herring <robh@kernel.org> wrote:

> > >

> > > On Wed, Dec 23, 2020 at 07:16:32PM +0800, Chunyan Zhang wrote:

> > > > From: Chunyan Zhang <chunyan.zhang@unisoc.com>

> > > >

> > > > This patch only adds bindings to support display iommu, support for others

> > > > would be added once finished tests with those devices, such as Image

> > > > codec(jpeg) processor, a few signal processors, including VSP(video),

> > > > GSP(graphic), ISP(image), and camera CPP, etc.

> > > >

> > > > Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>

> > > > ---

> > > >  .../devicetree/bindings/iommu/sprd,iommu.yaml | 44 +++++++++++++++++++

> > > >  1 file changed, 44 insertions(+)

> > > >  create mode 100644 Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > > >

> > > > diff --git a/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > > > new file mode 100644

> > > > index 000000000000..4d9a578a7cc9

> > > > --- /dev/null

> > > > +++ b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml

> > > > @@ -0,0 +1,44 @@

> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> > > > +# Copyright 2020 Unisoc Inc.

> > > > +%YAML 1.2

> > > > +---

> > > > +$id: http://devicetree.org/schemas/iommu/sprd,iommu.yaml#

> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#

> > > > +

> > > > +title: Unisoc IOMMU and Multi-media MMU

> > > > +

> > > > +maintainers:

> > > > +  - Chunyan Zhang <zhang.lyra@gmail.com>

> > > > +

> > > > +properties:

> > > > +  compatible:

> > > > +    enum:

> > > > +      - sprd,iommu-disp

> > >

> > > Needs to be Soc specific.

> >

> > All SoCs so far use the same iommu IP, there's a little different

> > among different iommu users.

>

> That's what everyone says. Be warned that you cannot add properties

> for any differences that come up whether features or errata.


Ok, I will use a version specific compatible string.

>

> > > Is this block specific to display subsys or

> > > that just happens to be where the instance is?

> >

> > This iommu driver can serve many subsystem devices, such as Video,

> > Camera, Image, etc., but they have their own iommu module which looks

> > like a subdevice embedded in the master devices.

> > I will add more compatible strings for those devices when needed.

> > For now, only this one was listed here because I just tested this

> > iommu driver with DPU only.

>

> The iommu binding takes care of what each one is connected to. Is each

> instance different in terms of features or programming model? If not,


The one difference so far is the register offset which is not the same
for different instances.

Thanks for the review.
Chunyan

> then you shouldn't have different compatible strings for each

> instance.

>

> Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml
new file mode 100644
index 000000000000..4d9a578a7cc9
--- /dev/null
+++ b/Documentation/devicetree/bindings/iommu/sprd,iommu.yaml
@@ -0,0 +1,44 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2020 Unisoc Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iommu/sprd,iommu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Unisoc IOMMU and Multi-media MMU
+
+maintainers:
+  - Chunyan Zhang <zhang.lyra@gmail.com>
+
+properties:
+  compatible:
+    enum:
+      - sprd,iommu-disp
+
+  reg:
+    maxItems: 1
+
+  "#iommu-cells":
+    const: 0
+    description:
+      Unisoc IOMMUs are all single-master IOMMU devices, therefore no
+      additional information needs to associate with its master device.
+      Please refer to the generic bindings document for more details,
+      Documentation/devicetree/bindings/iommu/iommu.txt
+
+required:
+  - compatible
+  - reg
+  - "#iommu-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    iommu_disp: iommu@63000000 {
+      compatible = "sprd,iommu-disp";
+      reg = <0x63000000 0x880>;
+      #iommu-cells = <0>;
+    };
+
+...