--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts @@ -297,14 +297,14 @@ &pcie1 { pinctrl-names = "default"; pinctrl-0 = <&pcie1_pins>; - status = "okay"; + status = "disabled"; }; &pio { /* Attention: GPIO 90 is used to switch between PCIe@1,0 and * SATA functions. i.e. output-high: PCIe, output-low: SATA */ - asm_sel { + asmsel: asm_sel { gpio-hog; gpios = <90 GPIO_ACTIVE_HIGH>; output-high; --- /dev/null +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64-sata.dts @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */ + +#include + +/dts-v1/; +/plugin/; + +/ { + compatible = "bananapi,bpi-r64", "mediatek,mt7622"; + + fragment@0 { + target = <&asmsel>; + __overlay__ { + gpios = <90 GPIO_ACTIVE_LOW>; + }; + }; + + fragment@1 { + target = <&sata>; + __overlay__ { + status = "okay"; + }; + }; + + fragment@2 { + target = <&sata_phy>; + __overlay__ { + status = "okay"; + }; + }; +}; --- /dev/null +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64-pcie1.dts @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */ + +#include + +/dts-v1/; +/plugin/; + +/ { + compatible = "bananapi,bpi-r64", "mediatek,mt7622"; + + fragment@0 { + target = <&asmsel>; + __overlay__ { + gpios = <90 GPIO_ACTIVE_HIGH>; + }; + }; + + fragment@1 { + target = <&pcie1>; + __overlay__ { + status = "okay"; + }; + }; +};