Wind River Support Network


LIN5-7841 : wrlinux 5 - maximum numbers of GPIO for xilinz-zinq

Created: Aug 19, 2013    Updated: Dec 19, 2017
Resolved Date: Oct 24, 2013
Found In Version: 5.0.1
Fix Version:
Severity: Severe
Applicable for: Wind River Linux 5
Component/s: BSP


The Xilinx-Zynq BSP does not allow to add more than 10 further GPIO in the system. Because of standard Linux drivers (e.g. a PCA9539 GPIO expander which adds 16 further GPIOs) won't work with this BSP. 
The issue is in the Linux kernel/ BSP code in the define "ARCH_NR_GPIOS" which is set to 256 and
the driver for the Xilinx GPIO driver which already allocates 246 GPIOs. 

Steps to Reproduce

check the following sources:

 -  Xilinx GPIO driver:
    linux/drivers/gpio/gpio-xilinxps.c: chip->ngpio = 246;
 -  The maximum number of GPIOs on the Xilinx Zynq BSP is defined on 2 places:
       linux-windriver-3.4-r0/linux/arch/arm/mach-zynq/include/mach/gpio.h:#define ARCH_NR_GPIOS               256
       linux-windriver-3.4-r0/linux/arch/arm/mach-zynq/include/mach/irqs.h:#define ARCH_NR_GPIOS       256

Other Downloads

Live chat