cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cirrus,lochnagar.yaml (9333B)


      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
      7title: Cirrus Logic Lochnagar Audio Development Board
      8
      9maintainers:
     10  - patches@opensource.cirrus.com
     11
     12description: |
     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
     34allOf:
     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
     50properties:
     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
    253required:
    254  - compatible
    255  - reg
    256  - reset-gpios
    257  - lochnagar-clk
    258  - pinctrl
    259
    260additionalProperties: false
    261
    262examples:
    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    };