cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
351 Views
Registered: ‎02-06-2018

Petalinux registers a different address for peripherals

Hi

In my design, axi_gpio_0 is assigned an address of 0xa0000000 in Address Editor but when Petalinux boots, I see the following:

[    1.800127] GPIO IRQ not connected
[    1.803070] XGpio: gpio@a00c0000: registered, base is 507
[    1.808593] GPIO IRQ not connected
[    1.811735] XGpio: gpio@a00c1000: registered, base is 499

and it means gpio is registered at 0xa00c0000 (which works). pl.dtsi looks like:

axi_gpio_0: gpio@a0000000 {
                #gpio-cells = <3>;
                #interrupt-cells = <2>;
                clock-names = "s_axi_aclk";
                clocks = <&zynqmp_clk 71>;
                compatible = "xlnx,axi-gpio-2.0", "xlnx,xps-gpio-1.00.a";
                gpio-controller ;
                interrupt-controller ;
                interrupt-names = "ip2intc_irpt";
                interrupt-parent = <&gic>;
                interrupts = <0 89 4>;
                reg = <0x0 0xa0000000 0x0 0x1000>;
                xlnx,all-inputs = <0x0>;
                xlnx,all-inputs-2 = <0x0>;
                xlnx,all-outputs = <0x1>;
                xlnx,all-outputs-2 = <0x0>;
                xlnx,dout-default = <0x00000000>;
                xlnx,dout-default-2 = <0x00000000>;
                xlnx,gpio-width = <0x8>;
                xlnx,gpio2-width = <0x20>;
                xlnx,interrupt-present = <0x1>;
                xlnx,is-dual = <0x0>;
                xlnx,tri-default = <0xFFFFFFFF>;
                xlnx,tri-default-2 = <0xFFFFFFFF>;
            };

So I expect GPIO to be registered at 0xa0000000. Why there is a difference in address assignment?

Thanks

0 Kudos
3 Replies
Highlighted
Explorer
Explorer
297 Views
Registered: ‎02-06-2018

Re: Petalinux registers a different address for peripherals

I have been studying Yocto workflow and Xilinx documentations and I still don't have an answer to this question. I would be grateful if you could guide me to correct reference to find an answer for it.
0 Kudos
Highlighted
Explorer
Explorer
252 Views
Registered: ‎02-06-2018

Re: Petalinux registers a different address for peripherals

I removed "AXI GPIO" from my design but petalinux still reports the following when it boots:

 

 GPIO IRQ not connected
 XGpio: gpio@a00c0000: registered, base is 507
 GPIO IRQ not connected
 XGpio: gpio@a00c1000: registered, base is 499

I think this means that AXI GPIO was not even recognized by petalinux, although I see gpio@0xa0000000 in dtsi file. am I right? I am not sure what I'm missing.

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
245 Views
Registered: ‎05-15-2018

Re: Petalinux registers a different address for peripherals

Hi @arashr 

After removing the AXI GPIO node from your design, did you do a petalinux-config --get-hw-description=<path_to_your_new_hdf>?

If so, can you verify that the dts files in <plnx_proj>/components/plnx_workspace/device-tree/device-tree reflect the removal of this node.

After petalinux-build, you can decompile the device tree blob (system.dtb) found under images/linux directory using the following command:

dtc -I dtb -O dts -o system.dts system.dtb

The system.dts file will tell you what all nodes are being packaged into the linux image.

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos