Message ID | 1486383336-16892-2-git-send-email-mars.cheng@mediatek.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Mon, Feb 06, 2017 at 08:15:27PM +0800, Mars Cheng wrote: > This describes how to specify multiple base addresses for sysirq > in mediatek platforms. > > Signed-off-by: Mars Cheng <mars.cheng@mediatek.com> > --- > .../interrupt-controller/mediatek,sysirq.txt | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt > index 9d1d72c..1718454 100644 > --- a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt > +++ b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt > @@ -18,16 +18,21 @@ Required properties: > "mediatek,mt2701-sysirq" > - interrupt-controller : Identifies the node as an interrupt controller > - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt. > +- #intpol-bases: Indicate how many base addresses to be used, default is 1. There is no point in this. It can either be implied by the compatible string or you just try to get the resource for the 2nd region. (Or in DT terms, get the size of reg.) > - interrupt-parent: phandle of irq parent for sysirq. The parent must > use the same interrupt-cells format as GIC. > - reg: Physical base address of the intpol registers and length of memory > - mapped region. > + mapped region. Could be multiple bases here. Ex: mt6797 needs 2 reg, others > + need 1. If not set, the default is 1. > > Example: > - sysirq: interrupt-controller@10200100 { > - compatible = "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq"; > + sysirq: intpol-controller@10200620 { > + compatible = "mediatek,mt6797-sysirq", > + "mediatek,mt6577-sysirq"; > interrupt-controller; > #interrupt-cells = <3>; > + #intpol-bases = <2>; > interrupt-parent = <&gic>; > - reg = <0 0x10200100 0 0x1c>; > + reg = <0 0x10220620 0 0x20>, > + <0 0x10220690 0 0x10>; > }; > -- > 1.7.9.5 > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Rob, On Wed, 2017-02-08 at 17:20 -0600, Rob Herring wrote: > On Mon, Feb 06, 2017 at 08:15:27PM +0800, Mars Cheng wrote: > > This describes how to specify multiple base addresses for sysirq > > in mediatek platforms. > > > > Signed-off-by: Mars Cheng <mars.cheng@mediatek.com> > > --- > > .../interrupt-controller/mediatek,sysirq.txt | 13 +++++++++---- > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt > > index 9d1d72c..1718454 100644 > > --- a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt > > +++ b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt > > @@ -18,16 +18,21 @@ Required properties: > > "mediatek,mt2701-sysirq" > > - interrupt-controller : Identifies the node as an interrupt controller > > - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt. > > +- #intpol-bases: Indicate how many base addresses to be used, default is 1. > > There is no point in this. It can either be implied by the compatible > string or you just try to get the resource for the 2nd region. (Or in DT > terms, get the size of reg.) > Originally I try to mimic #redistributor-regions in Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt. But I think you are right since irq-gic-v3 has several kinds of bases in reg so that they need an indicator to decode. For irq-mtk-sysirq, we can just try 2nd region and increment a counter to get the number of bases. Will fix this in v3. Thanks. > > - interrupt-parent: phandle of irq parent for sysirq. The parent must > > use the same interrupt-cells format as GIC. > > - reg: Physical base address of the intpol registers and length of memory > > - mapped region. > > + mapped region. Could be multiple bases here. Ex: mt6797 needs 2 reg, others > > + need 1. If not set, the default is 1. > > > > Example: > > - sysirq: interrupt-controller@10200100 { > > - compatible = "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq"; > > + sysirq: intpol-controller@10200620 { > > + compatible = "mediatek,mt6797-sysirq", > > + "mediatek,mt6577-sysirq"; > > interrupt-controller; > > #interrupt-cells = <3>; > > + #intpol-bases = <2>; > > interrupt-parent = <&gic>; > > - reg = <0 0x10200100 0 0x1c>; > > + reg = <0 0x10220620 0 0x20>, > > + <0 0x10220690 0 0x10>; > > }; > > -- > > 1.7.9.5 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe devicetree" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt index 9d1d72c..1718454 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt @@ -18,16 +18,21 @@ Required properties: "mediatek,mt2701-sysirq" - interrupt-controller : Identifies the node as an interrupt controller - #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt. +- #intpol-bases: Indicate how many base addresses to be used, default is 1. - interrupt-parent: phandle of irq parent for sysirq. The parent must use the same interrupt-cells format as GIC. - reg: Physical base address of the intpol registers and length of memory - mapped region. + mapped region. Could be multiple bases here. Ex: mt6797 needs 2 reg, others + need 1. If not set, the default is 1. Example: - sysirq: interrupt-controller@10200100 { - compatible = "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq"; + sysirq: intpol-controller@10200620 { + compatible = "mediatek,mt6797-sysirq", + "mediatek,mt6577-sysirq"; interrupt-controller; #interrupt-cells = <3>; + #intpol-bases = <2>; interrupt-parent = <&gic>; - reg = <0 0x10200100 0 0x1c>; + reg = <0 0x10220620 0 0x20>, + <0 0x10220690 0 0x10>; };
This describes how to specify multiple base addresses for sysirq in mediatek platforms. Signed-off-by: Mars Cheng <mars.cheng@mediatek.com> --- .../interrupt-controller/mediatek,sysirq.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)