felix.h (375e131429219486e581df8bd11b0dff87f0895a) felix.h (84705fc165526e8e55d208b2b10a48cc720a106a)
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright 2019 NXP Semiconductors
3 */
4#ifndef _MSCC_FELIX_H
5#define _MSCC_FELIX_H
6
7#define ocelot_to_felix(o) container_of((o), struct felix, ocelot)
8#define FELIX_NUM_TC 8

--- 37 unchanged lines hidden (view full) ---

46 enum tc_setup_type type, void *type_data);
47 void (*port_sched_speed_set)(struct ocelot *ocelot, int port,
48 u32 speed);
49 void (*xmit_template_populate)(struct ocelot *ocelot, int port);
50};
51
52extern const struct dsa_switch_ops felix_switch_ops;
53extern struct pci_driver felix_vsc9959_pci_driver;
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright 2019 NXP Semiconductors
3 */
4#ifndef _MSCC_FELIX_H
5#define _MSCC_FELIX_H
6
7#define ocelot_to_felix(o) container_of((o), struct felix, ocelot)
8#define FELIX_NUM_TC 8

--- 37 unchanged lines hidden (view full) ---

46 enum tc_setup_type type, void *type_data);
47 void (*port_sched_speed_set)(struct ocelot *ocelot, int port,
48 u32 speed);
49 void (*xmit_template_populate)(struct ocelot *ocelot, int port);
50};
51
52extern const struct dsa_switch_ops felix_switch_ops;
53extern struct pci_driver felix_vsc9959_pci_driver;
54extern struct platform_driver seville_vsc9953_driver;
54
55/* DSA glue / front-end for struct ocelot */
56struct felix {
57 struct dsa_switch *ds;
58 const struct felix_info *info;
59 struct ocelot ocelot;
60 struct mii_bus *imdio;
61 struct phy_device **pcs;
62 resource_size_t switch_base;
63 resource_size_t imdio_base;
64};
65
55
56/* DSA glue / front-end for struct ocelot */
57struct felix {
58 struct dsa_switch *ds;
59 const struct felix_info *info;
60 struct ocelot ocelot;
61 struct mii_bus *imdio;
62 struct phy_device **pcs;
63 resource_size_t switch_base;
64 resource_size_t imdio_base;
65};
66
67void vsc9959_pcs_link_state(struct ocelot *ocelot, int port,
68 struct phylink_link_state *state);
69void vsc9959_pcs_config(struct ocelot *ocelot, int port,
70 unsigned int link_an_mode,
71 const struct phylink_link_state *state);
72void vsc9959_pcs_link_up(struct ocelot *ocelot, int port,
73 unsigned int link_an_mode,
74 phy_interface_t interface,
75 int speed, int duplex);
76void vsc9959_mdio_bus_free(struct ocelot *ocelot);
77
66#endif
78#endif