[PATCH 2/2] dt-bindings: add device tree bindings for mxl-8611x PHY

Nate Drude nate.d at variscite.com
Wed Jul 12 22:50:26 CEST 2023


The MXL8611X driver has custom bindings for configuring the LEDs
and RGMII internal delays. This patch adds the documentation and
defines necessary to configure it from the device tree.

Signed-off-by: Nate Drude <nate.d at variscite.com>
---
  .../net/phy/mxl-8611x.txt                     | 37 +++++++++++++++++++
  include/dt-bindings/net/mxl-8611x.h           | 27 ++++++++++++++
  2 files changed, 64 insertions(+)
  create mode 100644 doc/device-tree-bindings/net/phy/mxl-8611x.txt
  create mode 100644 include/dt-bindings/net/mxl-8611x.h

diff --git a/doc/device-tree-bindings/net/phy/mxl-8611x.txt 
b/doc/device-tree-bindings/net/phy/mxl-8611x.txt
new file mode 100644
index 00000000000..462fdf61666
--- /dev/null
+++ b/doc/device-tree-bindings/net/phy/mxl-8611x.txt
@@ -0,0 +1,37 @@
+* MaxLinear MXL8611x PHY Device Tree binding
+
+Required properties:
+- reg: PHY address
+
+Optional properties:
+- mxl-8611x,ledN_cfg: Register configuration for COM_EXT_LED0_CFG,
+	COM_EXT_LED1_CFG, and COM_EXT_LED2_CFG
+- mxl-8611x,rx-internal-delay-ps: RGMII RX Clock Delay used only when 
PHY operates
+	in RGMII mode with internal delay (phy-mode is 'rgmii-id' or
+	'rgmii-rxid') in pico-seconds.
+- mxl-8611x,tx-internal-delay-ps-100m: RGMII TX Clock Delay used only 
when PHY operates
+	in 10/100M RGMII mode with internal delay (phy-mode is 'rgmii-id' or
+	'rgmii-txid') in pico-seconds.
+- mxl-8611x,tx-internal-delay-ps-1g: RGMII TX Clock Delay used only 
when PHY operates
+	in 1G RGMII mode with internal delay (phy-mode is 'rgmii-id' or
+	'rgmii-txid') in pico-seconds.
+
+Example:
+
+	ethernet-phy at 0 {
+		reg = <0>;
+
+		mxl-8611x,led0_cfg = <(
+			MXL8611X_LEDX_CFG_LINK_UP_RX_ACT_ON |
+			MXL8611X_LEDX_CFG_LINK_UP_TX_ACT_ON |
+			MXL8611X_LEDX_CFG_TRAFFIC_ACT_BLINK_IND
+		)>;
+		mxl-8611x,led1_cfg = <(
+			MXL8611X_LEDX_CFG_LINK_UP_10MB_ON |
+			MXL8611X_LEDX_CFG_LINK_UP_100MB_ON |
+			MXL8611X_LEDX_CFG_LINK_UP_1GB_ON
+		)>;
+		mxl-8611x,rx-internal-delay-ps = <0>;
+		mxl-8611x,tx-internal-delay-ps-100m = <2250>;
+		mxl-8611x,tx-internal-delay-ps-1g = <150>;
+	};
diff --git a/include/dt-bindings/net/mxl-8611x.h 
b/include/dt-bindings/net/mxl-8611x.h
new file mode 100644
index 00000000000..cb0ec0f8bd0
--- /dev/null
+++ b/include/dt-bindings/net/mxl-8611x.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+/*
+ * Device Tree constants for MaxLinear MXL8611x PHYs
+ *
+ * Copyright 2023 Variscite Ltd.
+ * Copyright 2023 MaxLinear Inc.
+ */
+
+#ifndef _DT_BINDINGS_MXL_8611X_H
+#define _DT_BINDINGS_MXL_8611X_H
+
+#define MXL8611X_LEDX_CFG_TRAFFIC_ACT_BLINK_IND		(1 << 13)
+#define MXL8611X_LEDX_CFG_LINK_UP_FULL_DUPLEX_ON	(1 << 12)
+#define MXL8611X_LEDX_CFG_LINK_UP_HALF_DUPLEX_ON	(1 << 11)
+#define MXL8611X_LEDX_CFG_LINK_UP_TX_ACT_ON		(1 << 10)
+#define MXL8611X_LEDX_CFG_LINK_UP_RX_ACT_ON		(1 << 9)
+#define MXL8611X_LEDX_CFG_LINK_UP_TX_ON			(1 << 8)
+#define MXL8611X_LEDX_CFG_LINK_UP_RX_ON			(1 << 7)
+#define MXL8611X_LEDX_CFG_LINK_UP_1GB_ON		(1 << 6)
+#define MXL8611X_LEDX_CFG_LINK_UP_100MB_ON		(1 << 5)
+#define MXL8611X_LEDX_CFG_LINK_UP_10MB_ON		(1 << 4)
+#define MXL8611X_LEDX_CFG_LINK_UP_COLLISION		(1 << 3)
+#define MXL8611X_LEDX_CFG_LINK_UP_1GB_BLINK		(1 << 2)
+#define MXL8611X_LEDX_CFG_LINK_UP_100MB_BLINK		(1 << 1)
+#define MXL8611X_LEDX_CFG_LINK_UP_10MB_BLINK		(1 << 0)
+
+#endif
-- 
2.40.1


More information about the U-Boot mailing list