mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 13:48:06 +00:00
force MII access in AR2313 ethernet to KSEG1 instead of physical addresses - why the fsck has this ever worked for anybody??
SVN-Revision: 6258
This commit is contained in:
parent
3921be5a40
commit
cb28dc62c1
@ -1527,7 +1527,7 @@ diff -urN linux.old/drivers/net/ar2313/ar2313.c linux.eth/drivers/net/ar2313/ar2
|
|||||||
+{
|
+{
|
||||||
+ volatile ETHERNET_STRUCT * ethernet;
|
+ volatile ETHERNET_STRUCT * ethernet;
|
||||||
+
|
+
|
||||||
+ ethernet = (volatile ETHERNET_STRUCT *)(ar_eth_base); /* always MAC 0 */
|
+ ethernet = (volatile ETHERNET_STRUCT *)KSEG1ADDR(ar_eth_base); /* always MAC 0 */
|
||||||
+ ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) |
|
+ ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) |
|
||||||
+ (phy << MII_ADDR_PHY_SHIFT));
|
+ (phy << MII_ADDR_PHY_SHIFT));
|
||||||
+ while (ethernet->mii_addr & MII_ADDR_BUSY);
|
+ while (ethernet->mii_addr & MII_ADDR_BUSY);
|
||||||
@ -1539,7 +1539,7 @@ diff -urN linux.old/drivers/net/ar2313/ar2313.c linux.eth/drivers/net/ar2313/ar2
|
|||||||
+{
|
+{
|
||||||
+ volatile ETHERNET_STRUCT * ethernet;
|
+ volatile ETHERNET_STRUCT * ethernet;
|
||||||
+
|
+
|
||||||
+ ethernet = (volatile ETHERNET_STRUCT *)(ar_eth_base); /* always MAC 0 */
|
+ ethernet = (volatile ETHERNET_STRUCT *)KSEG1ADDR(ar_eth_base); /* always MAC 0 */
|
||||||
+ while (ethernet->mii_addr & MII_ADDR_BUSY);
|
+ while (ethernet->mii_addr & MII_ADDR_BUSY);
|
||||||
+ ethernet->mii_data = data << MII_DATA_SHIFT;
|
+ ethernet->mii_data = data << MII_DATA_SHIFT;
|
||||||
+ ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) |
|
+ ethernet->mii_addr = ((reg << MII_ADDR_REG_SHIFT) |
|
||||||
|
Loading…
Reference in New Issue
Block a user