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 |
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 >
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 > >
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
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 --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>; + }; + +...