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