mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 07:46:48 +00:00
mediatek: bpi-r64: use dt-overlay to select SATA or PCIE1
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>
This commit is contained in:
parent
6890f6fe13
commit
b40f707f71
@ -6,7 +6,7 @@ ARCH:=arm
|
|||||||
BOARD:=mediatek
|
BOARD:=mediatek
|
||||||
BOARDNAME:=MediaTek Ralink ARM
|
BOARDNAME:=MediaTek Ralink ARM
|
||||||
SUBTARGETS:=mt7622 mt7623 mt7629
|
SUBTARGETS:=mt7622 mt7623 mt7629
|
||||||
FEATURES:=squashfs nand separate_ramdisk fpu
|
FEATURES:=squashfs nand separate_ramdisk fpu dt-overlay
|
||||||
|
|
||||||
KERNEL_PATCHVER:=5.4
|
KERNEL_PATCHVER:=5.4
|
||||||
KERNEL_TESTING_PATCHVER:=5.10
|
KERNEL_TESTING_PATCHVER:=5.10
|
||||||
|
@ -73,6 +73,7 @@ define Device/bananapi_bpi-r64
|
|||||||
DEVICE_VENDOR := Bananapi
|
DEVICE_VENDOR := Bananapi
|
||||||
DEVICE_MODEL := BPi-R64
|
DEVICE_MODEL := BPi-R64
|
||||||
DEVICE_DTS := mt7622-bananapi-bpi-r64
|
DEVICE_DTS := mt7622-bananapi-bpi-r64
|
||||||
|
DEVICE_DTS_OVERLAY := mt7622-bananapi-bpi-r64-pcie1 mt7622-bananapi-bpi-r64-sata
|
||||||
DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3 e2fsprogs mkf2fs f2fsck
|
DEVICE_PACKAGES := kmod-ata-ahci-mtk kmod-btmtkuart kmod-usb3 e2fsprogs mkf2fs f2fsck
|
||||||
ARTIFACTS := sdcard.img
|
ARTIFACTS := sdcard.img
|
||||||
IMAGES := sysupgrade.itb
|
IMAGES := sysupgrade.itb
|
||||||
|
@ -0,0 +1,80 @@
|
|||||||
|
--- 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";
|
||||||
|
+ };
|
||||||
|
+ };
|
||||||
|
+};
|
Loading…
Reference in New Issue
Block a user