mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 08:28:51 +09:00
![Prabhakar Kushwaha](/assets/img/avatar_default.png)
DPMAC represents physical line on the board. This physical line eventually asscociate with on-board PHY. So Add an api to return linked PHY ID of DPMAC object. Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
72 lines
1.5 KiB
C
72 lines
1.5 KiB
C
/*
|
|
* Copyright (C) 2015 Freescale Semiconductor
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __LDPAA_WRIOP_H
|
|
#define __LDPAA_WRIOP_H
|
|
|
|
#include <phy.h>
|
|
|
|
enum wriop_port {
|
|
WRIOP1_DPMAC1 = 1,
|
|
WRIOP1_DPMAC2,
|
|
WRIOP1_DPMAC3,
|
|
WRIOP1_DPMAC4,
|
|
WRIOP1_DPMAC5,
|
|
WRIOP1_DPMAC6,
|
|
WRIOP1_DPMAC7,
|
|
WRIOP1_DPMAC8,
|
|
WRIOP1_DPMAC9,
|
|
WRIOP1_DPMAC10,
|
|
WRIOP1_DPMAC11,
|
|
WRIOP1_DPMAC12,
|
|
WRIOP1_DPMAC13,
|
|
WRIOP1_DPMAC14,
|
|
WRIOP1_DPMAC15,
|
|
WRIOP1_DPMAC16,
|
|
WRIOP1_DPMAC17,
|
|
WRIOP1_DPMAC18,
|
|
WRIOP1_DPMAC19,
|
|
WRIOP1_DPMAC20,
|
|
WRIOP1_DPMAC21,
|
|
WRIOP1_DPMAC22,
|
|
WRIOP1_DPMAC23,
|
|
WRIOP1_DPMAC24,
|
|
NUM_WRIOP_PORTS,
|
|
};
|
|
|
|
struct wriop_dpmac_info {
|
|
u8 enabled;
|
|
u8 id;
|
|
u8 board_mux;
|
|
int phy_addr;
|
|
void *phy_regs;
|
|
phy_interface_t enet_if;
|
|
struct phy_device *phydev;
|
|
struct mii_dev *bus;
|
|
};
|
|
|
|
extern struct wriop_dpmac_info dpmac_info[NUM_WRIOP_PORTS];
|
|
|
|
#define DEFAULT_WRIOP_MDIO1_NAME "FSL_MDIO0"
|
|
#define DEFAULT_WRIOP_MDIO2_NAME "FSL_MDIO1"
|
|
|
|
void wriop_init_dpmac(int, int, int);
|
|
void wriop_disable_dpmac(int);
|
|
void wriop_enable_dpmac(int);
|
|
u8 wriop_is_enabled_dpmac(int dpmac_id);
|
|
void wriop_set_mdio(int, struct mii_dev *);
|
|
struct mii_dev *wriop_get_mdio(int);
|
|
void wriop_set_phy_address(int, int);
|
|
int wriop_get_phy_address(int);
|
|
void wriop_set_phy_dev(int, struct phy_device *);
|
|
struct phy_device *wriop_get_phy_dev(int);
|
|
phy_interface_t wriop_get_enet_if(int);
|
|
|
|
void wriop_dpmac_disable(int);
|
|
void wriop_dpmac_enable(int);
|
|
phy_interface_t wriop_dpmac_enet_if(int, int);
|
|
#endif /* __LDPAA_WRIOP_H */
|