# # Copyright (c) 2022, Weidmueller Interface GmbH & Co. KG # SPDX-License-Identifier: Apache-2.0 # description: | Xilinx Zynq-7000/ZynqMP MIO/EMIO GPIO controller node. This GPIO controller is contained in both the Xilinx Zynq-7000 and ZynqMP (UltraScale) SoCs. It interfaces both I/O pins of the SoC, which can be mapped in the system design tools (MIO pins), or SoC- internal signals between the processor system and the programmable logic part of the SoC (EMIO pins). It is organized in banks, where the number of banks and total number of available GPIO pins differs between the two SoC families: Zynq-7000 (comp. Zynq-7000 TRM, chap. 14.1.2, p. 381): * Bank 0: MIO pins [31:00] * Bank 1: MIO pins [53:32] (total: 54 MIO pins) * Bank 2: EMIO pins [31:00] * Bank 3: EMIO pins [63:32] (total: 64 EMIO pins) ZynqMP (UltraScale) (comp. Ultrascale TRM, chap. 27, p. 769): * Bank 0: MIO pins [25:00] * Bank 1: MIO pins [51:26] * Bank 2: MIO pins [77:52] (total: 78 MIO pins, 26 per bank) * Bank 3: EMIO pins [31:00] * Bank 4: EMIO pins [63:32] * Bank 5: EMIO pins [95:64] (total: 96 EMIO pins) The controller is interrupt-capable. Certain pins both in the Zynq- 7000 and the ZynqMP are reserved or at least limited regarding their direction. compatible: "xlnx,ps-gpio" include: base.yaml properties: reg: required: true interrupts: required: true