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 --- |