2023-07-21 13:15:55

by Jayesh Choudhary

[permalink] [raw]
Subject: [PATCH v2 0/2] Deprecate ti-serdes header file

This series moves the ti-serdes.h header to arch/arm64/boot/dts/ti/
as these constants do not have driver usage and are not suitable for
bindings as discussed in [1].

Deprecating the bindings header for now instead of dropping them based
on the discussion in [2].
We expect to remove this bindings header in the next cycle.

Changelog v1->v2:
- Fix typo in commit message
- Carry 'Acked-by' and 'Reviewed-by' tags from v1

v1: <https://lore.kernel.org/all/[email protected]/>

[1]: <https://lore.kernel.org/all/[email protected]/>
[2]: <https://lore.kernel.org/linux-arm-kernel/[email protected]/>

Jayesh Choudhary (2):
arm64: dts: ti: Use local header for SERDES MUX idle-state values
dt-bindings: ti-serdes-mux: Deprecate header with constants

arch/arm64/boot/dts/ti/k3-am642-evm.dts | 3 +-
.../dts/ti/k3-am642-phyboard-electra-rdk.dts | 3 +-
arch/arm64/boot/dts/ti/k3-am642-sk.dts | 3 +-
.../boot/dts/ti/k3-am68-sk-base-board.dts | 3 +-
.../dts/ti/k3-j7200-common-proc-board.dts | 3 +-
.../ti/k3-j7200-evm-quad-port-eth-exp.dtso | 2 +-
.../ti/k3-j721e-evm-quad-port-eth-exp.dtso | 2 +-
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 3 +-
.../dts/ti/k3-j721s2-common-proc-board.dts | 3 +-
arch/arm64/boot/dts/ti/k3-serdes.h | 204 ++++++++++++++++++
include/dt-bindings/mux/ti-serdes.h | 8 +
11 files changed, 228 insertions(+), 9 deletions(-)
create mode 100644 arch/arm64/boot/dts/ti/k3-serdes.h

--
2.25.1



2023-07-21 13:16:29

by Jayesh Choudhary

[permalink] [raw]
Subject: [PATCH v2 1/2] arm64: dts: ti: Use local header for SERDES MUX idle-state values

The DTS uses constants for SERDES MUX idle state values which were earlier
provided as bindings header. But they are unsuitable for bindings.
So move these constants in a header next to DTS.

Also add J784S4 SERDES4 lane definitions which were missed earlier.

Suggested-by: Nishanth Menon <[email protected]>
Suggested-by: Krzysztof Kozlowski <[email protected]>
Suggested-by: Roger Quadros <[email protected]>
Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
Signed-off-by: Jayesh Choudhary <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Acked-by: Roger Quadros <[email protected]>
---
arch/arm64/boot/dts/ti/k3-am642-evm.dts | 3 +-
.../dts/ti/k3-am642-phyboard-electra-rdk.dts | 3 +-
arch/arm64/boot/dts/ti/k3-am642-sk.dts | 3 +-
.../boot/dts/ti/k3-am68-sk-base-board.dts | 3 +-
.../dts/ti/k3-j7200-common-proc-board.dts | 3 +-
.../ti/k3-j7200-evm-quad-port-eth-exp.dtso | 2 +-
.../ti/k3-j721e-evm-quad-port-eth-exp.dtso | 2 +-
arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 3 +-
.../dts/ti/k3-j721s2-common-proc-board.dts | 3 +-
arch/arm64/boot/dts/ti/k3-serdes.h | 204 ++++++++++++++++++
10 files changed, 220 insertions(+), 9 deletions(-)
create mode 100644 arch/arm64/boot/dts/ti/k3-serdes.h

diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
index 15c282c93467..d84e7ee16032 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
@@ -6,12 +6,13 @@
/dts-v1/;

#include <dt-bindings/phy/phy.h>
-#include <dt-bindings/mux/ti-serdes.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83867.h>
#include "k3-am642.dtsi"

+#include "k3-serdes.h"
+
/ {
compatible = "ti,am642-evm", "ti,am642";
model = "Texas Instruments AM642 EVM";
diff --git a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
index 9c418abd29d8..9175e96842d8 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
@@ -16,11 +16,12 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/leds/leds-pca9532.h>
-#include <dt-bindings/mux/ti-serdes.h>
#include <dt-bindings/phy/phy.h>
#include "k3-am642.dtsi"
#include "k3-am64-phycore-som.dtsi"

+#include "k3-serdes.h"
+
/ {
compatible = "phytec,am642-phyboard-electra-rdk",
"phytec,am64-phycore-som", "ti,am642";
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index cbce43dbe3f9..963d796a3a97 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -5,13 +5,14 @@

/dts-v1/;

-#include <dt-bindings/mux/ti-serdes.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/leds/common.h>
#include "k3-am642.dtsi"

+#include "k3-serdes.h"
+
/ {
compatible = "ti,am642-sk", "ti,am642";
model = "Texas Instruments AM642 SK";
diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
index d5889ba3fa46..21ad49cfa7ee 100644
--- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
@@ -11,7 +11,8 @@
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/phy/phy-cadence.h>
#include <dt-bindings/phy/phy.h>
-#include <dt-bindings/mux/ti-serdes.h>
+
+#include "k3-serdes.h"

/ {
compatible = "ti,am68-sk", "ti,j721s2";
diff --git a/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
index 3cf288128c3f..92a541491172 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
@@ -8,9 +8,10 @@
#include "k3-j7200-som-p0.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/net/ti-dp83867.h>
-#include <dt-bindings/mux/ti-serdes.h>
#include <dt-bindings/phy/phy.h>

+#include "k3-serdes.h"
+
/ {
compatible = "ti,j7200-evm", "ti,j7200";
model = "Texas Instruments J7200 EVM";
diff --git a/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso b/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso
index 34a0747cbe69..32d905235ed7 100644
--- a/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso
+++ b/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso
@@ -10,9 +10,9 @@
/plugin/;

#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/mux/ti-serdes.h>

#include "k3-pinctrl.h"
+#include "k3-serdes.h"

&{/} {
aliases {
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso b/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso
index 6f0adf591b98..d4c51ffc3d6b 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso
+++ b/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso
@@ -10,11 +10,11 @@
/plugin/;

#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/mux/ti-serdes.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/phy/phy-cadence.h>

#include "k3-pinctrl.h"
+#include "k3-serdes.h"

&{/} {
aliases {
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index 6c9fe28b6de7..3acd55ffd4ff 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -7,7 +7,8 @@
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/phy/phy-ti.h>
#include <dt-bindings/mux/mux.h>
-#include <dt-bindings/mux/ti-serdes.h>
+
+#include "k3-serdes.h"

/ {
cmn_refclk: clock-cmnrefclk {
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
index 092ab1e14ba5..02b7a559bdf2 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
@@ -11,7 +11,8 @@
#include <dt-bindings/net/ti-dp83867.h>
#include <dt-bindings/phy/phy-cadence.h>
#include <dt-bindings/phy/phy.h>
-#include <dt-bindings/mux/ti-serdes.h>
+
+#include "k3-serdes.h"

/ {
compatible = "ti,j721s2-evm", "ti,j721s2";
diff --git a/arch/arm64/boot/dts/ti/k3-serdes.h b/arch/arm64/boot/dts/ti/k3-serdes.h
new file mode 100644
index 000000000000..29167f85c1f6
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-serdes.h
@@ -0,0 +1,204 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * This header provides constants for SERDES MUX for TI SoCs
+ *
+ * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+#ifndef DTS_ARM64_TI_K3_SERDES_H
+#define DTS_ARM64_TI_K3_SERDES_H
+
+/* J721E */
+
+#define J721E_SERDES0_LANE0_QSGMII_LANE1 0x0
+#define J721E_SERDES0_LANE0_PCIE0_LANE0 0x1
+#define J721E_SERDES0_LANE0_USB3_0_SWAP 0x2
+#define J721E_SERDES0_LANE0_IP4_UNUSED 0x3
+
+#define J721E_SERDES0_LANE1_QSGMII_LANE2 0x0
+#define J721E_SERDES0_LANE1_PCIE0_LANE1 0x1
+#define J721E_SERDES0_LANE1_USB3_0 0x2
+#define J721E_SERDES0_LANE1_IP4_UNUSED 0x3
+
+#define J721E_SERDES1_LANE0_QSGMII_LANE3 0x0
+#define J721E_SERDES1_LANE0_PCIE1_LANE0 0x1
+#define J721E_SERDES1_LANE0_USB3_1_SWAP 0x2
+#define J721E_SERDES1_LANE0_SGMII_LANE0 0x3
+
+#define J721E_SERDES1_LANE1_QSGMII_LANE4 0x0
+#define J721E_SERDES1_LANE1_PCIE1_LANE1 0x1
+#define J721E_SERDES1_LANE1_USB3_1 0x2
+#define J721E_SERDES1_LANE1_SGMII_LANE1 0x3
+
+#define J721E_SERDES2_LANE0_IP1_UNUSED 0x0
+#define J721E_SERDES2_LANE0_PCIE2_LANE0 0x1
+#define J721E_SERDES2_LANE0_USB3_1_SWAP 0x2
+#define J721E_SERDES2_LANE0_SGMII_LANE0 0x3
+
+#define J721E_SERDES2_LANE1_IP1_UNUSED 0x0
+#define J721E_SERDES2_LANE1_PCIE2_LANE1 0x1
+#define J721E_SERDES2_LANE1_USB3_1 0x2
+#define J721E_SERDES2_LANE1_SGMII_LANE1 0x3
+
+#define J721E_SERDES3_LANE0_IP1_UNUSED 0x0
+#define J721E_SERDES3_LANE0_PCIE3_LANE0 0x1
+#define J721E_SERDES3_LANE0_USB3_0_SWAP 0x2
+#define J721E_SERDES3_LANE0_IP4_UNUSED 0x3
+
+#define J721E_SERDES3_LANE1_IP1_UNUSED 0x0
+#define J721E_SERDES3_LANE1_PCIE3_LANE1 0x1
+#define J721E_SERDES3_LANE1_USB3_0 0x2
+#define J721E_SERDES3_LANE1_IP4_UNUSED 0x3
+
+#define J721E_SERDES4_LANE0_EDP_LANE0 0x0
+#define J721E_SERDES4_LANE0_IP2_UNUSED 0x1
+#define J721E_SERDES4_LANE0_QSGMII_LANE5 0x2
+#define J721E_SERDES4_LANE0_IP4_UNUSED 0x3
+
+#define J721E_SERDES4_LANE1_EDP_LANE1 0x0
+#define J721E_SERDES4_LANE1_IP2_UNUSED 0x1
+#define J721E_SERDES4_LANE1_QSGMII_LANE6 0x2
+#define J721E_SERDES4_LANE1_IP4_UNUSED 0x3
+
+#define J721E_SERDES4_LANE2_EDP_LANE2 0x0
+#define J721E_SERDES4_LANE2_IP2_UNUSED 0x1
+#define J721E_SERDES4_LANE2_QSGMII_LANE7 0x2
+#define J721E_SERDES4_LANE2_IP4_UNUSED 0x3
+
+#define J721E_SERDES4_LANE3_EDP_LANE3 0x0
+#define J721E_SERDES4_LANE3_IP2_UNUSED 0x1
+#define J721E_SERDES4_LANE3_QSGMII_LANE8 0x2
+#define J721E_SERDES4_LANE3_IP4_UNUSED 0x3
+
+/* J7200 */
+
+#define J7200_SERDES0_LANE0_QSGMII_LANE3 0x0
+#define J7200_SERDES0_LANE0_PCIE1_LANE0 0x1
+#define J7200_SERDES0_LANE0_IP3_UNUSED 0x2
+#define J7200_SERDES0_LANE0_IP4_UNUSED 0x3
+
+#define J7200_SERDES0_LANE1_QSGMII_LANE4 0x0
+#define J7200_SERDES0_LANE1_PCIE1_LANE1 0x1
+#define J7200_SERDES0_LANE1_IP3_UNUSED 0x2
+#define J7200_SERDES0_LANE1_IP4_UNUSED 0x3
+
+#define J7200_SERDES0_LANE2_QSGMII_LANE1 0x0
+#define J7200_SERDES0_LANE2_PCIE1_LANE2 0x1
+#define J7200_SERDES0_LANE2_IP3_UNUSED 0x2
+#define J7200_SERDES0_LANE2_IP4_UNUSED 0x3
+
+#define J7200_SERDES0_LANE3_QSGMII_LANE2 0x0
+#define J7200_SERDES0_LANE3_PCIE1_LANE3 0x1
+#define J7200_SERDES0_LANE3_USB 0x2
+#define J7200_SERDES0_LANE3_IP4_UNUSED 0x3
+
+/* AM64 */
+
+#define AM64_SERDES0_LANE0_PCIE0 0x0
+#define AM64_SERDES0_LANE0_USB 0x1
+
+/* J721S2 */
+
+#define J721S2_SERDES0_LANE0_EDP_LANE0 0x0
+#define J721S2_SERDES0_LANE0_PCIE1_LANE0 0x1
+#define J721S2_SERDES0_LANE0_IP3_UNUSED 0x2
+#define J721S2_SERDES0_LANE0_IP4_UNUSED 0x3
+
+#define J721S2_SERDES0_LANE1_EDP_LANE1 0x0
+#define J721S2_SERDES0_LANE1_PCIE1_LANE1 0x1
+#define J721S2_SERDES0_LANE1_USB 0x2
+#define J721S2_SERDES0_LANE1_IP4_UNUSED 0x3
+
+#define J721S2_SERDES0_LANE2_EDP_LANE2 0x0
+#define J721S2_SERDES0_LANE2_PCIE1_LANE2 0x1
+#define J721S2_SERDES0_LANE2_IP3_UNUSED 0x2
+#define J721S2_SERDES0_LANE2_IP4_UNUSED 0x3
+
+#define J721S2_SERDES0_LANE3_EDP_LANE3 0x0
+#define J721S2_SERDES0_LANE3_PCIE1_LANE3 0x1
+#define J721S2_SERDES0_LANE3_USB 0x2
+#define J721S2_SERDES0_LANE3_IP4_UNUSED 0x3
+
+/* J784S4 */
+
+#define J784S4_SERDES0_LANE0_IP1_UNUSED 0x0
+#define J784S4_SERDES0_LANE0_PCIE1_LANE0 0x1
+#define J784S4_SERDES0_LANE0_IP3_UNUSED 0x2
+#define J784S4_SERDES0_LANE0_IP4_UNUSED 0x3
+
+#define J784S4_SERDES0_LANE1_IP1_UNUSED 0x0
+#define J784S4_SERDES0_LANE1_PCIE1_LANE1 0x1
+#define J784S4_SERDES0_LANE1_IP3_UNUSED 0x2
+#define J784S4_SERDES0_LANE1_IP4_UNUSED 0x3
+
+#define J784S4_SERDES0_LANE2_PCIE3_LANE0 0x0
+#define J784S4_SERDES0_LANE2_PCIE1_LANE2 0x1
+#define J784S4_SERDES0_LANE2_IP3_UNUSED 0x2
+#define J784S4_SERDES0_LANE2_IP4_UNUSED 0x3
+
+#define J784S4_SERDES0_LANE3_PCIE3_LANE1 0x0
+#define J784S4_SERDES0_LANE3_PCIE1_LANE3 0x1
+#define J784S4_SERDES0_LANE3_USB 0x2
+#define J784S4_SERDES0_LANE3_IP4_UNUSED 0x3
+
+#define J784S4_SERDES1_LANE0_QSGMII_LANE3 0x0
+#define J784S4_SERDES1_LANE0_PCIE0_LANE0 0x1
+#define J784S4_SERDES1_LANE0_IP3_UNUSED 0x2
+#define J784S4_SERDES1_LANE0_IP4_UNUSED 0x3
+
+#define J784S4_SERDES1_LANE1_QSGMII_LANE4 0x0
+#define J784S4_SERDES1_LANE1_PCIE0_LANE1 0x1
+#define J784S4_SERDES1_LANE1_IP3_UNUSED 0x2
+#define J784S4_SERDES1_LANE1_IP4_UNUSED 0x3
+
+#define J784S4_SERDES1_LANE2_QSGMII_LANE1 0x0
+#define J784S4_SERDES1_LANE2_PCIE0_LANE2 0x1
+#define J784S4_SERDES1_LANE2_PCIE2_LANE0 0x2
+#define J784S4_SERDES1_LANE2_IP4_UNUSED 0x3
+
+#define J784S4_SERDES1_LANE3_QSGMII_LANE2 0x0
+#define J784S4_SERDES1_LANE3_PCIE0_LANE3 0x1
+#define J784S4_SERDES1_LANE3_PCIE2_LANE1 0x2
+#define J784S4_SERDES1_LANE3_IP4_UNUSED 0x3
+
+#define J784S4_SERDES2_LANE0_QSGMII_LANE5 0x0
+#define J784S4_SERDES2_LANE0_IP2_UNUSED 0x1
+#define J784S4_SERDES2_LANE0_IP3_UNUSED 0x2
+#define J784S4_SERDES2_LANE0_IP4_UNUSED 0x3
+
+#define J784S4_SERDES2_LANE1_QSGMII_LANE6 0x0
+#define J784S4_SERDES2_LANE1_IP2_UNUSED 0x1
+#define J784S4_SERDES2_LANE1_IP3_UNUSED 0x2
+#define J784S4_SERDES2_LANE1_IP4_UNUSED 0x3
+
+#define J784S4_SERDES2_LANE2_QSGMII_LANE7 0x0
+#define J784S4_SERDES2_LANE2_QSGMII_LANE1 0x1
+#define J784S4_SERDES2_LANE2_IP3_UNUSED 0x2
+#define J784S4_SERDES2_LANE2_IP4_UNUSED 0x3
+
+#define J784S4_SERDES2_LANE3_QSGMII_LANE8 0x0
+#define J784S4_SERDES2_LANE3_QSGMII_LANE2 0x1
+#define J784S4_SERDES2_LANE3_IP3_UNUSED 0x2
+#define J784S4_SERDES2_LANE3_IP4_UNUSED 0x3
+
+#define J784S4_SERDES4_LANE0_EDP_LANE0 0x0
+#define J784S4_SERDES4_LANE0_QSGMII_LANE5 0x1
+#define J784S4_SERDES4_LANE0_IP3_UNUSED 0x2
+#define J784S4_SERDES4_LANE0_IP4_UNUSED 0x3
+
+#define J784S4_SERDES4_LANE1_EDP_LANE1 0x0
+#define J784S4_SERDES4_LANE1_QSGMII_LANE6 0x1
+#define J784S4_SERDES4_LANE1_IP3_UNUSED 0x2
+#define J784S4_SERDES4_LANE1_IP4_UNUSED 0x3
+
+#define J784S4_SERDES4_LANE2_EDP_LANE2 0x0
+#define J784S4_SERDES4_LANE2_QSGMII_LANE7 0x1
+#define J784S4_SERDES4_LANE2_IP3_UNUSED 0x2
+#define J784S4_SERDES4_LANE2_IP4_UNUSED 0x3
+
+#define J784S4_SERDES4_LANE3_EDP_LANE3 0x0
+#define J784S4_SERDES4_LANE3_QSGMII_LANE8 0x1
+#define J784S4_SERDES4_LANE3_USB 0x2
+#define J784S4_SERDES4_LANE3_IP4_UNUSED 0x3
+
+#endif /* DTS_ARM64_TI_K3_SERDES_H */
--
2.25.1


2023-07-21 13:16:52

by Jayesh Choudhary

[permalink] [raw]
Subject: [PATCH v2 2/2] dt-bindings: ti-serdes-mux: Deprecate header with constants

The constants to define the idle state of SERDES MUX were defined in
bindings header. They are used only in DTS and driver uses the dt property
to set the idle state making it unsuitable for bindings.
The constants are moved to header next to DTS ("arch/arm64/boot/dts/ti/")
and all the references to bindings header are removed.
So add a warning to mark this bindings header as deprecated.

Signed-off-by: Jayesh Choudhary <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Acked-by: Roger Quadros <[email protected]>
---
include/dt-bindings/mux/ti-serdes.h | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/include/dt-bindings/mux/ti-serdes.h b/include/dt-bindings/mux/ti-serdes.h
index 669ca2d6abce..b0b1091aad6d 100644
--- a/include/dt-bindings/mux/ti-serdes.h
+++ b/include/dt-bindings/mux/ti-serdes.h
@@ -6,6 +6,14 @@
#ifndef _DT_BINDINGS_MUX_TI_SERDES
#define _DT_BINDINGS_MUX_TI_SERDES

+/*
+ * These bindings are deprecated, because they do not match the actual
+ * concept of bindings but rather contain pure constants values used only
+ * in DTS board files.
+ * Instead include the header in the DTS source directory.
+ */
+#warning "These bindings are deprecated. Instead, use the header in the DTS source directory."
+
/* J721E */

#define J721E_SERDES0_LANE0_QSGMII_LANE1 0x0
--
2.25.1


2023-07-22 11:21:44

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] arm64: dts: ti: Use local header for SERDES MUX idle-state values

Hi!

2023-07-21 at 14:57, Jayesh Choudhary wrote:
> The DTS uses constants for SERDES MUX idle state values which were earlier
> provided as bindings header. But they are unsuitable for bindings.
> So move these constants in a header next to DTS.
>
> Also add J784S4 SERDES4 lane definitions which were missed earlier.
>
> Suggested-by: Nishanth Menon <[email protected]>
> Suggested-by: Krzysztof Kozlowski <[email protected]>
> Suggested-by: Roger Quadros <[email protected]>
> Link: https://lore.kernel.org/linux-arm-kernel/[email protected]/
> Signed-off-by: Jayesh Choudhary <[email protected]>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Acked-by: Roger Quadros <[email protected]>

Thanks for getting these constants out of my hair :-)

I assume the patches will take some other route to Linus than by me?

Acked-by: Peter Rosin <[email protected]>

Cheers,
Peter

> ---
> arch/arm64/boot/dts/ti/k3-am642-evm.dts | 3 +-
> .../dts/ti/k3-am642-phyboard-electra-rdk.dts | 3 +-
> arch/arm64/boot/dts/ti/k3-am642-sk.dts | 3 +-
> .../boot/dts/ti/k3-am68-sk-base-board.dts | 3 +-
> .../dts/ti/k3-j7200-common-proc-board.dts | 3 +-
> .../ti/k3-j7200-evm-quad-port-eth-exp.dtso | 2 +-
> .../ti/k3-j721e-evm-quad-port-eth-exp.dtso | 2 +-
> arch/arm64/boot/dts/ti/k3-j721e-main.dtsi | 3 +-
> .../dts/ti/k3-j721s2-common-proc-board.dts | 3 +-
> arch/arm64/boot/dts/ti/k3-serdes.h | 204 ++++++++++++++++++
> 10 files changed, 220 insertions(+), 9 deletions(-)
> create mode 100644 arch/arm64/boot/dts/ti/k3-serdes.h
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-evm.dts b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> index 15c282c93467..d84e7ee16032 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-evm.dts
> @@ -6,12 +6,13 @@
> /dts-v1/;
>
> #include <dt-bindings/phy/phy.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> #include <dt-bindings/leds/common.h>
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/net/ti-dp83867.h>
> #include "k3-am642.dtsi"
>
> +#include "k3-serdes.h"
> +
> / {
> compatible = "ti,am642-evm", "ti,am642";
> model = "Texas Instruments AM642 EVM";
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
> index 9c418abd29d8..9175e96842d8 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-phyboard-electra-rdk.dts
> @@ -16,11 +16,12 @@
> #include <dt-bindings/input/input.h>
> #include <dt-bindings/leds/common.h>
> #include <dt-bindings/leds/leds-pca9532.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> #include <dt-bindings/phy/phy.h>
> #include "k3-am642.dtsi"
> #include "k3-am64-phycore-som.dtsi"
>
> +#include "k3-serdes.h"
> +
> / {
> compatible = "phytec,am642-phyboard-electra-rdk",
> "phytec,am64-phycore-som", "ti,am642";
> diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> index cbce43dbe3f9..963d796a3a97 100644
> --- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
> @@ -5,13 +5,14 @@
>
> /dts-v1/;
>
> -#include <dt-bindings/mux/ti-serdes.h>
> #include <dt-bindings/phy/phy.h>
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/net/ti-dp83867.h>
> #include <dt-bindings/leds/common.h>
> #include "k3-am642.dtsi"
>
> +#include "k3-serdes.h"
> +
> / {
> compatible = "ti,am642-sk", "ti,am642";
> model = "Texas Instruments AM642 SK";
> diff --git a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
> index d5889ba3fa46..21ad49cfa7ee 100644
> --- a/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
> @@ -11,7 +11,8 @@
> #include <dt-bindings/net/ti-dp83867.h>
> #include <dt-bindings/phy/phy-cadence.h>
> #include <dt-bindings/phy/phy.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> +
> +#include "k3-serdes.h"
>
> / {
> compatible = "ti,am68-sk", "ti,j721s2";
> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
> index 3cf288128c3f..92a541491172 100644
> --- a/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
> @@ -8,9 +8,10 @@
> #include "k3-j7200-som-p0.dtsi"
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/net/ti-dp83867.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> #include <dt-bindings/phy/phy.h>
>
> +#include "k3-serdes.h"
> +
> / {
> compatible = "ti,j7200-evm", "ti,j7200";
> model = "Texas Instruments J7200 EVM";
> diff --git a/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso b/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso
> index 34a0747cbe69..32d905235ed7 100644
> --- a/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso
> +++ b/arch/arm64/boot/dts/ti/k3-j7200-evm-quad-port-eth-exp.dtso
> @@ -10,9 +10,9 @@
> /plugin/;
>
> #include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/mux/ti-serdes.h>
>
> #include "k3-pinctrl.h"
> +#include "k3-serdes.h"
>
> &{/} {
> aliases {
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso b/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso
> index 6f0adf591b98..d4c51ffc3d6b 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-evm-quad-port-eth-exp.dtso
> @@ -10,11 +10,11 @@
> /plugin/;
>
> #include <dt-bindings/gpio/gpio.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> #include <dt-bindings/phy/phy.h>
> #include <dt-bindings/phy/phy-cadence.h>
>
> #include "k3-pinctrl.h"
> +#include "k3-serdes.h"
>
> &{/} {
> aliases {
> diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> index 6c9fe28b6de7..3acd55ffd4ff 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
> @@ -7,7 +7,8 @@
> #include <dt-bindings/phy/phy.h>
> #include <dt-bindings/phy/phy-ti.h>
> #include <dt-bindings/mux/mux.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> +
> +#include "k3-serdes.h"
>
> / {
> cmn_refclk: clock-cmnrefclk {
> diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
> index 092ab1e14ba5..02b7a559bdf2 100644
> --- a/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j721s2-common-proc-board.dts
> @@ -11,7 +11,8 @@
> #include <dt-bindings/net/ti-dp83867.h>
> #include <dt-bindings/phy/phy-cadence.h>
> #include <dt-bindings/phy/phy.h>
> -#include <dt-bindings/mux/ti-serdes.h>
> +
> +#include "k3-serdes.h"
>
> / {
> compatible = "ti,j721s2-evm", "ti,j721s2";
> diff --git a/arch/arm64/boot/dts/ti/k3-serdes.h b/arch/arm64/boot/dts/ti/k3-serdes.h
> new file mode 100644
> index 000000000000..29167f85c1f6
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-serdes.h
> @@ -0,0 +1,204 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * This header provides constants for SERDES MUX for TI SoCs
> + *
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + */
> +
> +#ifndef DTS_ARM64_TI_K3_SERDES_H
> +#define DTS_ARM64_TI_K3_SERDES_H
> +
> +/* J721E */
> +
> +#define J721E_SERDES0_LANE0_QSGMII_LANE1 0x0
> +#define J721E_SERDES0_LANE0_PCIE0_LANE0 0x1
> +#define J721E_SERDES0_LANE0_USB3_0_SWAP 0x2
> +#define J721E_SERDES0_LANE0_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES0_LANE1_QSGMII_LANE2 0x0
> +#define J721E_SERDES0_LANE1_PCIE0_LANE1 0x1
> +#define J721E_SERDES0_LANE1_USB3_0 0x2
> +#define J721E_SERDES0_LANE1_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES1_LANE0_QSGMII_LANE3 0x0
> +#define J721E_SERDES1_LANE0_PCIE1_LANE0 0x1
> +#define J721E_SERDES1_LANE0_USB3_1_SWAP 0x2
> +#define J721E_SERDES1_LANE0_SGMII_LANE0 0x3
> +
> +#define J721E_SERDES1_LANE1_QSGMII_LANE4 0x0
> +#define J721E_SERDES1_LANE1_PCIE1_LANE1 0x1
> +#define J721E_SERDES1_LANE1_USB3_1 0x2
> +#define J721E_SERDES1_LANE1_SGMII_LANE1 0x3
> +
> +#define J721E_SERDES2_LANE0_IP1_UNUSED 0x0
> +#define J721E_SERDES2_LANE0_PCIE2_LANE0 0x1
> +#define J721E_SERDES2_LANE0_USB3_1_SWAP 0x2
> +#define J721E_SERDES2_LANE0_SGMII_LANE0 0x3
> +
> +#define J721E_SERDES2_LANE1_IP1_UNUSED 0x0
> +#define J721E_SERDES2_LANE1_PCIE2_LANE1 0x1
> +#define J721E_SERDES2_LANE1_USB3_1 0x2
> +#define J721E_SERDES2_LANE1_SGMII_LANE1 0x3
> +
> +#define J721E_SERDES3_LANE0_IP1_UNUSED 0x0
> +#define J721E_SERDES3_LANE0_PCIE3_LANE0 0x1
> +#define J721E_SERDES3_LANE0_USB3_0_SWAP 0x2
> +#define J721E_SERDES3_LANE0_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES3_LANE1_IP1_UNUSED 0x0
> +#define J721E_SERDES3_LANE1_PCIE3_LANE1 0x1
> +#define J721E_SERDES3_LANE1_USB3_0 0x2
> +#define J721E_SERDES3_LANE1_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES4_LANE0_EDP_LANE0 0x0
> +#define J721E_SERDES4_LANE0_IP2_UNUSED 0x1
> +#define J721E_SERDES4_LANE0_QSGMII_LANE5 0x2
> +#define J721E_SERDES4_LANE0_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES4_LANE1_EDP_LANE1 0x0
> +#define J721E_SERDES4_LANE1_IP2_UNUSED 0x1
> +#define J721E_SERDES4_LANE1_QSGMII_LANE6 0x2
> +#define J721E_SERDES4_LANE1_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES4_LANE2_EDP_LANE2 0x0
> +#define J721E_SERDES4_LANE2_IP2_UNUSED 0x1
> +#define J721E_SERDES4_LANE2_QSGMII_LANE7 0x2
> +#define J721E_SERDES4_LANE2_IP4_UNUSED 0x3
> +
> +#define J721E_SERDES4_LANE3_EDP_LANE3 0x0
> +#define J721E_SERDES4_LANE3_IP2_UNUSED 0x1
> +#define J721E_SERDES4_LANE3_QSGMII_LANE8 0x2
> +#define J721E_SERDES4_LANE3_IP4_UNUSED 0x3
> +
> +/* J7200 */
> +
> +#define J7200_SERDES0_LANE0_QSGMII_LANE3 0x0
> +#define J7200_SERDES0_LANE0_PCIE1_LANE0 0x1
> +#define J7200_SERDES0_LANE0_IP3_UNUSED 0x2
> +#define J7200_SERDES0_LANE0_IP4_UNUSED 0x3
> +
> +#define J7200_SERDES0_LANE1_QSGMII_LANE4 0x0
> +#define J7200_SERDES0_LANE1_PCIE1_LANE1 0x1
> +#define J7200_SERDES0_LANE1_IP3_UNUSED 0x2
> +#define J7200_SERDES0_LANE1_IP4_UNUSED 0x3
> +
> +#define J7200_SERDES0_LANE2_QSGMII_LANE1 0x0
> +#define J7200_SERDES0_LANE2_PCIE1_LANE2 0x1
> +#define J7200_SERDES0_LANE2_IP3_UNUSED 0x2
> +#define J7200_SERDES0_LANE2_IP4_UNUSED 0x3
> +
> +#define J7200_SERDES0_LANE3_QSGMII_LANE2 0x0
> +#define J7200_SERDES0_LANE3_PCIE1_LANE3 0x1
> +#define J7200_SERDES0_LANE3_USB 0x2
> +#define J7200_SERDES0_LANE3_IP4_UNUSED 0x3
> +
> +/* AM64 */
> +
> +#define AM64_SERDES0_LANE0_PCIE0 0x0
> +#define AM64_SERDES0_LANE0_USB 0x1
> +
> +/* J721S2 */
> +
> +#define J721S2_SERDES0_LANE0_EDP_LANE0 0x0
> +#define J721S2_SERDES0_LANE0_PCIE1_LANE0 0x1
> +#define J721S2_SERDES0_LANE0_IP3_UNUSED 0x2
> +#define J721S2_SERDES0_LANE0_IP4_UNUSED 0x3
> +
> +#define J721S2_SERDES0_LANE1_EDP_LANE1 0x0
> +#define J721S2_SERDES0_LANE1_PCIE1_LANE1 0x1
> +#define J721S2_SERDES0_LANE1_USB 0x2
> +#define J721S2_SERDES0_LANE1_IP4_UNUSED 0x3
> +
> +#define J721S2_SERDES0_LANE2_EDP_LANE2 0x0
> +#define J721S2_SERDES0_LANE2_PCIE1_LANE2 0x1
> +#define J721S2_SERDES0_LANE2_IP3_UNUSED 0x2
> +#define J721S2_SERDES0_LANE2_IP4_UNUSED 0x3
> +
> +#define J721S2_SERDES0_LANE3_EDP_LANE3 0x0
> +#define J721S2_SERDES0_LANE3_PCIE1_LANE3 0x1
> +#define J721S2_SERDES0_LANE3_USB 0x2
> +#define J721S2_SERDES0_LANE3_IP4_UNUSED 0x3
> +
> +/* J784S4 */
> +
> +#define J784S4_SERDES0_LANE0_IP1_UNUSED 0x0
> +#define J784S4_SERDES0_LANE0_PCIE1_LANE0 0x1
> +#define J784S4_SERDES0_LANE0_IP3_UNUSED 0x2
> +#define J784S4_SERDES0_LANE0_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES0_LANE1_IP1_UNUSED 0x0
> +#define J784S4_SERDES0_LANE1_PCIE1_LANE1 0x1
> +#define J784S4_SERDES0_LANE1_IP3_UNUSED 0x2
> +#define J784S4_SERDES0_LANE1_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES0_LANE2_PCIE3_LANE0 0x0
> +#define J784S4_SERDES0_LANE2_PCIE1_LANE2 0x1
> +#define J784S4_SERDES0_LANE2_IP3_UNUSED 0x2
> +#define J784S4_SERDES0_LANE2_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES0_LANE3_PCIE3_LANE1 0x0
> +#define J784S4_SERDES0_LANE3_PCIE1_LANE3 0x1
> +#define J784S4_SERDES0_LANE3_USB 0x2
> +#define J784S4_SERDES0_LANE3_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES1_LANE0_QSGMII_LANE3 0x0
> +#define J784S4_SERDES1_LANE0_PCIE0_LANE0 0x1
> +#define J784S4_SERDES1_LANE0_IP3_UNUSED 0x2
> +#define J784S4_SERDES1_LANE0_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES1_LANE1_QSGMII_LANE4 0x0
> +#define J784S4_SERDES1_LANE1_PCIE0_LANE1 0x1
> +#define J784S4_SERDES1_LANE1_IP3_UNUSED 0x2
> +#define J784S4_SERDES1_LANE1_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES1_LANE2_QSGMII_LANE1 0x0
> +#define J784S4_SERDES1_LANE2_PCIE0_LANE2 0x1
> +#define J784S4_SERDES1_LANE2_PCIE2_LANE0 0x2
> +#define J784S4_SERDES1_LANE2_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES1_LANE3_QSGMII_LANE2 0x0
> +#define J784S4_SERDES1_LANE3_PCIE0_LANE3 0x1
> +#define J784S4_SERDES1_LANE3_PCIE2_LANE1 0x2
> +#define J784S4_SERDES1_LANE3_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES2_LANE0_QSGMII_LANE5 0x0
> +#define J784S4_SERDES2_LANE0_IP2_UNUSED 0x1
> +#define J784S4_SERDES2_LANE0_IP3_UNUSED 0x2
> +#define J784S4_SERDES2_LANE0_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES2_LANE1_QSGMII_LANE6 0x0
> +#define J784S4_SERDES2_LANE1_IP2_UNUSED 0x1
> +#define J784S4_SERDES2_LANE1_IP3_UNUSED 0x2
> +#define J784S4_SERDES2_LANE1_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES2_LANE2_QSGMII_LANE7 0x0
> +#define J784S4_SERDES2_LANE2_QSGMII_LANE1 0x1
> +#define J784S4_SERDES2_LANE2_IP3_UNUSED 0x2
> +#define J784S4_SERDES2_LANE2_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES2_LANE3_QSGMII_LANE8 0x0
> +#define J784S4_SERDES2_LANE3_QSGMII_LANE2 0x1
> +#define J784S4_SERDES2_LANE3_IP3_UNUSED 0x2
> +#define J784S4_SERDES2_LANE3_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES4_LANE0_EDP_LANE0 0x0
> +#define J784S4_SERDES4_LANE0_QSGMII_LANE5 0x1
> +#define J784S4_SERDES4_LANE0_IP3_UNUSED 0x2
> +#define J784S4_SERDES4_LANE0_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES4_LANE1_EDP_LANE1 0x0
> +#define J784S4_SERDES4_LANE1_QSGMII_LANE6 0x1
> +#define J784S4_SERDES4_LANE1_IP3_UNUSED 0x2
> +#define J784S4_SERDES4_LANE1_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES4_LANE2_EDP_LANE2 0x0
> +#define J784S4_SERDES4_LANE2_QSGMII_LANE7 0x1
> +#define J784S4_SERDES4_LANE2_IP3_UNUSED 0x2
> +#define J784S4_SERDES4_LANE2_IP4_UNUSED 0x3
> +
> +#define J784S4_SERDES4_LANE3_EDP_LANE3 0x0
> +#define J784S4_SERDES4_LANE3_QSGMII_LANE8 0x1
> +#define J784S4_SERDES4_LANE3_USB 0x2
> +#define J784S4_SERDES4_LANE3_IP4_UNUSED 0x3
> +
> +#endif /* DTS_ARM64_TI_K3_SERDES_H */

2023-07-22 11:22:17

by Peter Rosin

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: ti-serdes-mux: Deprecate header with constants

Hi!

2023-07-21 at 14:57, Jayesh Choudhary wrote:
> The constants to define the idle state of SERDES MUX were defined in
> bindings header. They are used only in DTS and driver uses the dt property
> to set the idle state making it unsuitable for bindings.
> The constants are moved to header next to DTS ("arch/arm64/boot/dts/ti/")
> and all the references to bindings header are removed.
> So add a warning to mark this bindings header as deprecated.
>
> Signed-off-by: Jayesh Choudhary <[email protected]>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
> Acked-by: Roger Quadros <[email protected]>

Best to keep this patch together with 1/2, so I'm assuming they will
take the same path to Linus, and that an ack from me will suffice.
Thanks again!

Acked-by: Peter Rosin <[email protected]>

Cheers,
Peter

> ---
> include/dt-bindings/mux/ti-serdes.h | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/include/dt-bindings/mux/ti-serdes.h b/include/dt-bindings/mux/ti-serdes.h
> index 669ca2d6abce..b0b1091aad6d 100644
> --- a/include/dt-bindings/mux/ti-serdes.h
> +++ b/include/dt-bindings/mux/ti-serdes.h
> @@ -6,6 +6,14 @@
> #ifndef _DT_BINDINGS_MUX_TI_SERDES
> #define _DT_BINDINGS_MUX_TI_SERDES
>
> +/*
> + * These bindings are deprecated, because they do not match the actual
> + * concept of bindings but rather contain pure constants values used only
> + * in DTS board files.
> + * Instead include the header in the DTS source directory.
> + */
> +#warning "These bindings are deprecated. Instead, use the header in the DTS source directory."
> +
> /* J721E */
>
> #define J721E_SERDES0_LANE0_QSGMII_LANE1 0x0

2023-07-24 17:23:05

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: ti-serdes-mux: Deprecate header with constants

On 12:18-20230722, Peter Rosin wrote:
> Hi!
>
> 2023-07-21 at 14:57, Jayesh Choudhary wrote:
> > The constants to define the idle state of SERDES MUX were defined in
> > bindings header. They are used only in DTS and driver uses the dt property
> > to set the idle state making it unsuitable for bindings.
> > The constants are moved to header next to DTS ("arch/arm64/boot/dts/ti/")
> > and all the references to bindings header are removed.
> > So add a warning to mark this bindings header as deprecated.
> >
> > Signed-off-by: Jayesh Choudhary <[email protected]>
> > Reviewed-by: Krzysztof Kozlowski <[email protected]>
> > Acked-by: Roger Quadros <[email protected]>
>
> Best to keep this patch together with 1/2, so I'm assuming they will
> take the same path to Linus, and that an ack from me will suffice.
> Thanks again!
>
> Acked-by: Peter Rosin <[email protected]>

Thank you. I can take it via TI SoC dts tree unless there is any objection.

--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-07-25 11:53:25

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] Deprecate ti-serdes header file

Hi Jayesh Choudhary,

On Fri, 21 Jul 2023 18:27:30 +0530, Jayesh Choudhary wrote:
> This series moves the ti-serdes.h header to arch/arm64/boot/dts/ti/
> as these constants do not have driver usage and are not suitable for
> bindings as discussed in [1].
>
> Deprecating the bindings header for now instead of dropping them based
> on the discussion in [2].
> We expect to remove this bindings header in the next cycle.
>
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/2] arm64: dts: ti: Use local header for SERDES MUX idle-state values
commit: 8d08d7aac7f620b5d298fad0ba0e6e431ea132a9
[2/2] dt-bindings: ti-serdes-mux: Deprecate header with constants
commit: 5438d75fb9d7bb863ddc5ef28b242ca50c9879ff

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D