All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
	Johan Hovold <johan+linaro@kernel.org>
Subject: [PATCH 19/41] arm64: dts: qcom: sc7280: switch USB+DP QMP PHY to new style of bindings
Date: Fri, 24 Mar 2023 05:24:52 +0300	[thread overview]
Message-ID: <20230324022514.1800382-20-dmitry.baryshkov@linaro.org> (raw)
In-Reply-To: <20230324022514.1800382-1-dmitry.baryshkov@linaro.org>

Change the USB QMP PHY to use newer style of QMP PHY bindings (single
resource region, no per-PHY subnodes).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sc7280.dtsi | 54 +++++++++-------------------
 1 file changed, 17 insertions(+), 37 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 5e6f9f441f1a..62885ac3f11e 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -18,6 +18,7 @@
 #include <dt-bindings/interconnect/qcom,sc7280.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/mailbox/qcom-ipcc.h>
+#include <dt-bindings/phy/phy-qcom-qmp.h>
 #include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/reset/qcom,sdm845-aoss.h>
 #include <dt-bindings/reset/qcom,sdm845-pdc.h>
@@ -3327,49 +3328,27 @@ usb_2_hsphy: phy@88e4000 {
 			resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
 		};
 
-		usb_1_qmpphy: phy-wrapper@88e9000 {
+		usb_1_qmpphy: phy@88e8000 {
 			compatible = "qcom,sc7280-qmp-usb3-dp-phy",
 				     "qcom,sm8250-qmp-usb3-dp-phy";
-			reg = <0 0x088e9000 0 0x200>,
-			      <0 0x088e8000 0 0x40>,
-			      <0 0x088ea000 0 0x200>;
+			reg = <0 0x088e8000 0 0x3000>;
 			status = "disabled";
-			#address-cells = <2>;
-			#size-cells = <2>;
-			ranges;
 
 			clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
 				 <&rpmhcc RPMH_CXO_CLK>,
-				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
-			clock-names = "aux", "ref_clk_src", "com_aux";
+				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
+				 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
+			clock-names = "aux",
+				      "ref_clk_src",
+				      "com_aux",
+				      "usb3_pipe";
 
 			resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
 				 <&gcc GCC_USB3_PHY_PRIM_BCR>;
 			reset-names = "phy", "common";
 
-			usb_1_ssphy: usb3-phy@88e9200 {
-				reg = <0 0x088e9200 0 0x200>,
-				      <0 0x088e9400 0 0x200>,
-				      <0 0x088e9c00 0 0x400>,
-				      <0 0x088e9600 0 0x200>,
-				      <0 0x088e9800 0 0x200>,
-				      <0 0x088e9a00 0 0x100>;
-				#clock-cells = <0>;
-				#phy-cells = <0>;
-				clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
-				clock-names = "pipe0";
-				clock-output-names = "usb3_phy_pipe_clk_src";
-			};
-
-			dp_phy: dp-phy@88ea200 {
-				reg = <0 0x088ea200 0 0x200>,
-				      <0 0x088ea400 0 0x200>,
-				      <0 0x088eaa00 0 0x200>,
-				      <0 0x088ea600 0 0x200>,
-				      <0 0x088ea800 0 0x200>;
-				#phy-cells = <0>;
-				#clock-cells = <1>;
-			};
+			#clock-cells = <1>;
+			#phy-cells = <1>;
 		};
 
 		usb_2: usb@8cf8800 {
@@ -3694,7 +3673,7 @@ usb_1_dwc3: usb@a600000 {
 				iommus = <&apps_smmu 0xe0 0x0>;
 				snps,dis_u2_susphy_quirk;
 				snps,dis_enblslpm_quirk;
-				phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
+				phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
 				phy-names = "usb2-phy", "usb3-phy";
 				maximum-speed = "super-speed";
 			};
@@ -3799,8 +3778,8 @@ dispcc: clock-controller@af00000 {
 				 <&gcc GCC_DISP_GPLL0_CLK_SRC>,
 				 <&mdss_dsi_phy 0>,
 				 <&mdss_dsi_phy 1>,
-				 <&dp_phy 0>,
-				 <&dp_phy 1>,
+				 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+				 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
 				 <&mdss_edp_phy 0>,
 				 <&mdss_edp_phy 1>;
 			clock-names = "bi_tcxo",
@@ -4138,8 +4117,9 @@ mdss_dp: displayport-controller@ae90000 {
 						"stream_pixel";
 				assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
 						  <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
-				assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>;
-				phys = <&dp_phy>;
+				assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+							 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
+				phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
 				phy-names = "dp";
 
 				operating-points-v2 = <&dp_opp_table>;
-- 
2.30.2


WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Vinod Koul <vkoul@kernel.org>,
	Kishon Vijay Abraham I <kishon@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
	Johan Hovold <johan+linaro@kernel.org>
Subject: [PATCH 19/41] arm64: dts: qcom: sc7280: switch USB+DP QMP PHY to new style of bindings
Date: Fri, 24 Mar 2023 05:24:52 +0300	[thread overview]
Message-ID: <20230324022514.1800382-20-dmitry.baryshkov@linaro.org> (raw)
In-Reply-To: <20230324022514.1800382-1-dmitry.baryshkov@linaro.org>

Change the USB QMP PHY to use newer style of QMP PHY bindings (single
resource region, no per-PHY subnodes).

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 arch/arm64/boot/dts/qcom/sc7280.dtsi | 54 +++++++++-------------------
 1 file changed, 17 insertions(+), 37 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 5e6f9f441f1a..62885ac3f11e 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -18,6 +18,7 @@
 #include <dt-bindings/interconnect/qcom,sc7280.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/mailbox/qcom-ipcc.h>
+#include <dt-bindings/phy/phy-qcom-qmp.h>
 #include <dt-bindings/power/qcom-rpmpd.h>
 #include <dt-bindings/reset/qcom,sdm845-aoss.h>
 #include <dt-bindings/reset/qcom,sdm845-pdc.h>
@@ -3327,49 +3328,27 @@ usb_2_hsphy: phy@88e4000 {
 			resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
 		};
 
-		usb_1_qmpphy: phy-wrapper@88e9000 {
+		usb_1_qmpphy: phy@88e8000 {
 			compatible = "qcom,sc7280-qmp-usb3-dp-phy",
 				     "qcom,sm8250-qmp-usb3-dp-phy";
-			reg = <0 0x088e9000 0 0x200>,
-			      <0 0x088e8000 0 0x40>,
-			      <0 0x088ea000 0 0x200>;
+			reg = <0 0x088e8000 0 0x3000>;
 			status = "disabled";
-			#address-cells = <2>;
-			#size-cells = <2>;
-			ranges;
 
 			clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
 				 <&rpmhcc RPMH_CXO_CLK>,
-				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
-			clock-names = "aux", "ref_clk_src", "com_aux";
+				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
+				 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
+			clock-names = "aux",
+				      "ref_clk_src",
+				      "com_aux",
+				      "usb3_pipe";
 
 			resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
 				 <&gcc GCC_USB3_PHY_PRIM_BCR>;
 			reset-names = "phy", "common";
 
-			usb_1_ssphy: usb3-phy@88e9200 {
-				reg = <0 0x088e9200 0 0x200>,
-				      <0 0x088e9400 0 0x200>,
-				      <0 0x088e9c00 0 0x400>,
-				      <0 0x088e9600 0 0x200>,
-				      <0 0x088e9800 0 0x200>,
-				      <0 0x088e9a00 0 0x100>;
-				#clock-cells = <0>;
-				#phy-cells = <0>;
-				clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
-				clock-names = "pipe0";
-				clock-output-names = "usb3_phy_pipe_clk_src";
-			};
-
-			dp_phy: dp-phy@88ea200 {
-				reg = <0 0x088ea200 0 0x200>,
-				      <0 0x088ea400 0 0x200>,
-				      <0 0x088eaa00 0 0x200>,
-				      <0 0x088ea600 0 0x200>,
-				      <0 0x088ea800 0 0x200>;
-				#phy-cells = <0>;
-				#clock-cells = <1>;
-			};
+			#clock-cells = <1>;
+			#phy-cells = <1>;
 		};
 
 		usb_2: usb@8cf8800 {
@@ -3694,7 +3673,7 @@ usb_1_dwc3: usb@a600000 {
 				iommus = <&apps_smmu 0xe0 0x0>;
 				snps,dis_u2_susphy_quirk;
 				snps,dis_enblslpm_quirk;
-				phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
+				phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
 				phy-names = "usb2-phy", "usb3-phy";
 				maximum-speed = "super-speed";
 			};
@@ -3799,8 +3778,8 @@ dispcc: clock-controller@af00000 {
 				 <&gcc GCC_DISP_GPLL0_CLK_SRC>,
 				 <&mdss_dsi_phy 0>,
 				 <&mdss_dsi_phy 1>,
-				 <&dp_phy 0>,
-				 <&dp_phy 1>,
+				 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+				 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
 				 <&mdss_edp_phy 0>,
 				 <&mdss_edp_phy 1>;
 			clock-names = "bi_tcxo",
@@ -4138,8 +4117,9 @@ mdss_dp: displayport-controller@ae90000 {
 						"stream_pixel";
 				assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
 						  <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
-				assigned-clock-parents = <&dp_phy 0>, <&dp_phy 1>;
-				phys = <&dp_phy>;
+				assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+							 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
+				phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
 				phy-names = "dp";
 
 				operating-points-v2 = <&dp_opp_table>;
-- 
2.30.2


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  parent reply	other threads:[~2023-03-24  2:25 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-24  2:24 [PATCH 00/41] phy: qcom-qmp: convert to newer style of bindings Dmitry Baryshkov
2023-03-24  2:24 ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 01/41] dt-bindings: phy: migrate QMP USB PHY bindings to qcom,sc8280xp-qmp-usb3-uni-phy.yaml Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  7:48   ` Johan Hovold
2023-03-24  7:48     ` Johan Hovold
2023-03-24 12:12     ` Dmitry Baryshkov
2023-03-24 12:12       ` Dmitry Baryshkov
2023-03-24  9:43   ` Krzysztof Kozlowski
2023-03-24  9:43     ` Krzysztof Kozlowski
2023-03-24 11:45     ` Dmitry Baryshkov
2023-03-24 11:45       ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 02/41] dt-bindings: phy: migrate combo QMP PHY bindings to qcom,sc8280xp-qmp-usb43dp-phy.yaml Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  7:54   ` Johan Hovold
2023-03-24  7:54     ` Johan Hovold
2023-03-24  2:24 ` [PATCH 03/41] dt-bindings: phy: migrate QMP UFS PHY bindings to qcom,sc8280xp-qmp-ufs-phy.yaml Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  7:56   ` Johan Hovold
2023-03-24  7:56     ` Johan Hovold
2023-03-24  2:24 ` [PATCH 04/41] dt-bindings: phy: migrate QMP PCIe PHY bindings to qcom,sc8280xp-qmp-pcie-phy.yaml Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  8:04   ` Johan Hovold
2023-03-24  8:04     ` Johan Hovold
2023-03-24 12:16     ` Dmitry Baryshkov
2023-03-24 12:16       ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 05/41] phy: qcom-qmp-usb: make QPHY_PCS_MISC_CLAMP_ENABLE access conditional Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 06/41] phy: qcom-qmp: move PCS MISC V4 registers to separate header Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 07/41] phy: qcom-qmp-usb: populate offsets configuration Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 08/41] phy: qcom-qmp-ufs: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 09/41] phy: qcom-qmp-pcie: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 10/41] arm64: dts: qcom: ipq6018: switch USB QMP PHY to new style of bindings Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 11/41] arm64: dts: qcom: ipq8074: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 12/41] arm64: dts: qcom: msm8996: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 13/41] arm64: dts: qcom: msm8998: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 14/41] arm64: dts: qcom: sdm845: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 15/41] arm64: dts: qcom: sm8150: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 16/41] arm64: dts: qcom: sm8250: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 17/41] arm64: dts: qcom: sm8350: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 18/41] arm64: dts: qcom: sc7180: switch USB+DP " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` Dmitry Baryshkov [this message]
2023-03-24  2:24   ` [PATCH 19/41] arm64: dts: qcom: sc7280: " Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 20/41] arm64: dts: qcom: sdm845: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 21/41] arm64: dts: qcom: sm8250: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 22/41] arm64: dts: qcom: msm8996: switch UFS " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 23/41] arm64: dts: qcom: msm8998: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 24/41] arm64: dts: qcom: sdm845: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 25/41] arm64: dts: qcom: sm6115: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:24 ` [PATCH 26/41] arm64: dts: qcom: sm6350: " Dmitry Baryshkov
2023-03-24  2:24   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 27/41] arm64: dts: qcom: sm8150: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 28/41] arm64: dts: qcom: sm8250: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 29/41] arm64: dts: qcom: sm8350: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 30/41] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 31/41] arm64: dts: qcom: ipq6018: switch PCIe " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 32/41] arm64: dts: qcom: ipq8074: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 33/41] arm64: dts: qcom: msm8998: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 34/41] arm64: dts: qcom: sc7280: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 35/41] arm64: dts: qcom: sdm845: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 36/41] arm64: dts: qcom: sm8150: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 37/41] arm64: dts: qcom: sm8250: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 38/41] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 39/41] ARM: dts: qcom-sdx55: switch USB " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 40/41] ARM: dts: qcom-sdx65: " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov
2023-03-24  2:25 ` [PATCH 41/41] ARM: dts: qcom-sdx55: switch PCIe " Dmitry Baryshkov
2023-03-24  2:25   ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230324022514.1800382-20-dmitry.baryshkov@linaro.org \
    --to=dmitry.baryshkov@linaro.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=johan+linaro@kernel.org \
    --cc=kishon@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.