114 lines · yaml
1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause2%YAML 1.23---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 controller8 9maintainers:10 - Sven Peter <sven@svenpeter.dev>11 12properties:13 compatible:14 items:15 - enum:16 - apple,t8103-nvme-ans217 - apple,t8112-nvme-ans218 - apple,t6000-nvme-ans219 - const: apple,nvme-ans220 21 reg:22 items:23 - description: NVMe and NVMMU registers24 - description: ANS2 co-processor control registers25 26 reg-names:27 items:28 - const: nvme29 - const: ans30 31 resets:32 maxItems: 133 34 power-domains:35 # two domains for t8103, three for t600036 minItems: 237 items:38 - description: power domain for the NVMe controller.39 - description: power domain for the first PCIe bus connecting the NVMe40 controller to the storage modules.41 - description: optional power domain for the second PCIe bus42 connecting the NVMe controller to the storage modules.43 44 power-domain-names:45 minItems: 246 items:47 - const: ans48 - const: apcie049 - const: apcie150 51 mboxes:52 maxItems: 153 description: Mailbox of the ANS2 co-processor54 55 interrupts:56 maxItems: 157 58 apple,sart:59 $ref: /schemas/types.yaml#/definitions/phandle60 description: |61 Reference to the SART address filter.62 63 The SART address filter is documented in iommu/apple,sart.yaml.64 65if:66 properties:67 compatible:68 contains:69 enum:70 - apple,t8103-nvme-ans271 - apple,t8112-nvme-ans272then:73 properties:74 power-domains:75 maxItems: 276 power-domain-names:77 maxItems: 278else:79 properties:80 power-domains:81 minItems: 382 power-domain-names:83 minItems: 384 85required:86 - compatible87 - reg88 - reg-names89 - resets90 - power-domains91 - power-domain-names92 - mboxes93 - interrupts94 - apple,sart95 96additionalProperties: false97 98examples:99 - |100 #include <dt-bindings/interrupt-controller/apple-aic.h>101 #include <dt-bindings/interrupt-controller/irq.h>102 103 nvme@7bcc0000 {104 compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2";105 reg = <0x7bcc0000 0x40000>, <0x77400000 0x4000>;106 reg-names = "nvme", "ans";107 interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;108 mboxes = <&ans>;109 apple,sart = <&sart>;110 power-domains = <&ps_ans2>, <&ps_apcie_st>;111 power-domain-names = "ans", "apcie0";112 resets = <&ps_ans2>;113 };114