| /linux/Documentation/networking/pse-pd/ |
| H A D | introduction.rst | 1 .. 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 D | pse-controller.yaml | 1 # 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 D | podl-pse-regulator.yaml | 1 # 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 D | realtek,pse-mcu-gen1.yaml | 1 # 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 D | pse.h | 1 // 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 D | realtek-pse-mcu-i2c.c | 1 // 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 D | realtek-pse-mcu-core.c | 1 // 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 D | realtek-pse-mcu-uart.c | 1 // 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 D | realtek-pse-mcu.h | 1 /* 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 D | pse_core.c | 1 // 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 D | pd692x0.c | 1 // 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 D | tps23881.c | 1 // 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 D | pse-pd.c | 1 // 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 D | index.rst | 4 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 D | index.rst | 1 .. 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 D | ethtool.h | 1 /* 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 D | fair.c | 1 // 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 D | phy_device.c | 1 // 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 D | MAINTAINERS | 5 ---------- [all...] |