sja1105.h (2227ec7baab22a6f2a8ee8756847f3c2ccc62e3f) sja1105.h (cb5a82d2b9aaca66ed74c424c9d79f0a5bfdbac4)
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>

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

131 const unsigned char *addr, u16 vid);
132 void (*ptp_cmd_packing)(u8 *buf, struct sja1105_ptp_cmd *cmd,
133 enum packing_op op);
134 bool (*rxtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb);
135 void (*txtstamp)(struct dsa_switch *ds, int port, struct sk_buff *skb);
136 int (*clocking_setup)(struct sja1105_private *priv);
137 int (*pcs_mdio_read)(struct mii_bus *bus, int phy, int reg);
138 int (*pcs_mdio_write)(struct mii_bus *bus, int phy, int reg, u16 val);
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>

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

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

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

358 XMII_MODE_RGMII = 2,
359 XMII_MODE_SGMII = 3,
360} sja1105_phy_interface_t;
361
362int sja1105pqrs_setup_rgmii_delay(const void *ctx, int port);
363int sja1110_setup_rgmii_delay(const void *ctx, int port);
364int sja1105_clocking_setup_port(struct sja1105_private *priv, int port);
365int sja1105_clocking_setup(struct sja1105_private *priv);
140 const char *name;
141 bool supports_mii[SJA1105_MAX_NUM_PORTS];
142 bool supports_rmii[SJA1105_MAX_NUM_PORTS];
143 bool supports_rgmii[SJA1105_MAX_NUM_PORTS];
144 bool supports_sgmii[SJA1105_MAX_NUM_PORTS];
145 bool supports_2500basex[SJA1105_MAX_NUM_PORTS];
146 enum sja1105_internal_phy_t internal_phy[SJA1105_MAX_NUM_PORTS];
147 const u64 port_speed[SJA1105_SPEED_MAX];

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

359 XMII_MODE_RGMII = 2,
360 XMII_MODE_SGMII = 3,
361} sja1105_phy_interface_t;
362
363int sja1105pqrs_setup_rgmii_delay(const void *ctx, int port);
364int sja1110_setup_rgmii_delay(const void *ctx, int port);
365int sja1105_clocking_setup_port(struct sja1105_private *priv, int port);
366int sja1105_clocking_setup(struct sja1105_private *priv);
366int sja1110_clocking_setup(struct sja1105_private *priv);
367int sja1110_disable_microcontroller(struct sja1105_private *priv);
367
368/* From sja1105_ethtool.c */
369void sja1105_get_ethtool_stats(struct dsa_switch *ds, int port, u64 *data);
370void sja1105_get_strings(struct dsa_switch *ds, int port,
371 u32 stringset, u8 *data);
372int sja1105_get_sset_count(struct dsa_switch *ds, int port, int sset);
373
374/* From sja1105_dynamic_config.c */

--- 47 unchanged lines hidden ---
368
369/* From sja1105_ethtool.c */
370void sja1105_get_ethtool_stats(struct dsa_switch *ds, int port, u64 *data);
371void sja1105_get_strings(struct dsa_switch *ds, int port,
372 u32 stringset, u8 *data);
373int sja1105_get_sset_count(struct dsa_switch *ds, int port, int sset);
374
375/* From sja1105_dynamic_config.c */

--- 47 unchanged lines hidden ---