1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/soc/aspeed/xdma.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Aspeed AST25XX and AST26XX XDMA Engine 8 9maintainers: 10 - Eddie James <eajames@linux.ibm.com> 11 12description: | 13 This binding describes the XDMA Engine embedded in the AST2500 and AST2600 14 SOCs. The XDMA engine can perform automatic DMA operations over PCI between 15 the SOC (acting as a BMC) and a host processor. 16 17properties: 18 compatible: 19 enum: 20 - aspeed,ast2500-xdma 21 - aspeed,ast2600-xdma 22 23 reg: 24 maxItems: 1 25 26 clocks: 27 maxItems: 1 28 29 resets: 30 minItems: 1 31 maxItems: 2 32 33 reset-names: 34 items: 35 - const: device 36 - const: root-complex 37 38 interrupts: 39 items: 40 - description: global interrupt for the XDMA engine 41 - description: PCI-E reset or PERST interrupt 42 43 aspeed,scu: 44 description: a reference to the System Control Unit node of the Aspeed SOC. 45 allOf: 46 - $ref: /schemas/types.yaml#/definitions/phandle 47 48 aspeed,pcie-device: 49 description: describes which PCI-E device the XDMA engine should use 50 allOf: 51 - $ref: /schemas/types.yaml#/definitions/string 52 - enum: [ bmc, vga ] 53 54required: 55 - compatible 56 - reg 57 - clocks 58 - resets 59 - interrupts-extended 60 - aspeed,scu 61 - memory-region 62 63if: 64 properties: 65 compatible: 66 contains: 67 const: aspeed,ast2600-xdma 68then: 69 required: 70 - reset-names 71 72additionalProperties: false 73 74examples: 75 - | 76 #include <dt-bindings/clock/ast2600-clock.h> 77 #include <dt-bindings/interrupt-controller/arm-gic.h> 78 #include <dt-bindings/interrupt-controller/aspeed-scu-ic.h> 79 syscon: syscon@1e6e2000 { 80 reg = <0x1e6e2000 0x1000>; 81 ranges = <0 0x1e6e2000 0x1000>; 82 #address-cells = <1>; 83 #size-cells = <1>; 84 #clock-cells = <1>; 85 #reset-cells = <1>; 86 scu_ic0: interrupt-controller@560 { 87 reg = <0x560 0x4>; 88 interrupt-controller; 89 #interrupt-cells = <1>; 90 }; 91 }; 92 xdma@1e6e7000 { 93 compatible = "aspeed,ast2600-xdma"; 94 reg = <0x1e6e7000 0x100>; 95 clocks = <&syscon ASPEED_CLK_GATE_BCLK>; 96 resets = <&syscon ASPEED_RESET_DEV_XDMA>, <&syscon ASPEED_RESET_RC_XDMA>; 97 reset-names = "device", "root-complex"; 98 interrupts-extended = <&gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 99 <&scu_ic0 ASPEED_AST2600_SCU_IC0_PCIE_PERST_LO_TO_HI>; 100 aspeed,scu = <&syscon>; 101 aspeed,pcie-device = "bmc"; 102 memory-region = <&vga_memory>; 103 }; 104