mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #5001 from jernejsk/aw_uboot
Allwinner: u-boot: clean patches and shorten boot time
This commit is contained in:
commit
0e023013fb
@ -1,74 +0,0 @@
|
||||
--- a/arch/arm/dts/sun50i-h6-orangepi-3.dts 2019-11-26 07:49:45.449465112 +0100
|
||||
+++ b/arch/arm/dts/sun50i-h6-orangepi-3.dts 2019-11-26 07:55:56.414722853 +0100
|
||||
@@ -15,6 +15,7 @@
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
+ ethernet0 = &emac;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -84,6 +85,27 @@
|
||||
reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
|
||||
post-power-on-delay-ms = <200>;
|
||||
};
|
||||
+
|
||||
+ /*
|
||||
+ * The board uses 2.5V RGMII signalling. Power sequence to enable
|
||||
+ * the phy is to enable GMAC-2V5 and GMAC-3V3 (aldo2) power rails
|
||||
+ * at the same time and to wait 100ms.
|
||||
+ */
|
||||
+ reg_gmac_2v5: gmac-2v5 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "gmac-2v5";
|
||||
+ regulator-min-microvolt = <2500000>;
|
||||
+ regulator-max-microvolt = <2500000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
|
||||
+
|
||||
+ /* The real parent of gmac-2v5 is reg_vcc5v, but we need to
|
||||
+ * enable two regulators to power the phy. This is one way
|
||||
+ * to achieve that.
|
||||
+ */
|
||||
+ vin-supply = <®_aldo2>; /* GMAC-3V3 */
|
||||
+ };
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
@@ -102,6 +124,17 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ext_rgmii_pins>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_gmac_2v5>;
|
||||
+ allwinner,rx-delay-ps = <1500>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -112,6 +145,17 @@
|
||||
};
|
||||
};
|
||||
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+
|
||||
+ reset-gpios = <&pio 3 14 GPIO_ACTIVE_LOW>; /* PD14 */
|
||||
+ reset-assert-us = <15000>;
|
||||
+ reset-deassert-us = <40000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
@ -1,51 +0,0 @@
|
||||
From 9e077d6ebaa5a76b0c91cbe6aabb66106e95caba Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Date: Thu, 11 Jul 2019 23:28:58 +0200
|
||||
Subject: [PATCH] ethernet hack
|
||||
|
||||
---
|
||||
arch/arm/dts/sun50i-h6-tanix-tx6.dts | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/dts/sun50i-h6-tanix-tx6.dts b/arch/arm/dts/sun50i-h6-tanix-tx6.dts
|
||||
index c217955a39..5c0099f1a7 100644
|
||||
--- a/arch/arm/dts/sun50i-h6-tanix-tx6.dts
|
||||
+++ b/arch/arm/dts/sun50i-h6-tanix-tx6.dts
|
||||
@@ -16,6 +16,7 @@
|
||||
compatible = "eachlink,h6-mini", "allwinner,sun50i-h6";
|
||||
|
||||
aliases {
|
||||
+ ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
@@ -55,6 +56,12 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&emac {
|
||||
+ phy-mode = "rmii";
|
||||
+ phy-handle = <&ext_rmii_phy>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -74,6 +81,13 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&mdio {
|
||||
+ ext_rmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
--
|
||||
2.22.0
|
||||
|
@ -0,0 +1,65 @@
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Subject: [PATCH] sunxi: Properly check for SATAPWR and MACPWR
|
||||
Date: Tue, 19 Jan 2021 01:05:20 +0000
|
||||
|
||||
The #ifdef CONFIG_xxxPWR conditionals were not working as expected, as
|
||||
string Kconfig symbols are always "defined" from the preprocessor's
|
||||
perspective. This lead to unnecessary calls to the GPIO routines, but
|
||||
also always added a half a second delay to wait for a SATA disk to power
|
||||
up. Many thanks to Peter for pointing this out!
|
||||
|
||||
Fix this by properly comparing the Kconfig symbols against the empty
|
||||
string. strcmp() would be nicer for this, but GCC does not optimise this
|
||||
away, probably due to our standalone compiler switches.
|
||||
|
||||
Reported-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Tested-by: Samuel Holland <samuel@sholland.org> # Orange Pi WinPlus
|
||||
Tested-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
board/sunxi/board.c | 34 ++++++++++++++++++++++------------
|
||||
1 file changed, 22 insertions(+), 12 deletions(-)
|
||||
|
||||
--- a/board/sunxi/board.c
|
||||
+++ b/board/sunxi/board.c
|
||||
@@ -264,18 +264,28 @@ int board_init(void)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
-#ifdef CONFIG_SATAPWR
|
||||
- satapwr_pin = sunxi_name_to_gpio(CONFIG_SATAPWR);
|
||||
- gpio_request(satapwr_pin, "satapwr");
|
||||
- gpio_direction_output(satapwr_pin, 1);
|
||||
- /* Give attached sata device time to power-up to avoid link timeouts */
|
||||
- mdelay(500);
|
||||
-#endif
|
||||
-#ifdef CONFIG_MACPWR
|
||||
- macpwr_pin = sunxi_name_to_gpio(CONFIG_MACPWR);
|
||||
- gpio_request(macpwr_pin, "macpwr");
|
||||
- gpio_direction_output(macpwr_pin, 1);
|
||||
-#endif
|
||||
+ /* strcmp() would look better, but doesn't get optimised away. */
|
||||
+ if (CONFIG_SATAPWR[0]) {
|
||||
+ satapwr_pin = sunxi_name_to_gpio(CONFIG_SATAPWR);
|
||||
+ if (satapwr_pin >= 0) {
|
||||
+ gpio_request(satapwr_pin, "satapwr");
|
||||
+ gpio_direction_output(satapwr_pin, 1);
|
||||
+
|
||||
+ /*
|
||||
+ * Give the attached SATA device time to power-up
|
||||
+ * to avoid link timeouts
|
||||
+ */
|
||||
+ mdelay(500);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (CONFIG_MACPWR[0]) {
|
||||
+ macpwr_pin = sunxi_name_to_gpio(CONFIG_MACPWR);
|
||||
+ if (macpwr_pin >= 0) {
|
||||
+ gpio_request(macpwr_pin, "macpwr");
|
||||
+ gpio_direction_output(macpwr_pin, 1);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
#ifdef CONFIG_DM_I2C
|
||||
/*
|
Loading…
x
Reference in New Issue
Block a user