Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: net: dp83869: Add TI dp83869 phy

Add dt bindings for the TI dp83869 Gigabit ethernet phy
device.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
CC: Rob Herring <robh+dt@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Dan Murphy and committed by
David S. Miller
4d66c56f bd1903b7

+126
+84
Documentation/devicetree/bindings/net/ti,dp83869.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + # Copyright (C) 2019 Texas Instruments Incorporated 3 + %YAML 1.2 4 + --- 5 + $id: "http://devicetree.org/schemas/net/ti,dp83869.yaml#" 6 + $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 + 8 + title: TI DP83869 ethernet PHY 9 + 10 + allOf: 11 + - $ref: "ethernet-controller.yaml#" 12 + 13 + maintainers: 14 + - Dan Murphy <dmurphy@ti.com> 15 + 16 + description: | 17 + The DP83869HM device is a robust, fully-featured Gigabit (PHY) transceiver 18 + with integrated PMD sublayers that supports 10BASE-Te, 100BASE-TX and 19 + 1000BASE-T Ethernet protocols. The DP83869 also supports 1000BASE-X and 20 + 100BASE-FX Fiber protocols. 21 + This device interfaces to the MAC layer through Reduced GMII (RGMII) and 22 + SGMII The DP83869HM supports Media Conversion in Managed mode. In this mode, 23 + the DP83869HM can run 1000BASE-X-to-1000BASE-T and 100BASE-FX-to-100BASE-TX 24 + conversions. The DP83869HM can also support Bridge Conversion from RGMII to 25 + SGMII and SGMII to RGMII. 26 + 27 + Specifications about the charger can be found at: 28 + http://www.ti.com/lit/ds/symlink/dp83869hm.pdf 29 + 30 + properties: 31 + reg: 32 + maxItems: 1 33 + 34 + ti,min-output-impedance: 35 + type: boolean 36 + description: | 37 + MAC Interface Impedance control to set the programmable output impedance 38 + to a minimum value (35 ohms). 39 + 40 + ti,max-output-impedance: 41 + type: boolean 42 + description: | 43 + MAC Interface Impedance control to set the programmable output impedance 44 + to a maximum value (70 ohms). 45 + 46 + tx-fifo-depth: 47 + $ref: /schemas/types.yaml#definitions/uint32 48 + description: | 49 + Transmitt FIFO depth see dt-bindings/net/ti-dp83869.h for values 50 + 51 + rx-fifo-depth: 52 + $ref: /schemas/types.yaml#definitions/uint32 53 + description: | 54 + Receive FIFO depth see dt-bindings/net/ti-dp83869.h for values 55 + 56 + ti,clk-output-sel: 57 + $ref: /schemas/types.yaml#definitions/uint32 58 + description: | 59 + Muxing option for CLK_OUT pin see dt-bindings/net/ti-dp83869.h for values. 60 + 61 + ti,op-mode: 62 + $ref: /schemas/types.yaml#definitions/uint32 63 + description: | 64 + Operational mode for the PHY. If this is not set then the operational 65 + mode is set by the straps. see dt-bindings/net/ti-dp83869.h for values 66 + 67 + required: 68 + - reg 69 + 70 + examples: 71 + - | 72 + #include <dt-bindings/net/ti-dp83869.h> 73 + mdio0 { 74 + #address-cells = <1>; 75 + #size-cells = <0>; 76 + ethphy0: ethernet-phy@0 { 77 + reg = <0>; 78 + tx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>; 79 + rx-fifo-depth = <DP83869_PHYCR_FIFO_DEPTH_4_B_NIB>; 80 + ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET>; 81 + ti,max-output-impedance = "true"; 82 + ti,clk-output-sel = <DP83869_CLK_O_SEL_CHN_A_RCLK>; 83 + }; 84 + };
+42
include/dt-bindings/net/ti-dp83869.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0-only */ 2 + /* 3 + * Device Tree constants for the Texas Instruments DP83869 PHY 4 + * 5 + * Author: Dan Murphy <dmurphy@ti.com> 6 + * 7 + * Copyright: (C) 2019 Texas Instruments, Inc. 8 + */ 9 + 10 + #ifndef _DT_BINDINGS_TI_DP83869_H 11 + #define _DT_BINDINGS_TI_DP83869_H 12 + 13 + /* PHY CTRL bits */ 14 + #define DP83869_PHYCR_FIFO_DEPTH_3_B_NIB 0x00 15 + #define DP83869_PHYCR_FIFO_DEPTH_4_B_NIB 0x01 16 + #define DP83869_PHYCR_FIFO_DEPTH_6_B_NIB 0x02 17 + #define DP83869_PHYCR_FIFO_DEPTH_8_B_NIB 0x03 18 + 19 + /* IO_MUX_CFG - Clock output selection */ 20 + #define DP83869_CLK_O_SEL_CHN_A_RCLK 0x0 21 + #define DP83869_CLK_O_SEL_CHN_B_RCLK 0x1 22 + #define DP83869_CLK_O_SEL_CHN_C_RCLK 0x2 23 + #define DP83869_CLK_O_SEL_CHN_D_RCLK 0x3 24 + #define DP83869_CLK_O_SEL_CHN_A_RCLK_DIV5 0x4 25 + #define DP83869_CLK_O_SEL_CHN_B_RCLK_DIV5 0x5 26 + #define DP83869_CLK_O_SEL_CHN_C_RCLK_DIV5 0x6 27 + #define DP83869_CLK_O_SEL_CHN_D_RCLK_DIV5 0x7 28 + #define DP83869_CLK_O_SEL_CHN_A_TCLK 0x8 29 + #define DP83869_CLK_O_SEL_CHN_B_TCLK 0x9 30 + #define DP83869_CLK_O_SEL_CHN_C_TCLK 0xa 31 + #define DP83869_CLK_O_SEL_CHN_D_TCLK 0xb 32 + #define DP83869_CLK_O_SEL_REF_CLK 0xc 33 + 34 + #define DP83869_RGMII_COPPER_ETHERNET 0x00 35 + #define DP83869_RGMII_1000_BASE 0x01 36 + #define DP83869_RGMII_100_BASE 0x02 37 + #define DP83869_RGMII_SGMII_BRIDGE 0x03 38 + #define DP83869_1000M_MEDIA_CONVERT 0x04 39 + #define DP83869_100M_MEDIA_CONVERT 0x05 40 + #define DP83869_SGMII_COPPER_ETHERNET 0x06 41 + 42 + #endif