mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-16 09:28:35 +08:00
Linux update to 4.11-rc5
Linux baseline a71c9a1c779f2499fb2afc0553e543f18aff6edf (4.11-rc5).
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015 embedded brains GmbH
|
||||
* Copyright (c) 2015, 2017 embedded brains GmbH
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -27,7 +27,10 @@
|
||||
#ifndef _LINUX_PHY_H
|
||||
#define _LINUX_PHY_H
|
||||
|
||||
#include <sys/queue.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/netdevice.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -66,6 +69,50 @@ typedef enum {
|
||||
#define SPEED_56000 56000
|
||||
#define SPEED_100000 100000
|
||||
|
||||
#define SUPPORTED_10000baseT_Full (1U << 0)
|
||||
#define SUPPORTED_1000baseT_Full (1U << 1)
|
||||
#define SUPPORTED_100baseT_Full (1U << 2)
|
||||
#define SUPPORTED_100baseT_Half (1U << 3)
|
||||
#define SUPPORTED_10baseT_Full (1U << 4)
|
||||
#define SUPPORTED_10baseT_Half (1U << 5)
|
||||
#define SUPPORTED_Asym_Pause (1U << 6)
|
||||
#define SUPPORTED_Autoneg (1U << 7)
|
||||
#define SUPPORTED_MII (1U << 8)
|
||||
#define SUPPORTED_Pause (1U << 9)
|
||||
|
||||
struct mdio_bus {
|
||||
int (*read)(struct mdio_bus *bus, int phy, int reg);
|
||||
int (*write)(struct mdio_bus *bus, int phy, int reg, int val);
|
||||
SLIST_ENTRY(mdio_bus) next;
|
||||
int node;
|
||||
};
|
||||
|
||||
struct phy_device {
|
||||
struct {
|
||||
struct device dev;
|
||||
int addr;
|
||||
struct mdio_bus *bus;
|
||||
} mdio;
|
||||
};
|
||||
|
||||
static inline int
|
||||
phy_read(struct phy_device *phy_dev, int reg)
|
||||
{
|
||||
struct mdio_bus *mdio_dev;
|
||||
|
||||
mdio_dev = phy_dev->mdio.bus;
|
||||
return ((*mdio_dev->read)(mdio_dev, phy_dev->mdio.addr, (int)reg));
|
||||
}
|
||||
|
||||
static inline int
|
||||
phy_write(struct phy_device *phy_dev, int reg, int val)
|
||||
{
|
||||
struct mdio_bus *mdio_dev;
|
||||
|
||||
mdio_dev = phy_dev->mdio.bus;
|
||||
return ((*mdio_dev->write)(mdio_dev, phy_dev->mdio.addr, reg, val));
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
Reference in New Issue
Block a user