[PATCH 1/3] ASoC: dt-bindings: fsl_easrc: Add support for imx8mp-easrc
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible: - const: fsl,imx8mn-easrc + oneOf: + - items: + - enum: + - fsl,imx8mp-easrc + - const: fsl,imx8mn-easrc
reg: maxItems: 1
The i.MX8MP has an asynchronous sample rate converter which seems to be the same as what is available on the i.MX8M Nano.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 83d907294fbc..3167706d81e1 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -1459,6 +1459,26 @@ sai7: sai@30c80000 { interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; + + easrc: easrc@30c90000 { + compatible = "fsl,imx8mp-easrc", "fsl,imx8mn-easrc"; + reg = <0x30c90000 0x10000>; + interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_ASRC_IPG>; + clock-names = "mem"; + dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>, + <&sdma2 18 23 0> , <&sdma2 19 23 0>, + <&sdma2 20 23 0> , <&sdma2 21 23 0>, + <&sdma2 22 23 0> , <&sdma2 23 23 0>; + dma-names = "ctx0_rx", "ctx0_tx", + "ctx1_rx", "ctx1_tx", + "ctx2_rx", "ctx2_tx", + "ctx3_rx", "ctx3_tx"; + firmware-name = "imx/easrc/easrc-imx8mn.bin"; + fsl,asrc-rate = <8000>; + fsl,asrc-format = <2>; + status = "disabled"; + }; };
sdma3: dma-controller@30e00000 {
The i.MX8MP has a micfil controller which is used for interfacing with a pulse density microphone. Add the node and mark it as disabled by default.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 3167706d81e1..a6f5b8526698 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -1479,6 +1479,27 @@ easrc: easrc@30c90000 { fsl,asrc-format = <2>; status = "disabled"; }; + + micfil: audio-controller@30ca0000 { + compatible = "fsl,imx8mp-micfil"; + reg = <0x30ca0000 0x10000>; + #sound-dai-cells = <0>; + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_IPG>, + <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_PDM_ROOT>, + <&clk IMX8MP_AUDIO_PLL1_OUT>, + <&clk IMX8MP_AUDIO_PLL2_OUT>, + <&clk IMX8MP_CLK_EXT3>; + clock-names = "ipg_clk", "ipg_clk_app", + "pll8k", "pll11k", "clkext3"; + dmas = <&sdma2 24 25 0x80000000>; + dma-names = "rx"; + status = "disabled"; + }; + };
sdma3: dma-controller@30e00000 {
On Sun, 20 Aug 2023 12:56:53 -0500, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/sound/fsl,easrc.example.dtb: easrc@300c0000: compatible: 'oneOf' conditional failed, one must be fixed: ['fsl,imx8mn-easrc'] is too short 'fsl,imx8mn-easrc' is not one of ['fsl,imx8mp-easrc'] from schema $id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/2023082017565...
The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 20/08/2023 19:56, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible:
- const: fsl,imx8mn-easrc
- oneOf:
- items:
- enum:
- fsl,imx8mp-easrc
- const: fsl,imx8mn-easrc
You need here also const for fsl,imx8mn-easrc, otherwise you do not allow it alone. Test it for fsl,imx8mn-easrc DTS - you will notice warnings.
Best regards, Krzysztof
On 20/08/2023 22:32, Krzysztof Kozlowski wrote:
On 20/08/2023 19:56, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible:
- const: fsl,imx8mn-easrc
- oneOf:
- items:
- enum:
- fsl,imx8mp-easrc
- const: fsl,imx8mn-easrc
You need here also const for fsl,imx8mn-easrc, otherwise you do not allow it alone. Test it for fsl,imx8mn-easrc DTS - you will notice warnings.
Actually, I see now Rob's report... you did not have to test DTS even. It was enough to test your change and this test was missing :(. Please test your changes before sending.
Best regards, Krzysztof
On Sun, Aug 20, 2023 at 3:33 PM Krzysztof Kozlowski krzysztof.kozlowski@linaro.org wrote:
On 20/08/2023 22:32, Krzysztof Kozlowski wrote:
On 20/08/2023 19:56, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible:
- const: fsl,imx8mn-easrc
- oneOf:
- items:
- enum:
- fsl,imx8mp-easrc
- const: fsl,imx8mn-easrc
You need here also const for fsl,imx8mn-easrc, otherwise you do not allow it alone. Test it for fsl,imx8mn-easrc DTS - you will notice warnings.
Actually, I see now Rob's report... you did not have to test DTS even. It was enough to test your change and this test was missing :(. Please test your changes before sending.
For what it's worth, I did run 'make dt_binding_check', but I didn't run it with the extra flags from Rob's e-mail. The tool didn't return any errors.
adam
Best regards, Krzysztof
On 20/08/2023 23:05, Adam Ford wrote:
On Sun, Aug 20, 2023 at 3:33 PM Krzysztof Kozlowski krzysztof.kozlowski@linaro.org wrote:
On 20/08/2023 22:32, Krzysztof Kozlowski wrote:
On 20/08/2023 19:56, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible:
- const: fsl,imx8mn-easrc
- oneOf:
- items:
- enum:
- fsl,imx8mp-easrc
- const: fsl,imx8mn-easrc
You need here also const for fsl,imx8mn-easrc, otherwise you do not allow it alone. Test it for fsl,imx8mn-easrc DTS - you will notice warnings.
Actually, I see now Rob's report... you did not have to test DTS even. It was enough to test your change and this test was missing :(. Please test your changes before sending.
For what it's worth, I did run 'make dt_binding_check', but I didn't run it with the extra flags from Rob's e-mail. The tool didn't return any errors.
OK, indeed without the additional flags the example from that binding won't be reported as undocumented compatible.
Best regards, Krzysztof
On Sun, Aug 20, 2023 at 04:05:16PM -0500, Adam Ford wrote:
On Sun, Aug 20, 2023 at 3:33 PM Krzysztof Kozlowski krzysztof.kozlowski@linaro.org wrote:
On 20/08/2023 22:32, Krzysztof Kozlowski wrote:
On 20/08/2023 19:56, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible:
- const: fsl,imx8mn-easrc
- oneOf:
- items:
- enum:
- fsl,imx8mp-easrc
- const: fsl,imx8mn-easrc
You need here also const for fsl,imx8mn-easrc, otherwise you do not allow it alone. Test it for fsl,imx8mn-easrc DTS - you will notice warnings.
Actually, I see now Rob's report... you did not have to test DTS even. It was enough to test your change and this test was missing :(. Please test your changes before sending.
For what it's worth, I did run 'make dt_binding_check', but I didn't run it with the extra flags from Rob's e-mail. The tool didn't return any errors.
The error is not related to the '-m' (undocumented compatible) warning. It is as Krzysztof said.
Rob
On Mon, Aug 21, 2023 at 9:06 AM Rob Herring robh@kernel.org wrote:
On Sun, Aug 20, 2023 at 04:05:16PM -0500, Adam Ford wrote:
On Sun, Aug 20, 2023 at 3:33 PM Krzysztof Kozlowski krzysztof.kozlowski@linaro.org wrote:
On 20/08/2023 22:32, Krzysztof Kozlowski wrote:
On 20/08/2023 19:56, Adam Ford wrote:
The i.MX8MP appears to have the same easrc support as the Nano, so add imx8mp as an option with a fallback to imx8mn.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml index bdde68a1059c..2d53b3b10f2c 100644 --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml @@ -14,7 +14,11 @@ properties: pattern: "^easrc@.*"
compatible:
- const: fsl,imx8mn-easrc
- oneOf:
- items:
- enum:
- fsl,imx8mp-easrc
- const: fsl,imx8mn-easrc
You need here also const for fsl,imx8mn-easrc, otherwise you do not allow it alone. Test it for fsl,imx8mn-easrc DTS - you will notice warnings.
Actually, I see now Rob's report... you did not have to test DTS even. It was enough to test your change and this test was missing :(. Please test your changes before sending.
For what it's worth, I did run 'make dt_binding_check', but I didn't run it with the extra flags from Rob's e-mail. The tool didn't return any errors.
The error is not related to the '-m' (undocumented compatible) warning. It is as Krzysztof said.
I was able to replicate the message after I updated the schema. Is there any way we can add the dt_binding_check to the 'make help' menu? I do this so infrequently that I don't necessarily know what the proper flags are, and I sometimes forget to update the schema. I have seen others run into similar issues, so it seems like having it in the help menu might be beneficial to more people.
adam
Rob
participants (3)
-
Adam Ford
-
Krzysztof Kozlowski
-
Rob Herring