ARM: dts: at91: sama7g5ek: add node for PDMC0
authorCodrin Ciubotariu <codrin.ciubotariu@microchip.com>
Mon, 7 Mar 2022 12:22:01 +0000 (14:22 +0200)
committerNicolas Ferre <nicolas.ferre@microchip.com>
Tue, 17 May 2022 15:14:42 +0000 (17:14 +0200)
SAMA7G5-EK has 4 PDM microphones connected to PDMC0. PDMC0 pinmux is in
conflict with gmac1, gmac1 being enabled by default.

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/all/20220307122202.2251639-6-codrin.ciubotariu@microchip.com
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
arch/arm/boot/dts/at91-sama7g5ek.dts

index 08685a1..8033ad9 100644 (file)
@@ -14,6 +14,7 @@
 #include <dt-bindings/mfd/atmel-flexcom.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/pinctrl/at91.h>
+#include <dt-bindings/sound/microchip,pdmc.h>
 
 / {
        model = "Microchip SAMA7G5-EK";
                     &pinctrl_gmac1_mdio_default
                     &pinctrl_gmac1_phy_irq>;
        phy-mode = "rmii";
-       status = "okay";
+       status = "okay"; /* Conflict with pdmc0. */
 
        ethernet-phy@0 {
                reg = <0x0>;
        pinctrl-0 = <&pinctrl_i2s0_default>;
 };
 
+&pdmc0 {
+       #sound-dai-cells = <0>;
+       microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 1 */
+                           <MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 2 */
+                           <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>, /* MIC 3 */
+                           <MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>; /* MIC 4 */
+       status = "disabled"; /* Conflict with gmac1. */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pdmc0_default>;
+};
+
 &pioA {
 
        pinctrl_can0_default: can0_default {
                bias-disable;
        };
 
+       pinctrl_pdmc0_default: pdmc0_default {
+               pinmux = <PIN_PD23__PDMC0_DS0>,
+                        <PIN_PD24__PDMC0_DS1>,
+                        <PIN_PD22__PDMC0_CLK>;
+               bias_disable;
+       };
+
        pinctrl_qspi: qspi {
                pinmux = <PIN_PB12__QSPI0_IO0>,
                         <PIN_PB11__QSPI0_IO1>,