xref: /linux/Documentation/devicetree/bindings/ata/intel,ixp4xx-compact-flash.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1be470496SLinus Walleij# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2be470496SLinus Walleij%YAML 1.2
3be470496SLinus Walleij---
4be470496SLinus Walleij$id: http://devicetree.org/schemas/ata/intel,ixp4xx-compact-flash.yaml#
5be470496SLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml#
6be470496SLinus Walleij
7be470496SLinus Walleijtitle: Intel IXP4xx CompactFlash Card Controller
8be470496SLinus Walleij
9be470496SLinus Walleijmaintainers:
10be470496SLinus Walleij  - Linus Walleij <linus.walleij@linaro.org>
11be470496SLinus Walleij
12be470496SLinus Walleijdescription: |
13be470496SLinus Walleij  The IXP4xx network processors have a CompactFlash interface that presents
14be470496SLinus Walleij  a CompactFlash card to the system as a true IDE (parallel ATA) device. The
15be470496SLinus Walleij  device is always connected to the expansion bus of the IXP4xx SoCs using one
16be470496SLinus Walleij  or two chip select areas and address translating logic on the board. The
17be470496SLinus Walleij  node must be placed inside a chip select node on the IXP4xx expansion bus.
18be470496SLinus Walleij
19be470496SLinus Walleijproperties:
20be470496SLinus Walleij  compatible:
21be470496SLinus Walleij    const: intel,ixp4xx-compact-flash
22be470496SLinus Walleij
23be470496SLinus Walleij  reg:
24be470496SLinus Walleij    items:
25be470496SLinus Walleij      - description: Command interface registers
26be470496SLinus Walleij      - description: Control interface registers
27be470496SLinus Walleij
28be470496SLinus Walleij  interrupts:
29be470496SLinus Walleij    maxItems: 1
30be470496SLinus Walleij
31be470496SLinus Walleijrequired:
32be470496SLinus Walleij  - compatible
33be470496SLinus Walleij  - reg
34be470496SLinus Walleij  - interrupts
35be470496SLinus Walleij
36be470496SLinus WalleijallOf:
37be470496SLinus Walleij  - $ref: pata-common.yaml#
38*770ba14bSKrzysztof Kozlowski  - $ref: /schemas/memory-controllers/intel,ixp4xx-expansion-peripheral-props.yaml#
39be470496SLinus Walleij
40be470496SLinus WalleijunevaluatedProperties: false
41be470496SLinus Walleij
42be470496SLinus Walleijexamples:
43be470496SLinus Walleij  - |
44be470496SLinus Walleij    #include <dt-bindings/interrupt-controller/irq.h>
45be470496SLinus Walleij
46be470496SLinus Walleij    bus@c4000000 {
47be470496SLinus Walleij      compatible = "intel,ixp43x-expansion-bus-controller", "syscon";
48be470496SLinus Walleij      reg = <0xc4000000 0x1000>;
49be470496SLinus Walleij      native-endian;
50be470496SLinus Walleij      #address-cells = <2>;
51be470496SLinus Walleij      #size-cells = <1>;
52be470496SLinus Walleij      ranges = <0 0x0 0x50000000 0x01000000>, <1 0x0 0x51000000 0x01000000>;
53be470496SLinus Walleij      dma-ranges = <0 0x0 0x50000000 0x01000000>, <1 0x0 0x51000000 0x01000000>;
54be470496SLinus Walleij      ide@1,0 {
55be470496SLinus Walleij        compatible = "intel,ixp4xx-compact-flash";
56be470496SLinus Walleij        reg = <1 0x00000000 0x1000>, <1 0x00040000 0x1000>;
57be470496SLinus Walleij        interrupt-parent = <&gpio0>;
58be470496SLinus Walleij        interrupts = <12 IRQ_TYPE_EDGE_RISING>;
59be470496SLinus Walleij      };
60be470496SLinus Walleij    };
61be470496SLinus Walleij
62be470496SLinus Walleij...
63