web-dev-qa-db-ja.com

デバイスツリーを編集してドライバーの読み込みを無効にする

以下は、デバイスツリーのセクションです。

ps7_ethernet_0: ps7-ethernet@e000b000 {
    #address-cells = <1>;
    #size-cells = <0>;
    clock-names = "ref_clk", "aper_clk";
    clocks = <&clkc 13>, <&clkc 30>;
    /* compatible = "xlnx,ps7-ethernet-1.00.a";*/
    interrupt-parent = <&ps7_scugic_0>;
    interrupts = <0 22 4>;
    local-mac-address = [ 00 0a 35 00 6a 3e ];
    phy-handle = <&phy0>;
    phy-mode = "rgmii-id";
    reg = <0xe000b000 0x1000>;
    xlnx,enet-reset = "MIO 11";
    xlnx,eth-mode = <0x1>;
    xlnx,has-mdio = <0x1>;
    xlnx,ptp-enet-clock = <111111115>;
    mdio {
            #address-cells = <1>;
            #size-cells = <0>;
            phy0: phy@7 {
                    compatible = "marvell,88e1116r";
                    device_type = "ethernet-phy";
                    reg = <7>;
            } ;
    } ;
} ;

これは、OSがイーサネット用のドライバーをロードすることを示しています。 OSがこれを行うのを止めたい。ブロック全体にコメントしただけの場合は、エラーを報告してください。では、イーサネットが無効になり、drievrがロードされないように、デバイスツリーを編集するにはどうすればよいですか?

3
gpuguy

次を追加して、デバイスノードを無効にできます。

ps7_ethernet_0: ps7-ethernet@e000b000 {
    ...
    status = "disabled";
};

デバイスツリーのインクルード構造に応じて、ボード仕様レベルでこれを追加する必要があります。そうしないと、status = "disabled";がどこかでstatus = "okay";によって上書きされる可能性があります。

2
steffenp