Qualcomm IPQ40xx SoC-s have a variant of QCA8337N switch built-in. It shares most of the stuff with its external counterpart, however it is modified for the SoC. Namely, it doesn't have second CPU port (Port 6), so it has 6 ports instead of 7. It also has no built-in PHY-s but rather requires external PSGMII based companion PHY-s (QCA8072 and QCA8075) for which it first needs to carry out calibration before using them. PSGMII has a SoC built-in PHY that is used to connect to the PHY-s which unfortunately requires some magic values as the datasheet doesnt document the bits that are being set or the register at all. Since its built-in it is MMIO like other peripherals and doesn't have its own MDIO bus but depends on the SoC provided one. CPU connection is at Port 0 and it uses some kind of a internal connection and no traditional RGMII/SGMII. It also doesn't use in-band tagging like other qca8k switches so a shinfo based tagger is used. This is based on the current OpenWrt qca8k version that has been imported from generic target. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From c66863c1ba8995b61e6d727d78a241c734f5bb57 Mon Sep 17 00:00:00 2001
 | 
						|
From: Robert Marko <robert.marko@sartura.hr>
 | 
						|
Date: Thu, 1 Oct 2020 15:05:35 +0200
 | 
						|
Subject: [PATCH] dt-bindings: net: add QCA807x PHY
 | 
						|
 | 
						|
Add DT bindings for Qualcomm QCA807x PHY series.
 | 
						|
 | 
						|
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
 | 
						|
---
 | 
						|
 include/dt-bindings/net/qcom-qca807x.h | 45 ++++++++++++++++++++++++++
 | 
						|
 1 file changed, 45 insertions(+)
 | 
						|
 create mode 100644 include/dt-bindings/net/qcom-qca807x.h
 | 
						|
 | 
						|
--- /dev/null
 | 
						|
+++ b/include/dt-bindings/net/qcom-qca807x.h
 | 
						|
@@ -0,0 +1,45 @@
 | 
						|
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 | 
						|
+/*
 | 
						|
+ * Device Tree constants for the Qualcomm QCA807X PHYs
 | 
						|
+ */
 | 
						|
+
 | 
						|
+#ifndef _DT_BINDINGS_QCOM_QCA807X_H
 | 
						|
+#define _DT_BINDINGS_QCOM_QCA807X_H
 | 
						|
+
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_140MV	0
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_160MV	1
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_180MV	2
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_200MV	3
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_220MV	4
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_240MV	5
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_260MV	6
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_280MV	7
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_300MV	8
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_320MV	9
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_400MV	10
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_500MV	11
 | 
						|
+/* Default value */
 | 
						|
+#define PSGMII_QSGMII_TX_DRIVER_600MV	12
 | 
						|
+
 | 
						|
+/* Full amplitude, full bias current */
 | 
						|
+#define QCA807X_CONTROL_DAC_FULL_VOLT_BIAS		0
 | 
						|
+/* Amplitude follow DSP (amplitude is adjusted based on cable length), half bias current */
 | 
						|
+#define QCA807X_CONTROL_DAC_DSP_VOLT_HALF_BIAS		1
 | 
						|
+/* Full amplitude, bias current follow DSP (bias current is adjusted based on cable length) */
 | 
						|
+#define QCA807X_CONTROL_DAC_FULL_VOLT_DSP_BIAS		2
 | 
						|
+/* Both amplitude and bias current follow DSP */
 | 
						|
+#define QCA807X_CONTROL_DAC_DSP_VOLT_BIAS		3
 | 
						|
+/* Full amplitude, half bias current */
 | 
						|
+#define QCA807X_CONTROL_DAC_FULL_VOLT_HALF_BIAS		4
 | 
						|
+/* Amplitude follow DSP setting; 1/4 bias current when cable<10m,
 | 
						|
+ * otherwise half bias current
 | 
						|
+ */
 | 
						|
+#define QCA807X_CONTROL_DAC_DSP_VOLT_QUARTER_BIAS	5
 | 
						|
+/* Full amplitude; same bias current setting with “010” and “011”,
 | 
						|
+ * but half more bias is reduced when cable <10m
 | 
						|
+ */
 | 
						|
+#define QCA807X_CONTROL_DAC_FULL_VOLT_HALF_BIAS_SHORT	6
 | 
						|
+/* Amplitude follow DSP; same bias current setting with “110”, default value */
 | 
						|
+#define QCA807X_CONTROL_DAC_DSP_VOLT_HALF_BIAS_SHORT	7
 | 
						|
+
 | 
						|
+#endif
 |