mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
b40f707f71
The Bananapi BPi-R64 got a SATA interface which cannot be used at the same time as the second mPCIe slot. The decission is made by hogging GPIO 90. Embed two addtional DT overlay blobs into the image to allow bootloader selection of either SATA or PCIE1 feature. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
81 lines
1.5 KiB
Diff
81 lines
1.5 KiB
Diff
--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
|
+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
|
|
@@ -279,14 +279,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 <dt-bindings/gpio/gpio.h>
|
|
+
|
|
+/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 <dt-bindings/gpio/gpio.h>
|
|
+
|
|
+/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";
|
|
+ };
|
|
+ };
|
|
+};
|