Home
last modified time | relevance | path

Searched +full:pse +full:- +full:pd (Results 1 – 19 of 19) sorted by relevance

/linux/Documentation/networking/pse-pd/
H A Dintroduction.rst1 .. SPDX-License-Identifier: GPL-2.0
3 Power Sourcing Equipment (PSE) in IEEE 802.3 Standard
7 --------
9 Power Sourcing Equipment (PSE) is essential in networks for delivering power
14 PSE vs. PoDL PSE
15 ----------------
17 PSE in the IEEE 802.3 standard generally refers to equipment that provides
21 PoDL PSE, or Power over Data Lines PSE, specifically denotes PSEs operating
22 with single balanced twisted-pair PHYs, as per Clause 104 of IEEE 802.3. PoDL
26 IEEE 802.3-2018 Addendums and Related Clauses
[all …]
/linux/Documentation/devicetree/bindings/net/pse-pd/
H A Dpse-controller.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/net/pse-pd/pse-controller.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Power Sourcing Equipment (PSE).
9 description: Binding for the Power Sourcing Equipment (PSE) as defined in the
11 power over twisted pair/ethernet cable. The ethernet-pse nodes should be
12 used to describe PSE controller and referenced by the ethernet-phy node.
15 - Oleksij Rempel <o.rempel@pengutronix.de>
16 - Kory Maincent <kory.maincent@bootlin.com>
[all …]
H A Dpodl-pse-regulator.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/net/pse-pd/podl-pse-regulator.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Oleksij Rempel <o.rempel@pengutronix.de>
12 description: Regulator based PoDL PSE controller. The device must be referenced
16 - $ref: pse-controller.yaml#
20 const: podl-pse-regulator
22 '#pse-cells':
25 pse-supply:
[all …]
H A Drealtek,pse-mcu-gen1.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/net/pse-pd/realtek,pse-mcu-gen1.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Realtek PSE MCU
10 - Jonas Jelonek <jelonek.jonas@gmail.com>
13 A microcontroller (MCU) that manages the PSE (Power Sourcing Equipment)
15 this MCU - over I2C/SMBus or UART - using a small message-based protocol;
16 the PSE silicon it drives sits behind the MCU and is never accessed
17 directly. For example, on the Zyxel GS1900-10HP the SoC reaches the MCU
[all …]
/linux/include/linux/pse-pd/
H A Dpse.h1 // SPDX-License-Identifier: GPL-2.0-only
15 /* Maximum current in uA according to IEEE 802.3-2022 Table 145-1 */
17 /* Maximum power in mW according to IEEE 802.3-2022 Table 145-16 */
25 /* C33 PSE extended state and substate. */
46 * struct pse_irq_desc - notification sender description for IRQ based events.
49 * @map_event: driver callback to map IRQ status into PSE devices with events.
59 * struct pse_control_config - PSE control/channel configuration.
61 * @podl_admin_control: set PoDL PSE admin control as described in
62 * IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl
63 * @c33_admin_control: set PSE admin control as described in
[all …]
/linux/drivers/net/pse-pd/
H A Drealtek-pse-mcu-i2c.c1 // SPDX-License-Identifier: GPL-2.0-or-later
7 #include <linux/pse-pd/pse.h>
9 #include "realtek-pse-mcu.h"
15 * up to the worst-case ceiling.
20 static int rtpse_mcu_i2c_smbus_send(struct rtpse_mcu_ctrl *pse, const struct rtpse_mcu_msg *req) in rtpse_mcu_i2c_smbus_send() argument
22 struct i2c_client *client = to_i2c_client(pse->dev); in rtpse_mcu_i2c_smbus_send()
25 return i2c_smbus_write_i2c_block_data(client, req->opcode, RTPSE_MCU_MSG_SIZE - 1, in rtpse_mcu_i2c_smbus_send()
29 static int rtpse_mcu_i2c_smbus_recv(struct rtpse_mcu_ctrl *pse, const struct rtpse_mcu_msg *req, in rtpse_mcu_i2c_smbus_recv() argument
32 struct i2c_client *client = to_i2c_client(pse->dev); in rtpse_mcu_i2c_smbus_recv()
49 return -ETIMEDOUT; in rtpse_mcu_i2c_smbus_recv()
[all …]
H A Drealtek-pse-mcu-core.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Driver for the microcontroller (MCU) fronting PSE silicon on various
4 * Realtek-based managed switches. The MCU speaks a 12-byte fixed-frame
6 * protocol via a per-dialect opcode table and response parsers.
9 * actual PSE silicon: the host CPU talks to the MCU over I2C/SMBus or
10 * UART, and the MCU in turn manages the PSE chips on the board. The MCU
11 * speaks a small message-based protocol. The PSE chips themselves are not
14 * This driver targets that architecture for the Realtek-family protocol.
16 * the MCU fronts and manages Broadcom PSE silicon; Gen2 being used with
17 * Realtek PSE silicon. The two share frame format and a sum-mod-256
[all …]
H A Drealtek-pse-mcu-uart.c1 // SPDX-License-Identifier: GPL-2.0-or-later
7 #include <linux/pse-pd/pse.h>
12 #include "realtek-pse-mcu.h"
19 struct rtpse_mcu_ctrl pse; member
27 #define to_rtpse_mcu_uart(p) container_of(p, struct rtpse_mcu_uart, pse)
31 * the next _send re-frames from rx_len 0. Resync works by returning count
41 scoped_guard(spinlock_irqsave, &ctx->rx_lock) { in rtpse_mcu_uart_receive()
42 take = min(count, sizeof(ctx->rx_buf) - ctx->rx_len); in rtpse_mcu_uart_receive()
44 memcpy(ctx->rx_buf + ctx->rx_len, buf, take); in rtpse_mcu_uart_receive()
45 ctx->rx_len += take; in rtpse_mcu_uart_receive()
[all …]
H A Drealtek-pse-mcu.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
7 #include <linux/pse-pd/pse.h>
14 * and both transports size their per-transaction recv ceiling from
23 * between attempts. Right after reset-gpios is deasserted the MCU may not
43 #define RTPSE_MCU_OPCODE_INCOMPLETE 0xfd /* -EBADE */
44 #define RTPSE_MCU_OPCODE_BAD_CSUM 0xfe /* -EBADMSG */
45 #define RTPSE_MCU_OPCODE_NOT_READY 0xff /* -EAGAIN */
56 return (resp->opcode == req->opcode && resp->seq_num == req->seq_num) || in rtpse_mcu_resp_is_final()
57 resp->opcode == RTPSE_MCU_OPCODE_INCOMPLETE || in rtpse_mcu_resp_is_final()
58 resp->opcode == RTPSE_MCU_OPCODE_BAD_CSUM; in rtpse_mcu_resp_is_final()
[all …]
H A Dpse_core.c1 // SPDX-License-Identifier: GPL-2.0-only
13 #include <linux/pse-pd/pse.h>
27 * struct pse_control - a PSE control
28 * @pcdev: a pointer to the PSE controller device
29 * this PSE control belongs to
30 * @ps: PSE PI supply of the PSE control
31 * @list: list entry for the pcdev's PSE controller list
32 * @id: ID of the PSE line in the PSE controller device
34 * @attached_phydev: PHY device pointer attached by the PSE control
46 * struct pse_power_domain - a PSE power domain
[all …]
H A Dpd692x0.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Driver for the Microchip PD692X0 PoE PSE Controller driver (I2C bus)
15 #include <linux/pse-pd/pse.h>
118 /* Template list of communication messages. The non-null bytes defined here
215 msg->echo = echo++; in pd692x0_build_msg()
219 for (i = 0; i < sizeof(*msg) - sizeof(msg->chksum); i++) in pd692x0_build_msg()
222 msg->chksum = cpu_to_be16(chksum); in pd692x0_build_msg()
229 const struct i2c_client *client = priv->client; in pd692x0_send_msg()
232 if (msg->key == PD692X0_KEY_CMD && priv->last_cmd_key) { in pd692x0_send_msg()
235 cmd_msleep = 30 - jiffies_to_msecs(jiffies - priv->last_cmd_key_time); in pd692x0_send_msg()
[all …]
H A Dtps23881.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Driver for the TI TPS23881 PoE PSE Controller driver (I2C bus)
16 #include <linux/pse-pd/pse.h>
92 * @param chan: The channel number (0-7).
112 * @param chan: The channel number (0-7).
139 struct i2c_client *client = priv->client; in tps23881_pi_set_pw_pol_limit()
144 chan = priv->port[id].chan[0]; in tps23881_pi_set_pw_pol_limit()
165 struct i2c_client *client = priv->client; in tps23881_pi_enable_manual_pol()
178 chan = priv->port[id].chan[0]; in tps23881_pi_enable_manual_pol()
186 struct i2c_client *client = priv->client; in tps23881_pi_enable()
[all …]
/linux/net/ethtool/
H A Dpse-pd.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // ethtool interface for Ethernet PSE (Power Sourcing Equipment)
4 // and PD (Powered Device)
15 #include "linux/pse-pd/pse.h"
42 return -EOPNOTSUPP; in pse_get_pse_attributes()
45 if (!phydev->psec) { in pse_get_pse_attributes()
46 NL_SET_ERR_MSG(extack, "No PSE is attached"); in pse_get_pse_attributes()
47 return -EOPNOTSUPP; in pse_get_pse_attributes()
50 memset(&data->status, 0, sizeof(data->status)); in pse_get_pse_attributes()
52 return pse_ethtool_get_status(phydev->psec, extack, &data->status); in pse_get_pse_attributes()
[all …]
/linux/Documentation/networking/
H A Dindex.rst4 Refer to :ref:`netdev-FAQ` for a guide on netdev development process specifics.
13 batman-adv
20 ethtool-netlink
22 iso15765-2
31 sfp-phylink
35 checksum-offloads
36 segmentation-offloads
39 tls-offload
40 tls-handshake
43 arcnet-hardware
[all …]
/linux/Documentation/translations/zh_CN/networking/
H A Dindex.rst1 .. SPDX-License-Identifier: GPL-2.0
3 .. include:: ../disclaimer-zh_CN.rst
16 有关网络设备(netdev)开发过程的详细指南,请参考::ref:`netdev-FAQ`
26 netif-msg
30 mptcp-sysctl
31 generic-hdlc
38 * batman-adv
45 * ethtool-netlink
47 * iso15765-2
55 * sfp-phylink
[all …]
/linux/include/uapi/linux/
H A Dethtool.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
23 * have the same layout for 32-bit and 64-bit userland.
35 * struct ethtool_cmd - DEPRECATED, link control and status
40 * interface supports autonegotiation or auto-detection.
41 * Read-only.
45 * auto-detection.
53 * @autoneg: Enable/disable autonegotiation and auto-detection;
57 * Read-only.
59 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
61 * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
[all …]
/linux/kernel/sched/
H A Dfair.c1 // SPDX-License-Identifier: GPL-2.0
47 #include <linux/memory-tiers.h>
65 * The initial- and re-scaling of tunables is configurable
69 * SCHED_TUNABLESCALING_NONE - unscaled, always *1
70 * SCHED_TUNABLESCALING_LOG - scaled logarithmically, *1+ilog(ncpus)
71 * SCHED_TUNABLESCALING_LINEAR - scaled linear, *ncpus
102 return -cpu; in arch_asym_cpu_priority()
122 * Amount of runtime to allocate from global (tg) to local (per-cfs_rq) pool
173 lw->weight += inc; in update_load_add()
174 lw->inv_weight = 0; in update_load_add()
[all …]
/linux/drivers/net/phy/
H A Dphy_device.c1 // SPDX-License-Identifier: GPL-2.0+
34 #include <linux/pse-pd/pse.h>
45 #include "phylib-internal.h"
46 #include "phy-caps.h"
212 put_device(&phydev->mdio.dev); in phy_device_free()
226 fwnode_handle_put(dev->fwnode); in phy_device_release()
254 /* If the PHY is using driver-model based wakeup, use that state. */ in phy_may_wakeup()
256 return device_may_wakeup(&phydev->mdio.dev); in phy_may_wakeup()
264 struct net_device *netdev = phydev->attached_dev; in phy_link_change()
270 phydev->adjust_link(netdev); in phy_link_change()
[all …]
/linux/
H A DMAINTAINERS5 ----------
[all...]