The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/sound/cirrus,cs42l42.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/sound/cirrus,cs42l42.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Cirrus Logic CS42L42 audio CODEC
    8 
    9 maintainers:
   10   - patches@opensource.cirrus.com
   11 
   12 description:
   13   The CS42L42 is a low-power audio codec designed for portable applications.
   14   It provides a high-dynamic range, stereo DAC for audio playback and a mono
   15   high-dynamic-range ADC for audio capture. There is an integrated headset
   16   detection block.
   17 
   18 properties:
   19   compatible:
   20     enum:
   21       - cirrus,cs42l42
   22 
   23   reg:
   24     description:
   25       The I2C address of the CS42L42.
   26     maxItems: 1
   27 
   28   VP-supply:
   29     description:
   30       VP power supply.
   31 
   32   VCP-supply:
   33     description:
   34       Charge pump power supply.
   35 
   36   VD_FILT-supply:
   37     description:
   38       FILT+ power supply.
   39 
   40   VL-supply:
   41     description:
   42       Logic power supply.
   43 
   44   VA-supply:
   45     description:
   46       Analog power supply.
   47 
   48   reset-gpios:
   49     description:
   50       This pin will be asserted and then deasserted to reset the
   51       CS42L42 before communication starts.
   52     maxItems: 1
   53 
   54   interrupts:
   55     description:
   56       Interrupt for CS42L42 IRQ line.
   57     maxItems: 1
   58 
   59   cirrus,ts-inv:
   60     description: |
   61       Sets the behaviour of the jack plug detect switch.
   62 
   63       0 - (Default) Shorted to tip when unplugged, open when plugged.
   64       This is "inverted tip sense (ITS)" in the datasheet.
   65 
   66       1 - Open when unplugged, shorted to tip when plugged.
   67       This is "normal tip sense (TS)" in the datasheet.
   68 
   69       The CS42L42_TS_INV_* defines are available for this.
   70     $ref: "/schemas/types.yaml#/definitions/uint32"
   71     minimum: 0
   72     maximum: 1
   73 
   74   cirrus,ts-dbnc-rise:
   75     description: |
   76       Debounce the rising edge of TIP_SENSE_PLUG. With no
   77       debounce, the tip sense pin might be noisy on a plug event.
   78 
   79       0 - 0ms
   80       1 - 125ms
   81       2 - 250ms
   82       3 - 500ms
   83       4 - 750ms
   84       5 - 1s (Default)
   85       6 - 1.25s
   86       7 - 1.5s
   87 
   88       The CS42L42_TS_DBNCE_* defines are available for this.
   89     $ref: "/schemas/types.yaml#/definitions/uint32"
   90     minimum: 0
   91     maximum: 7
   92 
   93   cirrus,ts-dbnc-fall:
   94     description: |
   95       Debounce the falling edge of TIP_SENSE_UNPLUG. With no
   96       debounce, the tip sense pin might be noisy on an unplug event.
   97 
   98       0 - 0ms
   99       1 - 125ms
  100       2 - 250ms
  101       3 - 500ms
  102       4 - 750ms
  103       5 - 1s (Default)
  104       6 - 1.25s
  105       7 - 1.5s
  106 
  107       The CS42L42_TS_DBNCE_* defines are available for this.
  108     $ref: "/schemas/types.yaml#/definitions/uint32"
  109     minimum: 0
  110     maximum: 7
  111 
  112   cirrus,btn-det-init-dbnce:
  113     description: |
  114       This sets how long to wait after enabling button detection
  115       interrupts before servicing button interrupts, to allow the
  116       HS bias time to settle. Value is in milliseconds.
  117       There may be erroneous button interrupts if this debounce time
  118       is too short.
  119 
  120       0ms - 200ms,
  121       Default = 100ms
  122     $ref: "/schemas/types.yaml#/definitions/uint32"
  123     minimum: 0
  124     maximum: 200
  125 
  126   cirrus,btn-det-event-dbnce:
  127     description: |
  128       This sets how long to wait after receiving a button press
  129       interrupt before processing it. Allows time for the button
  130       press to make a clean connection with the bias resistors.
  131       Value is in milliseconds.
  132 
  133       0ms - 20ms,
  134       Default = 10ms
  135     $ref: "/schemas/types.yaml#/definitions/uint32"
  136     minimum: 0
  137     maximum: 20
  138 
  139   cirrus,bias-lvls:
  140     description: |
  141       For a level-detect headset button scheme, each button will bias
  142       the mic pin to a certain voltage. To determine which button was
  143       pressed, the voltage is compared to sequential, decreasing
  144       voltages, until the compared voltage < bias voltage.
  145       For different hardware setups, a designer might want to tweak this.
  146       This is an array of descending values for the comparator voltage,
  147       given as percent of the HSBIAS voltage.
  148 
  149       Array of 4 values, each 0-63
  150       < x1 x2 x3 x4 >
  151       Default = < 15 8 4 1 >
  152     $ref: /schemas/types.yaml#/definitions/uint32-array
  153     minItems: 4
  154     maxItems: 4
  155     items:
  156       minimum: 0
  157       maximum: 63
  158 
  159   cirrus,hs-bias-ramp-rate:
  160     description: |
  161       If present this sets the rate that the HS bias should rise and fall.
  162       The actual rise and fall times depend on external hardware (the
  163       datasheet gives several rise and fall time examples).
  164 
  165       0 - Fast rise time; slow, load-dependent fall time
  166       1 - Fast
  167       2 - Slow (default)
  168       3 - Slowest
  169 
  170       The CS42L42_HSBIAS_RAMP_* defines are available for this.
  171     $ref: "/schemas/types.yaml#/definitions/uint32"
  172     minimum: 0
  173     maximum: 3
  174 
  175   cirrus,hs-bias-sense-disable:
  176     description: |
  177       If present the HSBIAS sense is disabled. Configures HSBIAS output
  178       current sense through the external 2.21-k resistor. HSBIAS_SENSE
  179       is a hardware feature to reduce the potential pop noise when the
  180       headset plug is removed slowly. But on some platforms ESD voltage
  181       will affect it causing plug detection to fail, especially with CTIA
  182       headset type. For different hardware setups, a designer might want
  183       to tweak default behavior.
  184     type: boolean
  185 
  186 required:
  187   - compatible
  188   - reg
  189   - VP-supply
  190   - VCP-supply
  191   - VD_FILT-supply
  192   - VL-supply
  193   - VA-supply
  194 
  195 additionalProperties: false
  196 
  197 examples:
  198   - |
  199     #include <dt-bindings/sound/cs42l42.h>
  200     i2c {
  201       #address-cells = <1>;
  202       #size-cells = <0>;
  203 
  204       cs42l42: cs42l42@48 {
  205           compatible = "cirrus,cs42l42";
  206           reg = <0x48>;
  207           VA-supply = <&dummy_vreg>;
  208           VP-supply = <&dummy_vreg>;
  209           VCP-supply = <&dummy_vreg>;
  210           VD_FILT-supply = <&dummy_vreg>;
  211           VL-supply = <&dummy_vreg>;
  212 
  213           reset-gpios = <&axi_gpio_0 1 0>;
  214           interrupt-parent = <&gpio0>;
  215           interrupts = <55 8>;
  216 
  217           cirrus,ts-inv = <CS42L42_TS_INV_DIS>;
  218           cirrus,ts-dbnc-rise = <CS42L42_TS_DBNCE_1000>;
  219           cirrus,ts-dbnc-fall = <CS42L42_TS_DBNCE_0>;
  220           cirrus,btn-det-init-dbnce = <100>;
  221           cirrus,btn-det-event-dbnce = <10>;
  222           cirrus,bias-lvls = <0x0F 0x08 0x04 0x01>;
  223           cirrus,hs-bias-ramp-rate = <CS42L42_HSBIAS_RAMP_SLOW>;
  224       };
  225     };

Cache object: 984e0ff101d2565b4f4c69ee21f1e419


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.