aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch')
-rw-r--r--package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch127
1 files changed, 0 insertions, 127 deletions
diff --git a/package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch b/package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch
deleted file mode 100644
index cf511ce773..0000000000
--- a/package/boot/uboot-sunxi/patches/014-fix-gmac-init.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From fc8991c61c393ce6a9d3dfc97cb56dbbd9e8cbba Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 17 Mar 2016 13:53:03 +0100
-Subject: [PATCH] sunxi: Fix gmac not working due to cpu_eth_init no longer
- being called
-
-cpu_eth_init is no longer called for dm enabled eth drivers, this
-was causing the sunxi gmac eth controller to no longer work in u-boot.
-
-This commit fixes this by calling the clock, reset and pinmux setup
-function from s_init() and enabling the phy power pin (if any) from
-board_init().
-
-The enabling of phy power cannot be done from s_init because it uses dm
-and dm is not ready yet at this point.
-
-Note that the mdelay is dropped as the phy gets enabled much earlier
-now, so it is no longer needed.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Acked-by: Ian Campbell <ijc@hellion.org.uk>
-Tested-by: Karsten Merker <merker@debian.org>
-Tested-by: Michael Haas <haas@computerlinguist.org>
----
- arch/arm/cpu/armv7/sunxi/board.c | 28 +---------------------------
- arch/arm/include/asm/arch-sunxi/sys_proto.h | 6 +++++-
- board/sunxi/board.c | 5 +++++
- board/sunxi/gmac.c | 14 +-------------
- 4 files changed, 12 insertions(+), 41 deletions(-)
-
---- a/arch/arm/cpu/armv7/sunxi/board.c
-+++ b/arch/arm/cpu/armv7/sunxi/board.c
-@@ -136,6 +136,7 @@ void s_init(void)
- timer_init();
- gpio_init();
- i2c_init_board();
-+ eth_init_board();
- }
-
- #ifdef CONFIG_SPL_BUILD
-@@ -243,30 +244,3 @@ void enable_caches(void)
- dcache_enable();
- }
- #endif
--
--#ifdef CONFIG_CMD_NET
--/*
-- * Initializes on-chip ethernet controllers.
-- * to override, implement board_eth_init()
-- */
--int cpu_eth_init(bd_t *bis)
--{
-- __maybe_unused int rc;
--
--#ifdef CONFIG_MACPWR
-- gpio_request(CONFIG_MACPWR, "macpwr");
-- gpio_direction_output(CONFIG_MACPWR, 1);
-- mdelay(200);
--#endif
--
--#ifdef CONFIG_SUNXI_GMAC
-- rc = sunxi_gmac_initialize(bis);
-- if (rc < 0) {
-- printf("sunxi: failed to initialize gmac\n");
-- return rc;
-- }
--#endif
--
-- return 0;
--}
--#endif
---- a/arch/arm/include/asm/arch-sunxi/sys_proto.h
-+++ b/arch/arm/include/asm/arch-sunxi/sys_proto.h
-@@ -24,6 +24,10 @@ void sdelay(unsigned long);
- void return_to_fel(uint32_t lr, uint32_t sp);
-
- /* Board / SoC level designware gmac init */
--int sunxi_gmac_initialize(bd_t *bis);
-+#if !defined CONFIG_SPL_BUILD && defined CONFIG_SUNXI_GMAC
-+void eth_init_board(void);
-+#else
-+static inline void eth_init_board(void) {}
-+#endif
-
- #endif
---- a/board/sunxi/board.c
-+++ b/board/sunxi/board.c
-@@ -90,6 +90,11 @@ int board_init(void)
- if (ret)
- return ret;
-
-+#ifdef CONFIG_MACPWR
-+ gpio_request(CONFIG_MACPWR, "macpwr");
-+ gpio_direction_output(CONFIG_MACPWR, 1);
-+#endif
-+
- /* Uses dm gpio code so do this here and not in i2c_init_board() */
- return soft_i2c_board_init();
- }
---- a/board/sunxi/gmac.c
-+++ b/board/sunxi/gmac.c
-@@ -6,7 +6,7 @@
- #include <asm/arch/clock.h>
- #include <asm/arch/gpio.h>
-
--int sunxi_gmac_initialize(bd_t *bis)
-+void eth_init_board(void)
- {
- int pin;
- struct sunxi_ccm_reg *const ccm =
-@@ -79,16 +79,4 @@ int sunxi_gmac_initialize(bd_t *bis)
- for (pin = SUNXI_GPA(26); pin <= SUNXI_GPA(27); pin++)
- sunxi_gpio_set_cfgpin(pin, SUN6I_GPA_GMAC);
- #endif
--
--#ifdef CONFIG_DM_ETH
-- return 0;
--#else
--# ifdef CONFIG_RGMII
-- return designware_initialize(SUNXI_GMAC_BASE, PHY_INTERFACE_MODE_RGMII);
--# elif defined CONFIG_GMII
-- return designware_initialize(SUNXI_GMAC_BASE, PHY_INTERFACE_MODE_GMII);
--# else
-- return designware_initialize(SUNXI_GMAC_BASE, PHY_INTERFACE_MODE_MII);
--# endif
--#endif
- }