diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2013-08-15 10:08:05 +0400 |
---|---|---|
committer | Steven Miao <realmz6@gmail.com> | 2013-09-13 06:42:38 +0400 |
commit | 1d899fd652fac98bcbad1f1573f5a6a0224ea2dd (patch) | |
tree | 76ebbde8f4759df5db210a0ecc086b29d5de6bad /arch/blackfin/mach-bf609/boards | |
parent | e57860929c7d9833275597e5f02810c262a8b6e0 (diff) | |
download | linux-1d899fd652fac98bcbad1f1573f5a6a0224ea2dd.tar.xz |
blackfin: Add STMMAC platform data to enable dwmac1000 driver on BF60x.
- Enable GMAC
- Set propler DMA PBL
- Disable DMA store and forward mode
- Select PTP input clock from MII
clock.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Steven Miao <realmz6@gmail.com>
Diffstat (limited to 'arch/blackfin/mach-bf609/boards')
-rw-r--r-- | arch/blackfin/mach-bf609/boards/ezkit.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/blackfin/mach-bf609/boards/ezkit.c b/arch/blackfin/mach-bf609/boards/ezkit.c index d4dcbab70bb7..d56a55ad83a7 100644 --- a/arch/blackfin/mach-bf609/boards/ezkit.c +++ b/arch/blackfin/mach-bf609/boards/ezkit.c @@ -104,6 +104,7 @@ static struct platform_device bfin_rotary_device = { #if defined(CONFIG_STMMAC_ETH) || defined(CONFIG_STMMAC_ETH_MODULE) #include <linux/stmmac.h> +#include <linux/phy.h> static unsigned short pins[] = P_RMII0; @@ -111,11 +112,26 @@ static struct stmmac_mdio_bus_data phy_private_data = { .phy_mask = 1, }; +static struct stmmac_dma_cfg eth_dma_cfg = { + .pbl = 2, +}; + +int stmmac_ptp_clk_init(struct platform_device *pdev) +{ + bfin_write32(PADS0_EMAC_PTP_CLKSEL, 0); + return 0; +} + static struct plat_stmmacenet_data eth_private_data = { + .has_gmac = 1, .bus_id = 0, .enh_desc = 1, .phy_addr = 1, .mdio_bus_data = &phy_private_data, + .dma_cfg = ð_dma_cfg, + .force_thresh_dma_mode = 1, + .interface = PHY_INTERFACE_MODE_RMII, + .init = stmmac_ptp_clk_init, }; static struct platform_device bfin_eth_device = { |