diff options
Diffstat (limited to 'package/boot')
-rw-r--r-- | package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch b/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch new file mode 100644 index 0000000000..9ea0642537 --- /dev/null +++ b/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch @@ -0,0 +1,44 @@ +--- a/configs/A20-OLinuXino-Lime2-eMMC_defconfig ++++ b/configs/A20-OLinuXino-Lime2-eMMC_defconfig +@@ -8,6 +8,8 @@ CONFIG_MMC_SUNXI_SLOT_EXTRA=2 + CONFIG_USB0_VBUS_PIN="PC17" + CONFIG_USB0_VBUS_DET="PH5" + CONFIG_I2C1_ENABLE=y ++CONFIG_PHY_MICREL=y ++CONFIG_PHY_MICREL_KSZ90X1=y + CONFIG_SATAPWR="PC3" + CONFIG_AHCI=y + CONFIG_NR_DRAM_BANKS=1 +--- a/configs/A20-OLinuXino-Lime2_defconfig ++++ b/configs/A20-OLinuXino-Lime2_defconfig +@@ -7,6 +7,8 @@ CONFIG_MMC0_CD_PIN="PH1" + CONFIG_USB0_VBUS_PIN="PC17" + CONFIG_USB0_VBUS_DET="PH5" + CONFIG_I2C1_ENABLE=y ++CONFIG_PHY_MICREL=y ++CONFIG_PHY_MICREL_KSZ90X1=y + CONFIG_SATAPWR="PC3" + CONFIG_AHCI=y + CONFIG_NR_DRAM_BANKS=1 +--- a/drivers/net/phy/micrel_ksz90x1.c ++++ b/drivers/net/phy/micrel_ksz90x1.c +@@ -13,6 +13,8 @@ + #include <errno.h> + #include <micrel.h> + #include <phy.h> ++#include <asm/io.h> ++#include <asm/arch/clock.h> + + /* + * KSZ9021 - KSZ9031 common +@@ -329,6 +331,10 @@ static int ksz9031_phy_extwrite(struct p + static int ksz9031_config(struct phy_device *phydev) + { + int ret; ++ struct sunxi_ccm_reg *const ccm = ++ (struct sunxi_ccm_reg *)SUNXI_CCM_BASE; ++ ++ setbits_le32(&ccm->gmac_clk_cfg, CCM_GMAC_CTRL_TX_CLK_DELAY(4)); + + ret = ksz9031_of_config(phydev); + if (ret) |