<div>Hi,<br><br>I am also trying to use Xilinx GPIO driver on my board but I encounter some problems. I thought they will be resolved with this information but it doesn&#39;t.<br><br>I use GPIO driver as built-in but during kernel boot but I don&#39;t see log about it contrary to Xemac driver for instance. First I wanted to create my gpio driver normally without using Xilinx one, with ioremap and writel/readl but I didn&#39;t write anything in the register, I don&#39;t know why. Then I tried to use Xilinx GPIO driver but I don&#39;t know why I don&#39;t hit xgpio_probe, xgpio_init returns 0 so it&#39;s OK.<br>
<br>Do you have any idea ?<br><br>Thanks<br><br>Ludovic Desroches<br>&nbsp;</div><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote"><pre>arch/ppc/syslib/virtex_devices.c:<br>
<br>&gt;<i> // 0 is LEDS_4BIT, 1 is LEDS_POSITIONS, 2 is PUSH_BUTTONS_POSITION<br></i>&gt;<i> #define XPAR_GPIO(num) { \<br></i>&gt;<i>    .name = &quot;xilinx_gpio&quot;, \<br></i>&gt;<i>    .id = num, \<br></i>&gt;<i>    .num_resources = 2, \<br>
</i>That was a 2.<br>If anybody wants to make a patch out of those few lines of code, I couldn&#39;t <br>figure out how to do this with git... But I will use a more general GPIO <br>approach as soon as I can put my hands on our custom card.<br>
<br>&gt;<i>    .resource = (struct resource[]) { \<br></i>&gt;<i>        { \<br></i>&gt;<i>            .start = XPAR_GPIO_##num##_BASEADDR, \<br></i>&gt;<i>            .end = XPAR_GPIO_##num##_HIGHADDR, \<br></i>&gt;<i>            .flags = IORESOURCE_MEM, \<br>
</i>&gt;<i>        }, \<br></i>&gt;<i>        { \<br></i>&gt;<i>            .start = XPAR_INTC_0_GPIO_##num##_VEC_ID, \<br></i>&gt;<i>            .flags = IORESOURCE_IRQ, \<br></i>&gt;<i>        }, \<br></i>&gt;<i>    }, \<br>
</i>&gt;<i> }<br></i>&gt;<i> [...]<br></i>&gt;<i>      /* GPIO instances */<br></i>&gt;<i> #if defined(XPAR_GPIO_0_BASEADDR)<br></i>&gt;<i>      XPAR_GPIO(0),<br></i>&gt;<i> #endif<br></i>&gt;<i> #if defined(XPAR_GPIO_1_BASEADDR)<br>
</i>&gt;<i>      XPAR_GPIO(1),<br></i>&gt;<i> #endif<br></i>&gt;<i> #if defined(XPAR_GPIO_2_BASEADDR)<br></i>&gt;<i>      XPAR_GPIO(2),<br></i>&gt;<i> #endif<br></i></pre></blockquote><br clear="all"><br>