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