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