mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
a3f109bd79
Commit d0418bb7123f44b23d69ac349eec7daf9103472f (net: sh_eth: Add eth support for R8A7779 device) was a failed attempt to add support for one of members of the R-Car SoC family. That's for three reasons: it treated R8A7779 the same as SH7724 except including quite dirty hack adding ECMR_ELB bit to the mask in sh_eth_set_rate() while not removing ECMR_RTM bit (despite it's reserved in R-Car Ether), and it didn't add a new register offset array despite the closest SH_ETH_REG_FAST_SH4 mapping differs by 0x200 to the offsets all the R-Car Ether registers have, and also some of the registers in this old mapping don't exist on R-Car Ether (due to this, SH7724's 'sh_eth_my_cpu_data' structure is not adequeate for R-Car too). Fix all these shortcomings, restoring the SH7724 related section to its pristine state... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: David S. Miller <davem@davemloft.net>
28 lines
492 B
C
28 lines
492 B
C
#ifndef __ASM_SH_ETH_H__
|
|
#define __ASM_SH_ETH_H__
|
|
|
|
#include <linux/phy.h>
|
|
|
|
enum {EDMAC_LITTLE_ENDIAN, EDMAC_BIG_ENDIAN};
|
|
enum {
|
|
SH_ETH_REG_GIGABIT,
|
|
SH_ETH_REG_FAST_RCAR,
|
|
SH_ETH_REG_FAST_SH4,
|
|
SH_ETH_REG_FAST_SH3_SH2
|
|
};
|
|
|
|
struct sh_eth_plat_data {
|
|
int phy;
|
|
int edmac_endian;
|
|
int register_type;
|
|
phy_interface_t phy_interface;
|
|
void (*set_mdio_gate)(void *addr);
|
|
|
|
unsigned char mac_addr[6];
|
|
unsigned no_ether_link:1;
|
|
unsigned ether_link_active_low:1;
|
|
unsigned needs_init:1;
|
|
};
|
|
|
|
#endif
|