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/mfd/cirrus,lochnagar.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/mfd/cirrus,lochnagar.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Cirrus Logic Lochnagar Audio Development Board
    8 
    9 maintainers:
   10   - patches@opensource.cirrus.com
   11 
   12 description: |
   13   Lochnagar is an evaluation and development board for Cirrus Logic
   14   Smart CODEC and Amp devices. It allows the connection of most Cirrus
   15   Logic devices on mini-cards, as well as allowing connection of
   16   various application processor systems to provide a full evaluation
   17   platform.  Audio system topology, clocking and power can all be
   18   controlled through the Lochnagar, allowing the device under test
   19   to be used in a variety of possible use cases.
   20 
   21   Also see these documents for generic binding information:
   22     [1] GPIO : ../gpio/gpio.txt
   23 
   24   And these for relevant defines:
   25     [2] include/dt-bindings/pinctrl/lochnagar.h
   26     [3] include/dt-bindings/clock/lochnagar.h
   27 
   28   And these documents for the required sub-node binding details:
   29     [4] Clock: ../clock/cirrus,lochnagar.yaml
   30     [5] Pinctrl: ../pinctrl/cirrus,lochnagar.yaml
   31     [6] Sound: ../sound/cirrus,lochnagar.yaml
   32     [7] Hardware Monitor: ../hwmon/cirrus,lochnagar.yaml
   33 
   34 allOf:
   35   - if:
   36       properties:
   37         compatible:
   38           enum:
   39             - cirrus,lochnagar2
   40     then:
   41       properties:
   42         lochnagar-hwmon:
   43           type: object
   44           $ref: /schemas/hwmon/cirrus,lochnagar.yaml#
   45 
   46         lochnagar-sc:
   47           type: object
   48           $ref: /schemas/sound/cirrus,lochnagar.yaml#
   49 
   50 properties:
   51   compatible:
   52     enum:
   53       - cirrus,lochnagar1
   54       - cirrus,lochnagar2
   55 
   56   reg:
   57     const: 0x22
   58 
   59   reset-gpios:
   60     maxItems: 1
   61 
   62   present-gpios:
   63     description: |
   64       Host present line, indicating the presence of a
   65       host system, see [1]. This can be omitted if the present line is
   66       tied in hardware.
   67     maxItems: 1
   68 
   69   lochnagar-clk:
   70     type: object
   71     $ref: /schemas/clock/cirrus,lochnagar.yaml#
   72 
   73   lochnagar-pmic32k:
   74     type: object
   75     $ref: /schemas/clock/fixed-clock.yaml#
   76     properties:
   77       clock-frequency:
   78         const: 32768
   79 
   80   lochnagar-clk12m:
   81     type: object
   82     $ref: /schemas/clock/fixed-clock.yaml#
   83     properties:
   84       clock-frequency:
   85         const: 12288000
   86 
   87   lochnagar-clk11m:
   88     type: object
   89     $ref: /schemas/clock/fixed-clock.yaml#
   90     properties:
   91       clock-frequency:
   92         const: 11298600
   93 
   94   lochnagar-clk24m:
   95     type: object
   96     $ref: /schemas/clock/fixed-clock.yaml#
   97     properties:
   98       clock-frequency:
   99         const: 24576000
  100 
  101   lochnagar-clk22m:
  102     type: object
  103     $ref: /schemas/clock/fixed-clock.yaml#
  104     properties:
  105       clock-frequency:
  106         const: 22579200
  107 
  108   lochnagar-clk8m:
  109     type: object
  110     $ref: /schemas/clock/fixed-clock.yaml#
  111     properties:
  112       clock-frequency:
  113         const: 8192000
  114 
  115   lochnagar-usb24m:
  116     type: object
  117     $ref: /schemas/clock/fixed-clock.yaml#
  118     properties:
  119       clock-frequency:
  120         const: 24576000
  121 
  122   lochnagar-usb12m:
  123     type: object
  124     $ref: /schemas/clock/fixed-clock.yaml#
  125     properties:
  126       clock-frequency:
  127         const: 12288000
  128 
  129   pinctrl:
  130     type: object
  131     $ref: /schemas/pinctrl/cirrus,lochnagar.yaml#
  132 
  133   lochnagar-hwmon:
  134     type: object
  135     $ref: /schemas/hwmon/cirrus,lochnagar.yaml#
  136 
  137   lochnagar-sc:
  138     type: object
  139     $ref: /schemas/sound/cirrus,lochnagar.yaml#
  140 
  141   VDDCORE:
  142     description:
  143       Initialisation data for the VDDCORE regulator, which supplies the
  144       CODECs digital core if not being provided by an internal regulator.
  145     type: object
  146     $ref: /schemas/regulator/regulator.yaml#
  147     properties:
  148       compatible:
  149         enum:
  150           - cirrus,lochnagar2-vddcore
  151 
  152       SYSVDD-supply:
  153         description:
  154           Primary power supply for the Lochnagar.
  155     required:
  156       - compatible
  157 
  158   MICVDD:
  159     description:
  160       Initialisation data for the MICVDD regulator, which supplies the
  161       CODECs MICVDD.
  162     type: object
  163     $ref: /schemas/regulator/regulator.yaml#
  164     properties:
  165       compatible:
  166         enum:
  167           - cirrus,lochnagar2-micvdd
  168 
  169       SYSVDD-supply:
  170         description:
  171           Primary power supply for the Lochnagar.
  172     required:
  173       - compatible
  174 
  175   MIC1VDD:
  176     description:
  177       Initialisation data for the MIC1VDD supplies.
  178     type: object
  179     $ref: /schemas/regulator/regulator.yaml#
  180     properties:
  181       compatible:
  182         enum:
  183           - cirrus,lochnagar2-mic1vdd
  184 
  185       cirrus,micbias-input:
  186         description:
  187           A property selecting which of the CODEC minicard micbias outputs
  188           should be used.
  189         $ref: /schemas/types.yaml#/definitions/uint32
  190         minimum: 1
  191         maximum: 4
  192 
  193       MICBIAS1-supply:
  194         description:
  195           Regulator supplies for the MIC1VDD outputs, supplying the digital
  196           microphones, normally supplied from the attached CODEC.
  197     required:
  198       - compatible
  199 
  200   MIC2VDD:
  201     description:
  202       Initialisation data for the MIC2VDD supplies.
  203     type: object
  204     $ref: /schemas/regulator/regulator.yaml#
  205     properties:
  206       compatible:
  207         enum:
  208           - cirrus,lochnagar2-mic2vdd
  209 
  210       cirrus,micbias-input:
  211         description:
  212           A property selecting which of the CODEC minicard micbias outputs
  213           should be used.
  214         $ref: /schemas/types.yaml#/definitions/uint32
  215         minimum: 1
  216         maximum: 4
  217 
  218       MICBIAS2-supply:
  219         description:
  220           Regulator supplies for the MIC2VDD outputs, supplying the digital
  221           microphones, normally supplied from the attached CODEC.
  222     required:
  223       - compatible
  224 
  225   VDD1V8:
  226     description:
  227       Recommended fixed regulator for the VDD1V8 regulator, which supplies
  228       the CODECs analog and 1.8V digital supplies.
  229     type: object
  230     $ref: /schemas/regulator/regulator.yaml#
  231     properties:
  232       compatible:
  233         enum:
  234           - regulator-fixed
  235 
  236       regulator-min-microvolt:
  237         const: 1800000
  238 
  239       regulator-max-microvolt:
  240         const: 1800000
  241 
  242       vin-supply:
  243         description:
  244           Should be set to same supply as SYSVDD
  245     required:
  246       - compatible
  247       - regulator-min-microvolt
  248       - regulator-max-microvolt
  249       - regulator-boot-on
  250       - regulator-always-on
  251       - vin-supply
  252 
  253 required:
  254   - compatible
  255   - reg
  256   - reset-gpios
  257   - lochnagar-clk
  258   - pinctrl
  259 
  260 additionalProperties: false
  261 
  262 examples:
  263   - |
  264     #include <dt-bindings/clk/lochnagar.h>
  265     #include <dt-bindings/pinctrl/lochnagar.h>
  266     i2c@e0004000 {
  267         #address-cells = <1>;
  268         #size-cells = <0>;
  269         reg = <0xe0004000 0x1000>;
  270 
  271         lochnagar: lochnagar@22 {
  272             compatible = "cirrus,lochnagar2";
  273             reg = <0x22>;
  274 
  275             reset-gpios = <&gpio0 55 0>;
  276             present-gpios = <&gpio0 60 0>;
  277 
  278             lochnagarclk: lochnagar-clk {
  279                 compatible = "cirrus,lochnagar2-clk";
  280 
  281                 #clock-cells = <1>;
  282                 clocks = <&clkaudio>, <&clkpmic>;
  283                 clock-names = "ln-gf-mclk2", "ln-pmic-32k";
  284 
  285                 assigned-clocks = <&lochnagarclk LOCHNAGAR_CDC_MCLK1>,
  286                                   <&lochnagarclk LOCHNAGAR_CDC_MCLK2>;
  287                 assigned-clock-parents = <&clkaudio>, <&clkpmic>;
  288             };
  289 
  290             clkpmic: lochnagar-pmic32k {
  291                 compatible = "fixed-clock";
  292                 #clock-cells = <0>;
  293                 clock-frequency = <32768>;
  294             };
  295 
  296             pinctrl {
  297                 compatible = "cirrus,lochnagar-pinctrl";
  298 
  299                 gpio-controller;
  300                 #gpio-cells = <2>;
  301                 gpio-ranges = <&lochnagar 0 0 LOCHNAGAR2_PIN_NUM_GPIOS>;
  302 
  303                 pinctrl-names = "default";
  304                 pinctrl-0 = <&pinsettings>;
  305 
  306                 pinsettings: pin-settings {
  307                     ap2aif-pins {
  308                         input-enable;
  309                         groups = "gf-aif1";
  310                         function = "codec-aif3";
  311                     };
  312                     codec2aif-pins {
  313                         output-enable;
  314                         groups = "codec-aif3";
  315                         function = "gf-aif1";
  316                     };
  317                 };
  318             };
  319 
  320             lochnagar-sc {
  321                 compatible = "cirrus,lochnagar2-soundcard";
  322 
  323                 #sound-dai-cells = <1>;
  324 
  325                 clocks = <&lochnagarclk LOCHNAGAR_SOUNDCARD_MCLK>;
  326                 clock-names = "mclk";
  327             };
  328 
  329             lochnagar-hwmon {
  330                 compatible = "cirrus,lochnagar2-hwmon";
  331             };
  332 
  333             MIC1VDD {
  334                 compatible = "cirrus,lochnagar2-mic1vdd";
  335 
  336                 cirrus,micbias-input = <3>;
  337             };
  338 
  339             MICVDD {
  340                 compatible = "cirrus,lochnagar2-micvdd";
  341 
  342                 SYSVDD-supply = <&wallvdd>;
  343 
  344                 regulator-min-microvolt = <3300000>;
  345                 regulator-max-microvolt = <3300000>;
  346             };
  347 
  348             VDD1V8 {
  349                 compatible = "regulator-fixed";
  350 
  351                 regulator-name = "VDD1V8";
  352                 regulator-min-microvolt = <1800000>;
  353                 regulator-max-microvolt = <1800000>;
  354                 regulator-boot-on;
  355                 regulator-always-on;
  356 
  357                 vin-supply = <&wallvdd>;
  358             };
  359         };
  360     };

Cache object: 986900262f3c5dcbf2f532324b04d3b2


[ 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.