for anyone interested these are the basic kernel patches:
the change to the ethernet node could probably go upstream
Hello again ! I've recently put together a new build.
CHANGES OF NOTE:
* Latest glibc / 5.10 kernel / openwrt packages
* Reworked the ethernet node in the DTS file ! (no more weird load problem and network restarts are possible without issue !)
* Led functionality is now enabled and configurable from GUI
* Small change copied from ayufan for power.
* Small xhci change lifted from git.kernel.org
DOWNLOAD LINKS:
EXT4 Filesystem:
https://disk.yandex.com/d/K4d4knF7iBqkHw
SQUASHFS Filesystem:
https://disk.yandex.com/d/IG8mO4kMOPetwQ
TODO:
* Release the patches I have that make this build (see above post for the main kernel patches)
* Possibly get sound and display working
* Possibly add more packages/support for things like qos
OUTSTANDING:
* Asix ax88179 adapter is still unreliable for me when plugged directly into the usb3 port. It appears to be much better when plugged into a usb3 hub (I haven't been able to crash it yet though i'm not sure this driver has ever been reliable when using bridging vendor or no vendor)
* I've switched the realtek r8152 driver to the vendor driver. The rtl8156 (2.5gbps) may stil be unreliable or only operate in 1gbps mode though.
the change to the ethernet node could probably go upstream
Code:
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 95ab6928cfd4..13385bf3daa6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -45,7 +45,8 @@ vcc_host_5v: vcc-host-5v-regulator {
vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
compatible = "regulator-fixed";
- gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
+ enable-active-high;
+ gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb20_host_drv>;
regulator-name = "vcc_host1_5v";
@@ -87,7 +88,8 @@ standby_led: led-1 {
sound {
compatible = "audio-graph-card";
label = "rockchip,rk3328";
- dais = <&i2s1_p0
+ dais = <&i2s0_p0
+ &i2s1_p0
&spdif_p0>;
};
@@ -161,12 +163,30 @@ &gmac2io {
&hdmi {
status = "okay";
+
+ port@0 {
+ hdmi_p0_0: endpoint {
+ remote-endpoint = <&i2s0_p0_0>;
+ };
+ };
};
&hdmiphy {
status = "okay";
};
+&i2s0 {
+ status = "okay";
+
+ i2s0_p0: port {
+ i2s0_p0_0: endpoint {
+ dai-format = "i2s";
+ mclk-fs = <256>;
+ remote-endpoint = <&hdmi_p0_0>;
+ };
+ };
+};
+
&i2c1 {
status = "okay";
@@ -365,6 +385,9 @@ &tsadc {
&uart2 {
status = "okay";
+
+ /delete-property/ dmas;
+ /delete-property/ dma-names;
};
&u2phy {
@@ -397,6 +420,15 @@ &usb_host0_ohci {
status = "okay";
};
+&usbdrd3 {
+ status = "okay";
+};
+
+&usbdrd_dwc3 {
+ dr_mode = "host";
+ status = "okay";
+};
+
&vop {
status = "okay";
};
Code:
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 13385bf3daa6..7711efd856a8 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -148,17 +148,30 @@ &gmac2io {
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
clock_in_out = "input";
- phy-supply = <&vcc_io>;
+ phy-handle = <&rtl8211f>;
phy-mode = "rgmii";
- pinctrl-names = "default";
+ phy-supply = <&vcc_io>;
pinctrl-0 = <&rgmiim1_pins>;
- snps,force_thresh_dma_mode;
- snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
- snps,reset-active-low;
- snps,reset-delays-us = <0 10000 50000>;
- tx_delay = <0x24>;
+ pinctrl-names = "default";
+ snps,aal;
rx_delay = <0x18>;
+ tx_delay = <0x24>;
status = "okay";
+
+ mdio {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ rtl8211f: ethernet-phy@1 {
+ reg = <1>;
+ pinctrl-0 = <ð_phy_reset_pin>;
+ pinctrl-names = "default";
+ reset-assert-us = <10000>;
+ reset-deassert-us = <50000>;
+ reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+ };
+ };
};
&hdmi {
@@ -323,6 +336,12 @@ &io_domains {
};
&pinctrl {
+ gmac2io {
+ eth_phy_reset_pin: eth-phy-reset-pin {
+ rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
+ };
+ };
+
ir {
ir_int: ir-int {
rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
Hello again ! I've recently put together a new build.
CHANGES OF NOTE:
* Latest glibc / 5.10 kernel / openwrt packages
* Reworked the ethernet node in the DTS file ! (no more weird load problem and network restarts are possible without issue !)
* Led functionality is now enabled and configurable from GUI
* Small change copied from ayufan for power.
* Small xhci change lifted from git.kernel.org
DOWNLOAD LINKS:
EXT4 Filesystem:
https://disk.yandex.com/d/K4d4knF7iBqkHw
SQUASHFS Filesystem:
https://disk.yandex.com/d/IG8mO4kMOPetwQ
TODO:
* Release the patches I have that make this build (see above post for the main kernel patches)
* Possibly get sound and display working
* Possibly add more packages/support for things like qos
OUTSTANDING:
* Asix ax88179 adapter is still unreliable for me when plugged directly into the usb3 port. It appears to be much better when plugged into a usb3 hub (I haven't been able to crash it yet though i'm not sure this driver has ever been reliable when using bridging vendor or no vendor)
* I've switched the realtek r8152 driver to the vendor driver. The rtl8156 (2.5gbps) may stil be unreliable or only operate in 1gbps mode though.