brintos

brintos / linux-shallow public Read only

0
0
Text · 6.7 KiB · 7902f3c Raw
282 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/wlf,arizona.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs8 9maintainers:10  - patches@opensource.cirrus.com11 12description: |13  These devices are audio SoCs with extensive digital capabilities and a14  range of analogue I/O.15 16allOf:17  - $ref: /schemas/spi/spi-peripheral-props.yaml18  - $ref: /schemas/sound/wlf,arizona.yaml#19  - $ref: /schemas/regulator/wlf,arizona.yaml#20  - $ref: /schemas/extcon/wlf,arizona.yaml#21  - if:22      properties:23        compatible:24          contains:25            enum:26              - cirrus,cs47l2427              - wlf,wm183128    then:29      required:30        - DCVDD-supply31        - MICVDD-supply32    else:33      properties:34        LDOVDD-supply:35          description:36            Digital power supply, used internally to generate DCVDD when37            internally supplied.38 39  - if:40      properties:41        compatible:42          contains:43            enum:44              - wlf,wm181445              - wlf,wm510246              - wlf,wm511047              - wlf,wm828048              - wlf,wm899749              - wlf,wm899850    then:51      properties:52        DBVDD2-supply:53          description:54            Databus power supply.55 56      required:57        - DBVDD2-supply58  - if:59      properties:60        compatible:61          contains:62            enum:63              - wlf,wm181464              - wlf,wm510265              - wlf,wm511066              - wlf,wm828067              - wlf,wm899868    then:69      properties:70        DBVDD3-supply:71          description:72            Databus power supply.73 74      required:75        - DBVDD3-supply76  - if:77      properties:78        compatible:79          contains:80            enum:81              - cirrus,cs47l2482              - wlf,wm183183              - wlf,wm899784    then:85      properties:86        SPKVDD-supply:87          description:88            Mono speaker driver power supply.89 90      required:91        - SPKVDD-supply92    else:93      properties:94        SPKVDDL-supply:95          description:96            Left speaker driver power supply.97 98        SPKVDDR-supply:99          description:100            Right speaker driver power supply.101 102      required:103        - SPKVDDL-supply104        - SPKVDDR-supply105 106properties:107  compatible:108    enum:109      - cirrus,cs47l24110      - wlf,wm1814111      - wlf,wm1831112      - wlf,wm5102113      - wlf,wm5110114      - wlf,wm8280115      - wlf,wm8997116      - wlf,wm8998117 118  reg:119    maxItems: 1120 121  AVDD-supply:122    description:123      Analogue power supply.124 125  CPVDD-supply:126    description:127      Charge pump power supply.128 129  DBVDD1-supply:130    description:131      Databus power supply.132 133  DCVDD-supply:134    description:135      Digital power supply, normally supplied internally except on cs47l24,136      wm1831 where it is mandatory.137 138  MICVDD-supply:139    description:140      Microphone power supply, normally supplied internally except on141      cs47l24, wm1831 where it is mandatory.142 143  gpio-controller: true144 145  '#gpio-cells':146    description:147      The first cell is the pin number and the second cell is used to148      specify optional parameters.149    const: 2150 151  wlf,gpio-defaults:152    description:153      A list of GPIO configuration register values. Defines for the154      appropriate values can found in dt-bindings/mfd/arizona.h. If155      absent, no configuration of these registers is performed. If any156      entry has a value that is out of range for a 16 bit register then the157      chip default will be used. If present exactly five values must be158      specified.159    $ref: /schemas/types.yaml#/definitions/uint32-array160    minItems: 1161    maxItems: 5162 163  interrupt-controller: true164 165  '#interrupt-cells':166    description:167      The first cell is the IRQ number.  The second cell is the flags,168      encoded as trigger masks.169    const: 2170 171  interrupts:172    maxItems: 1173 174  clocks:175    description:176      Should reference the clocks supplied on MCLK1 and MCLK2.177    minItems: 1178    maxItems: 2179 180  clock-names:181    description:182      Should contains two strings mclk1 for the clock supplied on MCLK1,183      recommended to be a high quality audio reference clock mclk2 for the184      clock supplied on MCLK2, recommended to be an always on 32k clock.185    oneOf:186      - items:187          - const: mclk1188      - items:189          - const: mclk2190      - items:191          - const: mclk1192          - const: mclk2193 194  reset-gpios:195    maxItems: 1196 197  wlf,reset:198    description:199      GPIO specifier for the GPIO controlling RESET200    deprecated: true201    $ref: /schemas/types.yaml#/definitions/phandle-array202    maxItems: 1203 204required:205  - compatible206  - AVDD-supply207  - CPVDD-supply208  - DBVDD1-supply209  - gpio-controller210  - '#gpio-cells'211  - interrupt-controller212  - '#interrupt-cells'213  - interrupts214 215unevaluatedProperties: false216 217examples:218  - |219    #include <dt-bindings/mfd/arizona.h>220    i2c@e0004000 {221        #address-cells = <1>;222        #size-cells = <0>;223        reg = <0xe0004000 0x1000>;224 225        wm5102: codec@1a {226            compatible = "wlf,wm5102";227            reg = <0x1a>;228 229            reset-gpios = <&gpio 0>;230            wlf,ldoena = <&gpio 1>;231 232            AVDD-supply = <&vdd1v8>;233            DBVDD1-supply = <&vdd1v8>;234            DBVDD2-supply = <&vdd1v8>;235            DBVDD3-supply = <&vdd1v8>;236            CPVDD-supply = <&vdd1v8>;237            LDOVDD-supply = <&vdd1v8>;238            SPKVDDL-supply = <&vdd5v>;239            SPKVDDR-supply = <&vdd5v>;240 241            interrupts = <347>;242            interrupt-controller;243            #interrupt-cells = <2>;244            interrupt-parent = <&gic>;245 246            gpio-controller;247            #gpio-cells = <2>;248 249            #sound-dai-cells = <1>;250 251            wlf,gpio-defaults = <252                ARIZONA_GP_FN_TXLRCLK253                ARIZONA_GP_DEFAULT254                ARIZONA_GP_DEFAULT255                ARIZONA_GP_DEFAULT256                ARIZONA_GP_DEFAULT257            >;258 259            clocks = <&clks 0>, <&clks 1>;260            clock-names = "mclk1", "mclk2";261 262            wlf,inmode = <ARIZONA_INMODE_DIFF ARIZONA_INMODE_DMIC>;263            wlf,dmic-ref = <ARIZONA_DMIC_MICBIAS1 ARIZONA_DMIC_MICBIAS3>;264 265            wlf,use-jd2;266            wlf,use-jd2-nopull;267            wlf,jd-invert;268 269            wlf,micd-software-compare;270            wlf,micd-detect-debounce = <0>;271            wlf,micd-pol-gpio = <&codec 2 0>;272            wlf,micd-rate = <ARIZONA_MICD_TIME_8MS>;273            wlf,micd-dbtime = <4>;274            wlf,micd-timeout-ms = <100>;275            wlf,micd-force-micbias;276            wlf,micd-configs = <0 ARIZONA_DMIC_MICBIAS1 0>,277                               <0x2000 ARIZONA_DMIC_MICBIAS2 1>;278 279            wlf,gpsw = <ARIZONA_GPSW_OPEN>;280        };281    };282