Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  wlf,wm8904.yaml   Sprache: unbekannt

 
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/wlf,wm8904.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Wolfson WM8904/WM8912 audio codecs

maintainers:
  - patches@opensource.cirrus.com

description: |
  Pins on the device (for linking into audio routes):
  IN1L, IN1R, IN2L, IN2R, IN3L, IN3R, HPOUTL, HPOUTR, LINEOUTL, LINEOUTR,
  MICBIAS

properties:
  compatible:
    enum:
      - wlf,wm8904
      - wlf,wm8912

  reg:
    maxItems: 1

  "#sound-dai-cells":
    const: 0

  clocks:
    maxItems: 1

  clock-names:
    const: mclk

  AVDD-supply: true
  CPVDD-supply: true
  DBVDD-supply: true
  DCVDD-supply: true
  MICVDD-supply: true

  wlf,in1l-as-dmicdat1:
    type: boolean
    description:
      Use IN1L/DMICDAT1 as DMICDAT1, enabling the DMIC input path.
      Can be used separately or together with wlf,in1r-as-dmicdat2.

  wlf,in1r-as-dmicdat2:
    type: boolean
    description:
      Use IN1R/DMICDAT2 as DMICDAT2, enabling the DMIC input path.
      Can be used separately or together with wlf,in1l-as-dmicdat1.

  wlf,gpio-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 4
    maxItems: 4
    description:
      Default register values for R121/122/123/124 (GPIO Control).
      If any entry has the value 0xFFFF, the related register won't be set.
    default: [0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF]

  wlf,micbias-cfg:
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 2
    maxItems: 2
    description:
      Default register values for R6/R7 (Mic Bias Control).
    default: [0, 0]

  wlf,drc-cfg-names:
    $ref: /schemas/types.yaml#/definitions/string-array
    description:
      List of strings for the available DRC modes.
      If absent, DRC is disabled.

  wlf,drc-cfg-regs:
    $ref: /schemas/types.yaml#/definitions/uint16-matrix
    description:
      Sets of default register values for R40/41/42/43 (DRC).
      Each set corresponds to a DRC mode, so the number of sets should equal
      the length of wlf,drc-cfg-names.
      If absent, DRC is disabled.
    items:
      minItems: 4
      maxItems: 4

  wlf,retune-mobile-cfg-names:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description:
      List of strings for the available retune modes.
      If absent, retune is disabled.

  wlf,retune-mobile-cfg-hz:
    description:
      The list must be the same length as wlf,retune-mobile-cfg-names.
      If absent, retune is disabled.

  wlf,retune-mobile-cfg-regs:
    $ref: /schemas/types.yaml#/definitions/uint16-matrix
    description:
      Sets of default register values for R134/.../157 (EQ).
      Each set corresponds to a retune mode, so the number of sets should equal
      the length of wlf,retune-mobile-cfg-names.
      If absent, retune is disabled.
    items:
      minItems: 24
      maxItems: 24

dependencies:
  wlf,drc-cfg-names: [ 'wlf,drc-cfg-regs' ]
  wlf,drc-cfg-regs: [ 'wlf,drc-cfg-names' ]

  wlf,retune-mobile-cfg-names: [ 'wlf,retune-mobile-cfg-hz', 'wlf,retune-mobile-cfg-regs' ]
  wlf,retune-mobile-cfg-regs: [ 'wlf,retune-mobile-cfg-names', 'wlf,retune-mobile-cfg-hz' ]
  wlf,retune-mobile-cfg-hz: [ 'wlf,retune-mobile-cfg-names', 'wlf,retune-mobile-cfg-regs' ]

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - AVDD-supply
  - CPVDD-supply
  - DBVDD-supply
  - DCVDD-supply
  - MICVDD-supply

allOf:
  - $ref: dai-common.yaml#

unevaluatedProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        codec@1a {
            compatible = "wlf,wm8904";
            reg = <0x1a>;
            clocks = <&pck0>;
            clock-names = "mclk";
            AVDD-supply = <®_1p8v>;
            CPVDD-supply = <®_1p8v>;
            DBVDD-supply = <®_1p8v>;
            DCVDD-supply = <®_1p8v>;
            MICVDD-supply = <®_1p8v>;

            wlf,drc-cfg-names = "default", "peaklimiter", "tradition", "soft",
                                "music";
            /*
             * Config registers per name, respectively:
             * KNEE_IP = 0,   KNEE_OP = 0,     HI_COMP = 1,   LO_COMP = 1
             * KNEE_IP = -24, KNEE_OP = -6,    HI_COMP = 1/4, LO_COMP = 1
             * KNEE_IP = -42, KNEE_OP = -3,    HI_COMP = 0,   LO_COMP = 1
             * KNEE_IP = -45, KNEE_OP = -9,    HI_COMP = 1/8, LO_COMP = 1
             * KNEE_IP = -30, KNEE_OP = -10.5, HI_COMP = 1/4, LO_COMP = 1
             */
            wlf,drc-cfg-regs = /bits/ 16 <0x01af 0x3248 0x0000 0x0000>,
                               /bits/ 16 <0x04af 0x324b 0x0010 0x0408>,
                               /bits/ 16 <0x04af 0x324b 0x0028 0x0704>,
                               /bits/ 16 <0x04af 0x324b 0x0018 0x078c>,
                               /bits/ 16 <0x04af 0x324b 0x0010 0x050e>;

            /* GPIO1 = DMIC_CLK, don't touch others */
            wlf,gpio-cfg = <0x0018>, <0xffff>, <0xffff>, <0xffff>;

            /* Use IN1R as DMICDAT2, leave IN1L as an analog input path */
            wlf,in1r-as-dmicdat2;

            wlf,retune-mobile-cfg-names = "bassboost", "bassboost", "treble";
            wlf,retune-mobile-cfg-hz = <48000>, <44100>, <48000>;
            /*
             * Config registers per name, respectively:
             * EQ_ENA,  100 Hz,  300 Hz,  875 Hz, 2400 Hz, 6900 Hz
             *      1,   +6 dB,   +3 dB,    0 dB,    0 dB,    0 dB
             *      1,   +6 dB,   +3 dB,    0 dB,    0 dB,    0 dB
             *      1,   -2 dB,   -2 dB,    0 dB,    0 dB,   +3 dB
             * Each one uses the defaults for ReTune Mobile registers 140-157
             */
            wlf,retune-mobile-cfg-regs = /bits/ 16 <0x1 0x12 0xf 0xc 0xc 0xc
                                                    0x0fca 0x0400 0x00d8 0x1eb5
                                                    0xf145 0x0bd5 0x0075 0x1c58
                                                    0xf3d3 0x0a54 0x0568 0x168e
                                                    0xf829 0x07ad 0x1103 0x0564
                                                    0x0559 0x4000>,

                                         /bits/ 16 <0x1 0x12 0xf 0xc 0xc 0xc
                                                    0x0fca 0x0400 0x00d8 0x1eb5
                                                    0xf145 0x0bd5 0x0075 0x1c58
                                                    0xf3d3 0x0a54 0x0568 0x168e
                                                    0xf829 0x07ad 0x1103 0x0564
                                                    0x0559 0x4000>,

                                         /bits/ 16 <0x1 0xa 0xa 0xc 0xc 0xf
                                                    0x0fca 0x0400 0x00d8 0x1eb5
                                                    0xf145 0x0bd5 0x0075 0x1c58
                                                    0xf3d3 0x0a54 0x0568 0x168e
                                                    0xf829 0x07ad 0x1103 0x0564
                                                    0x0559 0x4000>;
        };
    };

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge