mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
sunxi: Add a GMAC Transmit Clock Delay Chain Kconfig option
And use this to set the GMAC Transmit Clock Delay Chain value on Banana boards, rather then keying of CONFIG_TARGET_FOO. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
parent
e1a0888ed2
commit
c13f60d92a
6 changed files with 14 additions and 9 deletions
|
@ -305,6 +305,8 @@ struct sunxi_ccm_reg {
|
|||
#define CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII 0x2
|
||||
#define CCM_GMAC_CTRL_GPIT_MII (0x0 << 2)
|
||||
#define CCM_GMAC_CTRL_GPIT_RGMII (0x1 << 2)
|
||||
#define CCM_GMAC_CTRL_RX_CLK_DELAY(x) ((x) << 5)
|
||||
#define CCM_GMAC_CTRL_TX_CLK_DELAY(x) ((x) << 10)
|
||||
|
||||
#define CCM_USB_CTRL_PHY0_RST (0x1 << 0)
|
||||
#define CCM_USB_CTRL_PHY1_RST (0x1 << 1)
|
||||
|
|
|
@ -243,6 +243,8 @@ struct sunxi_ccm_reg {
|
|||
#define CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII 0x2
|
||||
#define CCM_GMAC_CTRL_GPIT_MII (0x0 << 2)
|
||||
#define CCM_GMAC_CTRL_GPIT_RGMII (0x1 << 2)
|
||||
#define CCM_GMAC_CTRL_RX_CLK_DELAY(x) ((x) << 5)
|
||||
#define CCM_GMAC_CTRL_TX_CLK_DELAY(x) ((x) << 10)
|
||||
|
||||
#define MDFS_CLK_DEFAULT 0x81000002 /* PLL6 / 3 */
|
||||
|
||||
|
|
|
@ -380,4 +380,10 @@ config USB_KEYBOARD
|
|||
Say Y here to add support for using a USB keyboard (typically used
|
||||
in combination with a graphical console).
|
||||
|
||||
config GMAC_TX_DELAY
|
||||
int "GMAC Transmit Clock Delay Chain"
|
||||
default 0
|
||||
---help---
|
||||
Set the GMAC Transmit Clock Delay Chain value.
|
||||
|
||||
endif
|
||||
|
|
|
@ -24,20 +24,13 @@ int sunxi_gmac_initialize(bd_t *bis)
|
|||
#ifdef CONFIG_RGMII
|
||||
setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_SRC_INT_RGMII |
|
||||
CCM_GMAC_CTRL_GPIT_RGMII);
|
||||
setbits_le32(&ccm->gmac_clk_cfg,
|
||||
CCM_GMAC_CTRL_TX_CLK_DELAY(CONFIG_GMAC_TX_DELAY));
|
||||
#else
|
||||
setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_SRC_MII |
|
||||
CCM_GMAC_CTRL_GPIT_MII);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* In order for the gmac nic to work reliable on the Bananapi, we
|
||||
* need to set bits 10-12 GTXDC "GMAC Transmit Clock Delay Chain"
|
||||
* of the GMAC clk register to 3.
|
||||
*/
|
||||
#if defined CONFIG_TARGET_BANANAPI || defined CONFIG_TARGET_BANANAPRO
|
||||
setbits_le32(&ccm->gmac_clk_cfg, 0x3 << 10);
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_MACH_SUN6I
|
||||
/* Configure pin mux settings for GMAC */
|
||||
for (pin = SUNXI_GPA(0); pin <= SUNXI_GPA(16); pin++) {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
CONFIG_SPL=y
|
||||
CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
|
||||
CONFIG_FDTFILE="sun7i-a20-bananapi.dtb"
|
||||
CONFIG_GMAC_TX_DELAY=3
|
||||
+S:CONFIG_ARM=y
|
||||
+S:CONFIG_ARCH_SUNXI=y
|
||||
+S:CONFIG_MACH_SUN7I=y
|
||||
|
|
|
@ -3,6 +3,7 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHC
|
|||
CONFIG_FDTFILE="sun7i-a20-bananapro.dtb"
|
||||
CONFIG_USB1_VBUS_PIN="PH0"
|
||||
CONFIG_USB2_VBUS_PIN="PH1"
|
||||
CONFIG_GMAC_TX_DELAY=3
|
||||
+S:CONFIG_ARM=y
|
||||
+S:CONFIG_ARCH_SUNXI=y
|
||||
+S:CONFIG_MACH_SUN7I=y
|
||||
|
|
Loading…
Reference in a new issue