^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * Atmel PDMIC driver under ALSA SoC architecture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Should be "atmel,sama5d2-pdmic".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Should contain PDMIC registers location and length.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Should contain the IRQ line for the PDMIC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - dmas
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) One DMA specifiers as described in atmel-dma.txt and dma.txt files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - dma-names
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Must be "rx".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - clock-names
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Required elements:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - "pclk" peripheral clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - "gclk" generated clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - clocks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Must contain an entry for each required entry in clock-names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Please refer to clock-bindings.txt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - atmel,mic-min-freq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) The minimal frequency that the micphone supports.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) - atmel,mic-max-freq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) The maximal frequency that the micphone supports.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - pinctrl-names, pinctrl-0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Please refer to pinctrl-bindings.txt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - atmel,model
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) The user-visible name of this sound card.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) The default value is "PDMIC".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) - atmel,mic-offset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) The offset that should be added.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) The range is from -32768 to 32767.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) The default value is 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) pdmic@f8018000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) compatible = "atmel,sama5d2-pdmic";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) reg = <0xf8018000 0x124>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) interrupts = <48 IRQ_TYPE_LEVEL_HIGH 7>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) dmas = <&dma0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) | AT91_XDMAC_DT_PERID(50))>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) dma-names = "rx";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) clocks = <&pdmic_clk>, <&pdmic_gclk>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) clock-names = "pclk", "gclk";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) pinctrl-names = "default";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) pinctrl-0 = <&pinctrl_pdmic_default>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) atmel,model = "PDMIC @ sama5d2_xplained";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) atmel,mic-min-freq = <1000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) atmel,mic-max-freq = <3246000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) atmel,mic-offset = <0x0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) };