1#
2# Copyright (c) 2022, Weidmueller Interface GmbH & Co. KG
3# SPDX-License-Identifier: Apache-2.0
4#
5
6description: |
7  Xilinx Zynq-7000/ZynqMP MIO/EMIO GPIO controller node.
8
9  This GPIO controller is contained in both the Xilinx Zynq-7000 and
10  ZynqMP (UltraScale) SoCs. It interfaces both I/O pins of the SoC,
11  which can be mapped in the system design tools (MIO pins), or SoC-
12  internal signals between the processor system and the programmable
13  logic part of the SoC (EMIO pins).
14
15  It is organized in banks, where the number of banks and total number
16  of available GPIO pins differs between the two SoC families:
17
18  Zynq-7000 (comp. Zynq-7000 TRM, chap. 14.1.2, p. 381):
19    * Bank 0: MIO  pins [31:00]
20    * Bank 1: MIO  pins [53:32] (total: 54 MIO pins)
21    * Bank 2: EMIO pins [31:00]
22    * Bank 3: EMIO pins [63:32] (total: 64 EMIO pins)
23
24  ZynqMP (UltraScale) (comp. Ultrascale TRM, chap. 27, p. 769):
25    * Bank 0: MIO  pins [25:00]
26    * Bank 1: MIO  pins [51:26]
27    * Bank 2: MIO  pins [77:52] (total: 78 MIO pins, 26 per bank)
28    * Bank 3: EMIO pins [31:00]
29    * Bank 4: EMIO pins [63:32]
30    * Bank 5: EMIO pins [95:64] (total: 96 EMIO pins)
31
32  The controller is interrupt-capable. Certain pins both in the Zynq-
33  7000 and the ZynqMP are reserved or at least limited regarding their
34  direction.
35
36compatible: "xlnx,ps-gpio"
37
38include: base.yaml
39
40properties:
41  reg:
42    required: true
43
44  interrupts:
45    required: true
46