[U-Boot] [PATCH] x86: quark: Enable on-chip ethernet controllers

Simon Glass sjg at chromium.org
Thu Mar 12 23:13:58 CET 2015


Hi Bin,

On 10 March 2015 at 20:25, Bin Meng <bmeng.cn at gmail.com> wrote:
> Intel Quark SoC integrates two 10/100 ethernet controllers which can
> be connected to an external RMII PHY. The MAC IP is from Designware.
> Enable this support with the existing U-Boot Designware MAC driver
> so that the ethernet port on Intel Galileo board can be used.
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
> ---
>
>  arch/x86/cpu/quark/quark.c | 19 +++++++++++++++++++
>  include/configs/galileo.h  |  5 +++++
>  2 files changed, 24 insertions(+)
>
> diff --git a/arch/x86/cpu/quark/quark.c b/arch/x86/cpu/quark/quark.c
> index dccf7ac..25edcf7 100644
> --- a/arch/x86/cpu/quark/quark.c
> +++ b/arch/x86/cpu/quark/quark.c
> @@ -6,6 +6,8 @@
>
>  #include <common.h>
>  #include <mmc.h>
> +#include <netdev.h>
> +#include <phy.h>
>  #include <asm/io.h>
>  #include <asm/pci.h>
>  #include <asm/post.h>
> @@ -116,3 +118,20 @@ int cpu_mmc_init(bd_t *bis)
>         return pci_mmc_init("Quark SDHCI", mmc_supported,
>                             ARRAY_SIZE(mmc_supported));
>  }
> +
> +int cpu_eth_init(bd_t *bis)
> +{
> +       u32 base;
> +       int ret0, ret1;
> +
> +       pci_read_config_dword(QUARK_EMAC0, PCI_BASE_ADDRESS_0, &base);
> +       ret0 = designware_initialize(base, PHY_INTERFACE_MODE_RMII);
> +
> +       pci_read_config_dword(QUARK_EMAC1, PCI_BASE_ADDRESS_0, &base);
> +       ret1 = designware_initialize(base, PHY_INTERFACE_MODE_RMII);
> +
> +       if (ret0 < 0 && ret1 < 0)
> +               return -1;
> +       else
> +               return 0;
> +}
> diff --git a/include/configs/galileo.h b/include/configs/galileo.h
> index d745f4e..65a2c3e 100644
> --- a/include/configs/galileo.h
> +++ b/include/configs/galileo.h
> @@ -57,4 +57,9 @@
>  #define CONFIG_MMC_SDMA
>  #define CONFIG_CMD_MMC
>
> +/* 10/100M Ethernet support */
> +#define CONFIG_DESIGNWARE_ETH
> +#define CONFIG_DW_ALTDESCRIPTOR
> +#define CONFIG_PHYLIB
> +
>  #endif /* __CONFIG_H */
> --
> 1.8.2.1
>

Acked-by: Simon Glass <sjg at chromium.org>

BTW I expect the driver model Ethernet support to land soon, and I
sent a series that moves the Designware Ethernet to driver model. So
by the time we come to apply this, we may want to use that. But as
things stand it looks good.

Regards,
Simon


More information about the U-Boot mailing list