sja1105.h (e5b0a1b7b77c3df42927f4244b298fa628c0c925) sja1105.h (3ad1d171548e85fd582c8de8c0946875579aebe8)
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2018, Sensor-Technik Wiedemann GmbH
3 * Copyright (c) 2018-2019, Vladimir Oltean <olteanv@gmail.com>
4 */
5#ifndef _SJA1105_H
6#define _SJA1105_H
7
8#include <linux/ptp_clock_kernel.h>

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

128 const unsigned char *addr, u16 vid);
129 int (*fdb_del_cmd)(struct dsa_switch *ds, int port,
130 const unsigned char *addr, u16 vid);
131 void (*ptp_cmd_packing)(u8 *buf, struct sja1105_ptp_cmd *cmd,
132 enum packing_op op);
133 bool (*rxtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb);
134 void (*txtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb);
135 int (*clocking_setup)(struct sja1105_private *priv);
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2018, Sensor-Technik Wiedemann GmbH
3 * Copyright (c) 2018-2019, Vladimir Oltean <olteanv@gmail.com>
4 */
5#ifndef _SJA1105_H
6#define _SJA1105_H
7
8#include <linux/ptp_clock_kernel.h>

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

128 const unsigned char *addr, u16 vid);
129 int (*fdb_del_cmd)(struct dsa_switch *ds, int port,
130 const unsigned char *addr, u16 vid);
131 void (*ptp_cmd_packing)(u8 *buf, struct sja1105_ptp_cmd *cmd,
132 enum packing_op op);
133 bool (*rxtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb);
134 void (*txtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb);
135 int (*clocking_setup)(struct sja1105_private *priv);
136 int (*pcs_mdio_read)(struct mii_bus *bus, int phy, int reg);
137 int (*pcs_mdio_write)(struct mii_bus *bus, int phy, int reg, u16 val);
136 const char *name;
137 bool supports_mii[SJA1105_MAX_NUM_PORTS];
138 bool supports_rmii[SJA1105_MAX_NUM_PORTS];
139 bool supports_rgmii[SJA1105_MAX_NUM_PORTS];
140 bool supports_sgmii[SJA1105_MAX_NUM_PORTS];
141 bool supports_2500basex[SJA1105_MAX_NUM_PORTS];
142 enum sja1105_internal_phy_t internal_phy[SJA1105_MAX_NUM_PORTS];
143 const u64 port_speed[SJA1105_SPEED_MAX];

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

260 */
261 struct mutex mgmt_lock;
262 struct dsa_8021q_context *dsa_8021q_ctx;
263 enum sja1105_vlan_state vlan_state;
264 struct devlink_region **regions;
265 struct sja1105_cbs_entry *cbs;
266 struct mii_bus *mdio_base_t1;
267 struct mii_bus *mdio_base_tx;
138 const char *name;
139 bool supports_mii[SJA1105_MAX_NUM_PORTS];
140 bool supports_rmii[SJA1105_MAX_NUM_PORTS];
141 bool supports_rgmii[SJA1105_MAX_NUM_PORTS];
142 bool supports_sgmii[SJA1105_MAX_NUM_PORTS];
143 bool supports_2500basex[SJA1105_MAX_NUM_PORTS];
144 enum sja1105_internal_phy_t internal_phy[SJA1105_MAX_NUM_PORTS];
145 const u64 port_speed[SJA1105_SPEED_MAX];

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

262 */
263 struct mutex mgmt_lock;
264 struct dsa_8021q_context *dsa_8021q_ctx;
265 enum sja1105_vlan_state vlan_state;
266 struct devlink_region **regions;
267 struct sja1105_cbs_entry *cbs;
268 struct mii_bus *mdio_base_t1;
269 struct mii_bus *mdio_base_tx;
270 struct mii_bus *mdio_pcs;
271 struct dw_xpcs *xpcs[SJA1105_MAX_NUM_PORTS];
268 struct sja1105_tagger_data tagger_data;
269 struct sja1105_ptp_data ptp_data;
270 struct sja1105_tas_data tas_data;
271};
272
273#include "sja1105_dynamic_config.h"
274
275struct sja1105_spi_message {

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

292 enum sja1105_reset_reason reason);
293int sja1105_vlan_filtering(struct dsa_switch *ds, int port, bool enabled,
294 struct netlink_ext_ack *extack);
295void sja1105_frame_memory_partitioning(struct sja1105_private *priv);
296
297/* From sja1105_mdio.c */
298int sja1105_mdiobus_register(struct dsa_switch *ds);
299void sja1105_mdiobus_unregister(struct dsa_switch *ds);
272 struct sja1105_tagger_data tagger_data;
273 struct sja1105_ptp_data ptp_data;
274 struct sja1105_tas_data tas_data;
275};
276
277#include "sja1105_dynamic_config.h"
278
279struct sja1105_spi_message {

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

296 enum sja1105_reset_reason reason);
297int sja1105_vlan_filtering(struct dsa_switch *ds, int port, bool enabled,
298 struct netlink_ext_ack *extack);
299void sja1105_frame_memory_partitioning(struct sja1105_private *priv);
300
301/* From sja1105_mdio.c */
302int sja1105_mdiobus_register(struct dsa_switch *ds);
303void sja1105_mdiobus_unregister(struct dsa_switch *ds);
304int sja1105_pcs_mdio_read(struct mii_bus *bus, int phy, int reg);
305int sja1105_pcs_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val);
300
301/* From sja1105_devlink.c */
302int sja1105_devlink_setup(struct dsa_switch *ds);
303void sja1105_devlink_teardown(struct dsa_switch *ds);
304int sja1105_devlink_param_get(struct dsa_switch *ds, u32 id,
305 struct devlink_param_gset_ctx *ctx);
306int sja1105_devlink_param_set(struct dsa_switch *ds, u32 id,
307 struct devlink_param_gset_ctx *ctx);

--- 105 unchanged lines hidden ---
306
307/* From sja1105_devlink.c */
308int sja1105_devlink_setup(struct dsa_switch *ds);
309void sja1105_devlink_teardown(struct dsa_switch *ds);
310int sja1105_devlink_param_get(struct dsa_switch *ds, u32 id,
311 struct devlink_param_gset_ctx *ctx);
312int sja1105_devlink_param_set(struct dsa_switch *ds, u32 id,
313 struct devlink_param_gset_ctx *ctx);

--- 105 unchanged lines hidden ---