File Index
Files and directories
Sign in
FILE

apple,nvme-ans.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/nvme/apple,nvme-ans.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/nvme/apple,nvme-ans.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Apple ANS NVM Express host controller
  8
  9maintainers:
 10  - Sven Peter <sven@svenpeter.dev>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - const: apple,t8015-nvme-ans2
 16      - items:
 17          - const: apple,t6020-nvme-ans2
 18          - const: apple,t8103-nvme-ans2
 19      - items:
 20          - enum:
 21              # Do not add additional SoC to this list.
 22              - apple,t8103-nvme-ans2
 23              - apple,t8112-nvme-ans2
 24              - apple,t6000-nvme-ans2
 25          - const: apple,nvme-ans2
 26
 27  reg:
 28    items:
 29      - description: NVMe and NVMMU registers
 30      - description: ANS2 co-processor control registers
 31
 32  reg-names:
 33    items:
 34      - const: nvme
 35      - const: ans
 36
 37  resets:
 38    maxItems: 1
 39
 40  power-domains:
 41    # two domains for t8103, three for t6000
 42    minItems: 2
 43    items:
 44      - description: power domain for the NVMe controller.
 45      - description: power domain for the first PCIe bus connecting the NVMe
 46          controller to the storage modules.
 47      - description: optional power domain for the second PCIe bus
 48          connecting the NVMe controller to the storage modules.
 49
 50  power-domain-names:
 51    minItems: 2
 52    items:
 53      - const: ans
 54      - const: apcie0
 55      - const: apcie1
 56
 57  mboxes:
 58    maxItems: 1
 59    description: Mailbox of the ANS2 co-processor
 60
 61  interrupts:
 62    maxItems: 1
 63
 64  apple,sart:
 65    $ref: /schemas/types.yaml#/definitions/phandle
 66    description: |
 67      Reference to the SART address filter.
 68
 69      The SART address filter is documented in iommu/apple,sart.yaml.
 70
 71if:
 72  properties:
 73    compatible:
 74      contains:
 75        enum:
 76          - apple,t6000-nvme-ans2
 77          - apple,t6020-nvme-ans2
 78then:
 79  properties:
 80    power-domains:
 81      minItems: 3
 82    power-domain-names:
 83      minItems: 3
 84else:
 85  properties:
 86    power-domains:
 87      maxItems: 2
 88    power-domain-names:
 89      maxItems: 2
 90
 91required:
 92  - compatible
 93  - reg
 94  - reg-names
 95  - resets
 96  - power-domains
 97  - power-domain-names
 98  - mboxes
 99  - interrupts
100  - apple,sart
101
102additionalProperties: false
103
104examples:
105  - |
106    #include <dt-bindings/interrupt-controller/apple-aic.h>
107    #include <dt-bindings/interrupt-controller/irq.h>
108
109    nvme@7bcc0000 {
110      compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2";
111      reg = <0x7bcc0000 0x40000>, <0x77400000 0x4000>;
112      reg-names = "nvme", "ans";
113      interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;
114      mboxes = <&ans>;
115      apple,sart = <&sart>;
116      power-domains = <&ps_ans2>, <&ps_apcie_st>;
117      power-domain-names = "ans", "apcie0";
118      resets = <&ps_ans2>;
119    };
~/ Read-only file preview.