芯片爲zynq7010
將zynq的linux系統 linux-xlnx-xilinx-v2016.4 更新到 linux-xlnx-xlnx_rebase_v4.14 時,啓動系統,出現了以下錯誤
xilinx-gpio 41200000.gpio: Input clock not found
xilinx-gpio: probe of 41200000.gpio failed with error -2
xilinx-gpio 41210000.gpio: Input clock not found
xilinx-gpio: probe of 41210000.gpio failed with error -2
查看發現了一個帖子,發現設備樹需要添加上時鐘 clocks = <&clkc 15>;
帖子鏈接如下:
https://forums.xilinx.com/t5/7-Series-FPGAs/axi-gpio-broken-in-Petalinux-2018-1/td-p/886206
修改後發現還是不行,同樣提示錯誤,後發現還需添加 clock-names = "s_axi_aclk"; 具體如下:
axi_gpio_0: gpio@41200000 {
#gpio-cells = <2>;
#interrupt-cells = <2>;
clock-names = "s_axi_aclk";
clocks = <&clkc 15>;
compatible = "xlnx,xps-gpio-1.00.a";
gpio-controller ;
interrupt-controller ;
interrupt-parent = <&intc>;
interrupts = <0 29 4>;
reg = <0x41200000 0x10000>;
xlnx,all-inputs = <0x1>;
xlnx,all-inputs-2 = <0x0>;
xlnx,all-outputs = <0x0>;
xlnx,all-outputs-2 = <0x0>;
xlnx,dout-default = <0x00000000>;
xlnx,dout-default-2 = <0x00000000>;
xlnx,gpio-width = <0x2>;
xlnx,gpio2-width = <0x1>;
xlnx,interrupt-present = <0x1>;
xlnx,is-dual = <0x0>;
xlnx,tri-default = <0xFFFFFFFF>;
xlnx,tri-default-2 = <0xFFFFFFFF>;
};
更新完成後,還發現一個問題,系統打印如下:
XGpio: /amba_pl/gpio@41200000: registered, base is 1022
XGpio: /amba_pl/gpio@41210000: registered, base is 1021
AXI-GPIO識別號從原來的904、903變成了1022、1021