mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
9e129c9d95
Pogoplug V3/Pro has an interanl SATA port. To use it, DTS sata node should be enabled, and kmod-ata-oxnas-sata package needs to be installed. Fixes: FS#2542 Signed-off-by: Sungbo Eo <mans0n@gorani.run>
60 lines
1.6 KiB
Diff
60 lines
1.6 KiB
Diff
--- a/drivers/ata/Kconfig
|
|
+++ b/drivers/ata/Kconfig
|
|
@@ -508,6 +508,13 @@ config SATA_VITESSE
|
|
|
|
If unsure, say N.
|
|
|
|
+config SATA_OXNAS
|
|
+ tristate "PLXTECH NAS782X SATA support"
|
|
+ help
|
|
+ This option enables support for Nas782x Serial ATA controller.
|
|
+
|
|
+ If unsure, say N.
|
|
+
|
|
comment "PATA SFF controllers with BMDMA"
|
|
|
|
config PATA_ALI
|
|
--- a/drivers/ata/Makefile
|
|
+++ b/drivers/ata/Makefile
|
|
@@ -46,6 +46,7 @@ obj-$(CONFIG_SATA_SVW) += sata_svw.o
|
|
obj-$(CONFIG_SATA_ULI) += sata_uli.o
|
|
obj-$(CONFIG_SATA_VIA) += sata_via.o
|
|
obj-$(CONFIG_SATA_VITESSE) += sata_vsc.o
|
|
+obj-$(CONFIG_SATA_OXNAS) += sata_oxnas.o
|
|
|
|
# SFF PATA w/ BMDMA
|
|
obj-$(CONFIG_PATA_ALI) += pata_ali.o
|
|
--- a/arch/arm/boot/dts/ox820.dtsi
|
|
+++ b/arch/arm/boot/dts/ox820.dtsi
|
|
@@ -399,5 +399,20 @@
|
|
plxtech,pcie-outbound-offset = <0x174>;
|
|
status = "disabled";
|
|
};
|
|
+
|
|
+ sata: sata@45900000 {
|
|
+ compatible = "plxtech,nas782x-sata";
|
|
+ /* ports dmactl sgdma */
|
|
+ reg = <0x45900000 0x20000>, <0x459A0000 0x40>, <0x459B0000 0x20>,
|
|
+ /* core phy descriptors (optional) */
|
|
+ <0x459E0000 0x2000>, <0x44900000 0x0C>, <0x50000000 0x1000>;
|
|
+ interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
|
|
+ clocks = <&stdclk CLK_820_SATA>;
|
|
+ resets = <&reset RESET_SATA>, <&reset RESET_SATA_LINK>, <&reset RESET_SATA_PHY>;
|
|
+ reset-names = "sata", "link", "phy";
|
|
+ nr-ports = <1>;
|
|
+ status = "disabled";
|
|
+ };
|
|
+
|
|
};
|
|
};
|
|
--- a/arch/arm/boot/dts/ox820-cloudengines-pogoplug-series-3.dts
|
|
+++ b/arch/arm/boot/dts/ox820-cloudengines-pogoplug-series-3.dts
|
|
@@ -111,3 +111,7 @@
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_etha_mdio>;
|
|
};
|
|
+
|
|
+&sata {
|
|
+ status = "okay";
|
|
+};
|