From a212b66d7c9304271a2e6f78775d7c1e328cbb8e Mon Sep 17 00:00:00 2001 From: Wenyou Yang Date: Tue, 17 May 2016 13:11:35 +0800 Subject: net: macb: Fix build error for CONFIG_DM_ETH enabled Use the right phy_connect() prototype for CONFIGF_DM_ETH. Support to get the phy interface from dt and set GMAC_UR. Signed-off-by: Wenyou Yang Acked-by: Joe Hershberger --- include/configs/corvus.h | 1 + include/configs/smartweb.h | 1 + include/configs/snapper9g45.h | 1 + include/configs/taurus.h | 1 + 4 files changed, 4 insertions(+) (limited to 'include') diff --git a/include/configs/corvus.h b/include/configs/corvus.h index e6a811af03f..28ea15b596a 100644 --- a/include/configs/corvus.h +++ b/include/configs/corvus.h @@ -95,6 +95,7 @@ /* Ethernet */ #define CONFIG_MACB +#define CONFIG_PHYLIB #define CONFIG_RMII #define CONFIG_NET_RETRY_COUNT 20 #define CONFIG_AT91_WANTS_COMMON_PHY diff --git a/include/configs/smartweb.h b/include/configs/smartweb.h index 6add3916fa8..076a5ce2992 100644 --- a/include/configs/smartweb.h +++ b/include/configs/smartweb.h @@ -122,6 +122,7 @@ * */ #define CONFIG_MACB +#define CONFIG_PHYLIB #define CONFIG_USB_HOST_ETHER #define CONFIG_USB_ETHER_ASIX #define CONFIG_USB_ETHER_MCS7830 diff --git a/include/configs/snapper9g45.h b/include/configs/snapper9g45.h index fd6c70e110f..c91ab7186ce 100644 --- a/include/configs/snapper9g45.h +++ b/include/configs/snapper9g45.h @@ -56,6 +56,7 @@ /* Ethernet */ #define CONFIG_MACB +#define CONFIG_PHYLIB #define CONFIG_RMII #define CONFIG_NET_RETRY_COUNT 20 #define CONFIG_RESET_PHY_R diff --git a/include/configs/taurus.h b/include/configs/taurus.h index 882a4e5dbff..2d091db07d9 100644 --- a/include/configs/taurus.h +++ b/include/configs/taurus.h @@ -99,6 +99,7 @@ /* Ethernet */ #define CONFIG_MACB +#define CONFIG_PHYLIB #define CONFIG_RMII #define CONFIG_AT91_WANTS_COMMON_PHY -- cgit v1.2.3 From f0727120a7b0cfb0f9ba6c3ed46cf970d9182c74 Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Fri, 5 Aug 2016 18:26:15 +0300 Subject: net/ethoc: add Kconfig entry for the driver Add Kconfig entry for the driver, remove #define CONFIG_ETHOC from the only board configuration that uses it and put it into that board's defconfig. Cc: Stefan Kristiansson Signed-off-by: Max Filippov Acked-by: Joe Hershberger --- include/configs/openrisc-generic.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/configs/openrisc-generic.h b/include/configs/openrisc-generic.h index 913256a02bd..227c0ca84bc 100644 --- a/include/configs/openrisc-generic.h +++ b/include/configs/openrisc-generic.h @@ -44,7 +44,6 @@ /* * Ethernet */ -#define CONFIG_ETHOC #define CONFIG_SYS_ETHOC_BASE 0x92000000 #define CONFIG_BOOTFILE "boot.img" -- cgit v1.2.3 From 5d43feabf3707ae4e879b54450e5a3c3c664b2b9 Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Fri, 5 Aug 2016 18:26:17 +0300 Subject: net/ethoc: add CONFIG_DM_ETH support Extract reusable parts from ethoc_init, ethoc_set_mac_address, ethoc_send and ethoc_receive, move the rest under #ifdef CONFIG_DM_ETH. Add U_BOOT_DRIVER, eth_ops structure and implement required methods. Signed-off-by: Max Filippov Reviewed-by: Simon Glass Acked-by: Joe Hershberger --- include/dm/platform_data/net_ethoc.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 include/dm/platform_data/net_ethoc.h (limited to 'include') diff --git a/include/dm/platform_data/net_ethoc.h b/include/dm/platform_data/net_ethoc.h new file mode 100644 index 00000000000..1d8c73c037f --- /dev/null +++ b/include/dm/platform_data/net_ethoc.h @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2016 Cadence Design Systems Inc. + * + * SPDX-License-Identifier: GPL-2.0 + */ + +#ifndef _ETHOC_H +#define _ETHOC_H + +#include + +#ifdef CONFIG_DM_ETH + +struct ethoc_eth_pdata { + struct eth_pdata eth_pdata; +}; + +#endif + +#endif /* _ETHOC_H */ -- cgit v1.2.3 From 59b7dfa0d1dd54752427fc5f8b80e3f72e847298 Mon Sep 17 00:00:00 2001 From: Max Filippov Date: Fri, 5 Aug 2016 18:26:20 +0300 Subject: net/ethoc: support private memory configurations The ethoc device can be configured to have a private memory region instead of having access to the main memory. In that case egress packets must be copied into that memory for transmission and pointers to that memory need to be passed to net_process_received_packet or returned from the recv callback. Signed-off-by: Max Filippov Acked-by: Joe Hershberger --- include/dm/platform_data/net_ethoc.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/dm/platform_data/net_ethoc.h b/include/dm/platform_data/net_ethoc.h index 1d8c73c037f..3f94bde7b26 100644 --- a/include/dm/platform_data/net_ethoc.h +++ b/include/dm/platform_data/net_ethoc.h @@ -13,6 +13,7 @@ struct ethoc_eth_pdata { struct eth_pdata eth_pdata; + phys_addr_t packet_base; }; #endif -- cgit v1.2.3 From dfcc496ed7e24d3eb9b506f000adefd916b5148f Mon Sep 17 00:00:00 2001 From: Joe Hershberger Date: Mon, 8 Aug 2016 11:28:39 -0500 Subject: net: mii: Changes not made by spatch If the functions passed to the registration function are not in the same C file (extern) then spatch will not handle the dependent changes. Make those changes manually. Signed-off-by: Joe Hershberger For the 4xx related files: Acked-by: Stefan Roese Reviewed-by: Bin Meng --- include/miiphy.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/miiphy.h b/include/miiphy.h index af12274c81d..8a55a1382b0 100644 --- a/include/miiphy.h +++ b/include/miiphy.h @@ -86,10 +86,9 @@ extern struct bb_miiphy_bus bb_miiphy_buses[]; extern int bb_miiphy_buses_num; void bb_miiphy_init(void); -int bb_miiphy_read(const char *devname, unsigned char addr, - unsigned char reg, unsigned short *value); -int bb_miiphy_write(const char *devname, unsigned char addr, - unsigned char reg, unsigned short value); +int bb_miiphy_read(struct mii_dev *miidev, int addr, int devad, int reg); +int bb_miiphy_write(struct mii_dev *miidev, int addr, int devad, int reg, + u16 value); #endif /* phy seed setup */ -- cgit v1.2.3 From cc2593128f7ad1b879e9e5bd3097f6c717cf4c9a Mon Sep 17 00:00:00 2001 From: Joe Hershberger Date: Mon, 8 Aug 2016 11:28:41 -0500 Subject: net: mii: Clean up legacy glue that is not used The cleanup of the legacy mii registration API that's no longer used now that the drivers have been converted to use the (more) modern API. Signed-off-by: Joe Hershberger Reviewed-by: Bin Meng --- include/miiphy.h | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'include') diff --git a/include/miiphy.h b/include/miiphy.h index 8a55a1382b0..83141b4a6ae 100644 --- a/include/miiphy.h +++ b/include/miiphy.h @@ -21,13 +21,6 @@ #include #include -struct legacy_mii_dev { - int (*read)(const char *devname, unsigned char addr, - unsigned char reg, unsigned short *value); - int (*write)(const char *devname, unsigned char addr, - unsigned char reg, unsigned short value); -}; - int miiphy_read(const char *devname, unsigned char addr, unsigned char reg, unsigned short *value); int miiphy_write(const char *devname, unsigned char addr, unsigned char reg, @@ -44,12 +37,6 @@ int miiphy_link(const char *devname, unsigned char addr); void miiphy_init(void); -void miiphy_register(const char *devname, - int (*read)(const char *devname, unsigned char addr, - unsigned char reg, unsigned short *value), - int (*write)(const char *devname, unsigned char addr, - unsigned char reg, unsigned short value)); - int miiphy_set_current_dev(const char *devname); const char *miiphy_get_current_dev(void); struct mii_dev *mdio_get_current_dev(void); -- cgit v1.2.3