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