2016-09-01 23 views
0

我一直在嘗試在設備上設置簡單的幀緩衝區,並且遇到設備樹問題。目前,我有它的設置非常多,因爲它是在文檔中:設備樹中的簡單幀緩衝器

chosen { 
    #address-cells = <1>; 
    #size-cells = <1>; 

    framebuffer0: [email protected] 
    { 
      compatible = "simple-framebuffer"; 
      reg = <0x1817000 (1920*1080*4)>; 
      width = <1920>; 
      height = <1080>; 
      stride = <(1920*4)>; 
      format = "a8b8g8r8"; 
    }; 

}; 

在引導過程中,我得到的錯誤是:

simple-framebuffer chosen:[email protected]: No memory resource 
simple-framebuffer: probe of chosen:[email protected] failed with error -22 

從simplefb代碼,我看到它失敗在以下方面:

mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 
    if (!mem) { 
      dev_err(&pdev->dev, "No memory resource\n"); 
      return -EINVAL; 
    } 

一些互聯網人士告訴IORESOURCE_MEM是reg屬性,它被定義,所以我百思不得其解什麼可能是錯誤的。

回答

0

我有類似的問題 我加了範圍;和status =「好吧」它爲我工作。 Zynq也是如此。

chosen { 
    #address-cells = <0x1>; 
    #size-cells = <0x1>; 
    ranges; 
    framebuffer0: [email protected] 
    { 
      compatible = "simple-framebuffer"; 
      reg = <0x1817000 (1920*1080*4)>; 
      width = <1920>; 
      height = <1080>; 
      stride = <(1920*4)>; 
      format = "a8b8g8r8"; 
      status = "okay" 
    }; 

};