[alsa-devel] [PATCH] ASoC: mediatek: Correct the interrupt property
This patch update interrupt property since we only use ASYS IRQ in the driver, and this may confuse people.
Signed-off-by: Ryder Lee ryder.lee@mediatek.com CC: Garlic Tseng garlic.tseng@mediatek.com --- Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt b/Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt index 9800a56..9d7b6dc 100644 --- a/Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt +++ b/Documentation/devicetree/bindings/sound/mt2701-afe-pcm.txt @@ -3,7 +3,7 @@ Mediatek AFE PCM controller for mt2701 Required properties: - compatible = "mediatek,mt2701-audio"; - reg: register location and size -- interrupts: Should contain AFE interrupt +- interrupts: Should contain ASYS interrupt - power-domains: should define the power domain - clock-names: should have these clock names: "infra_sys_audio_clk", @@ -57,8 +57,7 @@ Example: compatible = "mediatek,mt2701-audio"; reg = <0 0x11220000 0 0x2000>, <0 0x112A0000 0 0x20000>; - interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>, - <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; + interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; power-domains = <&scpsys MT2701_POWER_DOMAIN_IFR_MSC>; clocks = <&infracfg CLK_INFRA_AUDIO>, <&topckgen CLK_TOP_AUD_MUX1_SEL>,
On Tue, Aug 15, 2017 at 04:07:02PM +0800, Ryder Lee wrote:
This patch update interrupt property since we only use ASYS IRQ in the driver, and this may confuse people.
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
<GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
What harm does having the extra information in the bindings do? If it's possible there might be a use for the extra interrupt it seems better to have people describe it.
On Tue, 2017-08-15 at 12:53 +0100, Mark Brown wrote:
On Tue, Aug 15, 2017 at 04:07:02PM +0800, Ryder Lee wrote:
This patch update interrupt property since we only use ASYS IRQ in the driver, and this may confuse people.
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
<GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
What harm does having the extra information in the bindings do? If it's possible there might be a use for the extra interrupt it seems better to have people describe it.
Yes you're right. The current driver get IRQ number by index "0" but actually it should be "1" (GIC 132). Perhaps we can switch to use the platform_get_irq_byname() and add interrupt-name in DT so that binding can be agnostic of the IRQ order.
On Tue, Aug 15, 2017 at 09:51:40PM +0800, Ryder Lee wrote:
On Tue, 2017-08-15 at 12:53 +0100, Mark Brown wrote:
What harm does having the extra information in the bindings do? If it's possible there might be a use for the extra interrupt it seems better to have people describe it.
Yes you're right. The current driver get IRQ number by index "0" but actually it should be "1" (GIC 132). Perhaps we can switch to use the platform_get_irq_byname() and add interrupt-name in DT so that binding can be agnostic of the IRQ order.
Yes, that's generally good - it also means that if future revisions of the IP have different sets of interrupts the binding can adapt gracefully.
On Tue, Aug 15, 2017 at 09:51:40PM +0800, Ryder Lee wrote:
On Tue, 2017-08-15 at 12:53 +0100, Mark Brown wrote:
On Tue, Aug 15, 2017 at 04:07:02PM +0800, Ryder Lee wrote:
This patch update interrupt property since we only use ASYS IRQ in the driver, and this may confuse people.
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>,
<GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>;
What harm does having the extra information in the bindings do? If it's possible there might be a use for the extra interrupt it seems better to have people describe it.
Agreed. It should describe interrupts the h/w has, not what the driver (currently) uses.
Yes you're right. The current driver get IRQ number by index "0" but actually it should be "1" (GIC 132). Perhaps we can switch to use the platform_get_irq_byname() and add interrupt-name in DT so that binding can be agnostic of the IRQ order.
The binding is wrong already in that it says a single interrrupt. The example has 2 though. Add the 2nd interrupt and define the order such that you don't break the current driver. Probably that means ASYS is first.
Rob
participants (3)
-
Mark Brown
-
Rob Herring
-
Ryder Lee