xref: /openbmc/linux/Documentation/devicetree/bindings/memory-controllers/qca,ath79-ddr-controller.yaml (revision 577f425859e01fb1e83e86b4a5e04b35205d3e58)
1*577f4258SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0
2*577f4258SKrzysztof Kozlowski%YAML 1.2
3*577f4258SKrzysztof Kozlowski---
4*577f4258SKrzysztof Kozlowski$id: http://devicetree.org/schemas/memory-controllers/qca,ath79-ddr-controller.yaml#
5*577f4258SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*577f4258SKrzysztof Kozlowski
7*577f4258SKrzysztof Kozlowskititle: Qualcomm Atheros AR7xxx/AR9xxx DDR controller
8*577f4258SKrzysztof Kozlowski
9*577f4258SKrzysztof Kozlowskimaintainers:
10*577f4258SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11*577f4258SKrzysztof Kozlowski
12*577f4258SKrzysztof Kozlowskidescription: |
13*577f4258SKrzysztof Kozlowski  The DDR controller of the AR7xxx and AR9xxx families provides an interface to
14*577f4258SKrzysztof Kozlowski  flush the FIFO between various devices and the DDR. This is mainly used by
15*577f4258SKrzysztof Kozlowski  the IRQ controller to flush the FIFO before running the interrupt handler of
16*577f4258SKrzysztof Kozlowski  such devices.
17*577f4258SKrzysztof Kozlowski
18*577f4258SKrzysztof Kozlowskiproperties:
19*577f4258SKrzysztof Kozlowski  compatible:
20*577f4258SKrzysztof Kozlowski    oneOf:
21*577f4258SKrzysztof Kozlowski      - items:
22*577f4258SKrzysztof Kozlowski          - const: qca,ar9132-ddr-controller
23*577f4258SKrzysztof Kozlowski          - const: qca,ar7240-ddr-controller
24*577f4258SKrzysztof Kozlowski      - items:
25*577f4258SKrzysztof Kozlowski          - enum:
26*577f4258SKrzysztof Kozlowski              - qca,ar7100-ddr-controller
27*577f4258SKrzysztof Kozlowski              - qca,ar7240-ddr-controller
28*577f4258SKrzysztof Kozlowski
29*577f4258SKrzysztof Kozlowski  "#qca,ddr-wb-channel-cells":
30*577f4258SKrzysztof Kozlowski    description: |
31*577f4258SKrzysztof Kozlowski      Specifies the number of cells needed to encode the write buffer channel
32*577f4258SKrzysztof Kozlowski      index.
33*577f4258SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/uint32
34*577f4258SKrzysztof Kozlowski    const: 1
35*577f4258SKrzysztof Kozlowski
36*577f4258SKrzysztof Kozlowski  reg:
37*577f4258SKrzysztof Kozlowski    maxItems: 1
38*577f4258SKrzysztof Kozlowski
39*577f4258SKrzysztof Kozlowskirequired:
40*577f4258SKrzysztof Kozlowski  - compatible
41*577f4258SKrzysztof Kozlowski  - "#qca,ddr-wb-channel-cells"
42*577f4258SKrzysztof Kozlowski  - reg
43*577f4258SKrzysztof Kozlowski
44*577f4258SKrzysztof KozlowskiadditionalProperties: false
45*577f4258SKrzysztof Kozlowski
46*577f4258SKrzysztof Kozlowskiexamples:
47*577f4258SKrzysztof Kozlowski  - |
48*577f4258SKrzysztof Kozlowski    ddr_ctrl: memory-controller@18000000 {
49*577f4258SKrzysztof Kozlowski        compatible = "qca,ar9132-ddr-controller",
50*577f4258SKrzysztof Kozlowski                     "qca,ar7240-ddr-controller";
51*577f4258SKrzysztof Kozlowski        reg = <0x18000000 0x100>;
52*577f4258SKrzysztof Kozlowski
53*577f4258SKrzysztof Kozlowski        #qca,ddr-wb-channel-cells = <1>;
54*577f4258SKrzysztof Kozlowski    };
55*577f4258SKrzysztof Kozlowski
56*577f4258SKrzysztof Kozlowski    interrupt-controller {
57*577f4258SKrzysztof Kozlowski        // ...
58*577f4258SKrzysztof Kozlowski        qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
59*577f4258SKrzysztof Kozlowski        qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
60*577f4258SKrzysztof Kozlowski                              <&ddr_ctrl 0>, <&ddr_ctrl 1>;
61*577f4258SKrzysztof Kozlowski    };
62