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