* [PATCH v2 0/8] Add sc7180 camss subsys support
@ 2024-06-23 23:22 George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 1/8] Add qcom,sc7180-camss George Chan via B4 Relay
` (9 more replies)
0 siblings, 10 replies; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
SM7125 is the SoC found in the Xiaomi Redmi Note 9 Pro(joyeuse) cellphone.
This series adds support to bring up the CSIPHY, CSID, VFE/RDI interfaces.
Since SM7125 is a low-speed variant of SC7180, SC7180 testers please
take a look and have a test as well.
sc7180 provides
- 2 x VFE
- 1 x VFE Lite
- 2 x CSID
- 1 x CSID Lite
- 4 x CSI PHY
The sc7180-camss binding should be comaptible with sdm845 yaml.
I've copied a new yaml from sdm845-camss.yaml, strip all _src clk and
put new maintainer information. If this is not desirable then i can add binding to
existing sdm845 yaml instead.
In addition, a bootable tree of sm7125/joyeuse is availble at:
https://github.com/99degree/linux/tree/camss
Signed-off-by: George Chan <gchan9527@gmail.com>
---
Changes in v2:
- Revised dt-binding as stated by krzk
- Added dt-binding item power-domain-name as stated by Bryan
- Combine patch #2 and #3 as stated by krzk and Bryan
- Split eror-print log for clk name from patch #5 as suggested by Konrad
- Reformat dt-node of camss as stated by krzk
- Corrected phy init sequence for v1.2.2 as spot by Bryan
- Added 3 more debug info for missing clk and low clk-rate issue.
- Adding port info to ports sub-node
- Adding required-opps node to dt
- Link to v1: https://lore.kernel.org/r/20240621-b4-sc7180-camss-v1-0-14937929f30e@gmail.com
---
George Chan (8):
Add qcom,sc7180-camss
Add Gen2 v1.2.2 two-phase MIPI CSI-2 DPHY init
Add sc7180 support
Add sc7180 resources
Add debug log info to camss_enable_clocks function
Add debug log info to msm_csid_subdev_init function
Add debug log info to vfe block init and set clock rate
[RFT]Add support for sc7180 camss subsys
.../bindings/media/qcom,sc7180-camss.yaml | 327 +++++++++++++++++++++
arch/arm64/boot/dts/qcom/sc7180.dtsi | 135 +++++++++
drivers/media/platform/qcom/camss/camss-csid.c | 4 +-
.../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 135 +++++++++
drivers/media/platform/qcom/camss/camss-csiphy.c | 1 +
drivers/media/platform/qcom/camss/camss-vfe.c | 10 +-
drivers/media/platform/qcom/camss/camss-video.c | 1 +
drivers/media/platform/qcom/camss/camss.c | 218 +++++++++++++-
drivers/media/platform/qcom/camss/camss.h | 1 +
9 files changed, 828 insertions(+), 4 deletions(-)
---
base-commit: 2102cb0d050d34d50b9642a3a50861787527e922
change-id: 20240621-b4-sc7180-camss-cddc6b60a9b4
Best regards,
--
George Chan <gchan9527@gmail.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 1/8] Add qcom,sc7180-camss
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-24 4:55 ` Krzysztof Kozlowski
2024-06-23 23:22 ` [PATCH v2 2/8] Add Gen2 v1.2.2 two-phase MIPI CSI-2 DPHY init George Chan via B4 Relay
` (8 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Add bindings for qcom,sc7180-camss in order to support the camera
subsystem for sm7125 as found in the Xiaomi Redmi 9 Pro cellphone.
Signed-off-by: George Chan <gchan9527@gmail.com>
---
.../bindings/media/qcom,sc7180-camss.yaml | 327 +++++++++++++++++++++
1 file changed, 327 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/qcom,sc7180-camss.yaml b/Documentation/devicetree/bindings/media/qcom,sc7180-camss.yaml
new file mode 100644
index 000000000000..baebe22fac0a
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/qcom,sc7180-camss.yaml
@@ -0,0 +1,327 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/qcom,sc7180-camss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Camera SubSystem
+
+maintainers:
+ - Bryan O'Donoghue <bryan.odonoghue@linaro.org>
+
+description:
+ The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms
+
+properties:
+ compatible:
+ const: qcom,sc7180-camss
+
+ clocks:
+ maxItems: 24
+
+ clock-names:
+ items:
+ - const: camnoc_axi
+ - const: cpas_ahb
+ - const: csi0
+ - const: csi1
+ - const: csi2
+ - const: csiphy0
+ - const: csiphy0_timer
+ - const: csiphy1
+ - const: csiphy1_timer
+ - const: csiphy2
+ - const: csiphy2_timer
+ - const: csiphy3
+ - const: csiphy3_timer
+ - const: gcc_camera_ahb
+ - const: gcc_camera_axi
+ - const: soc_ahb
+ - const: vfe0_axi
+ - const: vfe0
+ - const: vfe0_cphy_rx
+ - const: vfe1_axi
+ - const: vfe1
+ - const: vfe1_cphy_rx
+ - const: vfe_lite
+ - const: vfe_lite_cphy_rx
+
+ interrupts:
+ maxItems: 10
+
+ interrupt-names:
+ items:
+ - const: csid0
+ - const: csid1
+ - const: csid2
+ - const: csiphy0
+ - const: csiphy1
+ - const: csiphy2
+ - const: csiphy3
+ - const: vfe0
+ - const: vfe1
+ - const: vfe_lite
+
+ iommus:
+ maxItems: 3
+
+ power-domains:
+ items:
+ - description: IFE0 GDSC - Image Front End, Global Distributed Switch Controller.
+ - description: IFE1 GDSC - Image Front End, Global Distributed Switch Controller.
+ - description: Titan GDSC - Titan ISP Block, Global Distributed Switch Controller.
+
+ power-domain-names:
+ items:
+ - const: ife0
+ - const: ife1
+ - const: top
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ description:
+ CSI input ports.
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description:
+ Input port for receiving CSI data.
+
+ properties:
+ endpoint:
+ $ref: video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ data-lanes:
+ maxItems: 4
+
+ required:
+ - data-lanes
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description:
+ Input port for receiving CSI data.
+
+ properties:
+ endpoint:
+ $ref: video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ data-lanes:
+ maxItems: 4
+
+ required:
+ - data-lanes
+
+ port@2:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description:
+ Input port for receiving CSI data.
+
+ properties:
+ endpoint:
+ $ref: video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ data-lanes:
+ maxItems: 4
+
+ required:
+ - data-lanes
+
+ port@3:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description:
+ Input port for receiving CSI data.
+
+ properties:
+ endpoint:
+ $ref: video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ data-lanes:
+ maxItems: 4
+
+ required:
+ - data-lanes
+
+ reg:
+ maxItems: 10
+
+ reg-names:
+ items:
+ - const: csid0
+ - const: csid1
+ - const: csid2
+ - const: csiphy0
+ - const: csiphy1
+ - const: csiphy2
+ - const: csiphy3
+ - const: vfe0
+ - const: vfe1
+ - const: vfe_lite
+
+ vdda-phy-supply:
+ description:
+ Phandle to a regulator supply to PHY core block.
+
+ vdda-pll-supply:
+ description:
+ Phandle to 1.8V regulator supply to PHY refclk pll block.
+
+required:
+ - clock-names
+ - clocks
+ - compatible
+ - interrupt-names
+ - interrupts
+ - iommus
+ - power-domains
+ - power-domain-names
+ - reg
+ - reg-names
+ - vdda-phy-supply
+ - vdda-pll-supply
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/qcom,camcc-sc7180.h>
+ #include <dt-bindings/clock/qcom,gcc-sc7180.h>
+
+ soc {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ camss: camss@acb3000 {
+ compatible = "qcom,sc7180-camss";
+
+ reg = <0 0xacb3000 0 0x1000>,
+ <0 0xacba000 0 0x1000>,
+ <0 0xacc8000 0 0x1000>,
+ <0 0xac65000 0 0x1000>,
+ <0 0xac66000 0 0x1000>,
+ <0 0xac67000 0 0x1000>,
+ <0 0xac68000 0 0x1000>,
+ <0 0xacaf000 0 0x4000>,
+ <0 0xacb6000 0 0x4000>,
+ <0 0xacc4000 0 0x4000>;
+
+ reg-names = "csid0",
+ "csid1",
+ "csid2",
+ "csiphy0",
+ "csiphy1",
+ "csiphy2",
+ "csiphy3",
+ "vfe0",
+ "vfe1",
+ "vfe_lite";
+
+ clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+ <&camcc CAM_CC_CPAS_AHB_CLK>,
+ <&camcc CAM_CC_IFE_0_CSID_CLK>,
+ <&camcc CAM_CC_IFE_1_CSID_CLK>,
+ <&camcc CAM_CC_IFE_LITE_CSID_CLK>,
+ <&camcc CAM_CC_CSIPHY0_CLK>,
+ <&camcc CAM_CC_CSI0PHYTIMER_CLK>,
+ <&camcc CAM_CC_CSIPHY1_CLK>,
+ <&camcc CAM_CC_CSI1PHYTIMER_CLK>,
+ <&camcc CAM_CC_CSIPHY2_CLK>,
+ <&camcc CAM_CC_CSI2PHYTIMER_CLK>,
+ <&camcc CAM_CC_CSIPHY3_CLK>,
+ <&camcc CAM_CC_CSI3PHYTIMER_CLK>,
+ <&gcc GCC_CAMERA_AHB_CLK>,
+ <&gcc GCC_CAMERA_HF_AXI_CLK>,
+ <&camcc CAM_CC_SOC_AHB_CLK>,
+ <&camcc CAM_CC_IFE_0_AXI_CLK>,
+ <&camcc CAM_CC_IFE_0_CLK>,
+ <&camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
+ <&camcc CAM_CC_IFE_1_AXI_CLK>,
+ <&camcc CAM_CC_IFE_1_CLK>,
+ <&camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
+ <&camcc CAM_CC_IFE_LITE_CLK>,
+ <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>;
+
+ clock-names = "camnoc_axi",
+ "cpas_ahb",
+ "csi0",
+ "csi1",
+ "csi2",
+ "csiphy0",
+ "csiphy0_timer",
+ "csiphy1",
+ "csiphy1_timer",
+ "csiphy2",
+ "csiphy2_timer",
+ "csiphy3",
+ "csiphy3_timer",
+ "gcc_camera_ahb",
+ "gcc_camera_axi",
+ "soc_ahb",
+ "vfe0_axi",
+ "vfe0",
+ "vfe0_cphy_rx",
+ "vfe1_axi",
+ "vfe1",
+ "vfe1_cphy_rx",
+ "vfe_lite",
+ "vfe_lite_cphy_rx";
+
+ interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>;
+
+ interrupt-names = "csid0",
+ "csid1",
+ "csid2",
+ "csiphy0",
+ "csiphy1",
+ "csiphy2",
+ "csiphy3",
+ "vfe0",
+ "vfe1",
+ "vfe_lite";
+
+ iommus = <&apps_smmu 0x820 0x0>,
+ <&apps_smmu 0x840 0x0>,
+ <&apps_smmu 0x860 0x0>;
+
+ power-domains = <&camcc IFE_0_GDSC>,
+ <&camcc IFE_1_GDSC>,
+ <&camcc TITAN_TOP_GDSC>;
+
+ power-domain-names = "ife0",
+ "ife1",
+ "top";
+
+ vdda-phy-supply = <&vreg_l1a_0p875>;
+ vdda-pll-supply = <&vreg_l26a_1p2>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+ };
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 2/8] Add Gen2 v1.2.2 two-phase MIPI CSI-2 DPHY init
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 1/8] Add qcom,sc7180-camss George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 3/8] Add sc7180 support George Chan via B4 Relay
` (7 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Add a PHY configuration sequence for the sc7180 which uses a Qualcomm
Gen 2 version 1.2.2 CSI-2 PHY.
The PHY can be configured as two phase or three phase in C-PHY or D-PHY
mode. This configuration supports two-phase D-PHY mode.
Signed-off-by: George Chan <gchan9527@gmail.com>
---
.../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 135 +++++++++++++++++++++
drivers/media/platform/qcom/camss/camss.h | 1 +
2 files changed, 136 insertions(+)
diff --git a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
index df7e93a5a4f6..e2dd9b23f857 100644
--- a/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
+++ b/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c
@@ -348,6 +348,136 @@ csiphy_reg_t lane_regs_sm8250[5][20] = {
},
};
+/* GEN2 1.2.2 2PH */
+struct
+csiphy_reg_t lane_regs_sc7180[5][23] = {
+ {
+ {0x0030, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0904, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0910, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0900, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0908, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0904, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x002c, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0034, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0010, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x001c, 0x0a, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0014, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0028, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x003c, 0xb8, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0000, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0004, 0x0c, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0020, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0008, 0x10, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+ {0x0010, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0038, 0xfe, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x005c, 0xc0, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0060, 0x0d, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
+ },
+ {
+ {0x0730, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c84, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c90, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c80, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c88, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c84, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x072c, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0734, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0710, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x071c, 0x0a, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0714, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0728, 0x04, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x073c, 0xb8, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0700, 0x80, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0704, 0x0c, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0720, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0708, 0x04, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+ {0x070c, 0xff, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0710, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0738, 0x1f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
+ {0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
+ },
+ {
+ {0x0230, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0a04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0a10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0a00, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0a08, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0a04, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x022c, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0234, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0210, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x021c, 0x0a, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0214, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0228, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x023c, 0xb8, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0200, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0204, 0x0c, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0220, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0208, 0x04, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+ {0x0210, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0238, 0xfe, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x025c, 0xc0, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0260, 0x0d, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
+ },
+ {
+ {0x0430, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0b04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0b10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0b00, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0b08, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0b04, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x042c, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0434, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0410, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x041c, 0x0a, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0414, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0428, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x043c, 0xb8, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0400, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0404, 0x0c, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0420, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0408, 0x04, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+ {0x0410, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0438, 0xfe, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x045c, 0xc0, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0460, 0x0d, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
+ },
+ {
+ {0x0630, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c04, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c10, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c00, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c08, 0x06, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0c04, 0x07, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x062c, 0x01, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0634, 0x0f, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0610, 0x50, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x061c, 0x0a, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0614, 0x60, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0628, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x063c, 0xb8, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0600, 0x91, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0604, 0x0c, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0620, 0x00, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0608, 0x04, 0x00, CSIPHY_SETTLE_CNT_LOWER_BYTE},
+ {0x0610, 0x52, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0638, 0xfe, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x065c, 0xc0, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0660, 0x0d, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0800, 0x02, 0x00, CSIPHY_DEFAULT_PARAMS},
+ {0x0000, 0x00, 0x00, CSIPHY_DNP_PARAMS},
+ },
+};
+
static void csiphy_hw_version_read(struct csiphy_device *csiphy,
struct device *dev)
{
@@ -509,6 +639,10 @@ static void csiphy_gen2_config_lanes(struct csiphy_device *csiphy,
r = &lane_regs_sdm845[0][0];
array_size = ARRAY_SIZE(lane_regs_sdm845[0]);
break;
+ case CAMSS_7180:
+ r = &lane_regs_sc7180[0][0];
+ array_size = ARRAY_SIZE(lane_regs_sc7180[0]);
+ break;
case CAMSS_8250:
r = &lane_regs_sm8250[0][0];
array_size = ARRAY_SIZE(lane_regs_sm8250[0]);
@@ -558,6 +692,7 @@ static bool csiphy_is_gen2(u32 version)
switch (version) {
case CAMSS_845:
+ case CAMSS_7180:
case CAMSS_8250:
case CAMSS_8280XP:
ret = true;
diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h
index ac15fe23a702..5e750c481b74 100644
--- a/drivers/media/platform/qcom/camss/camss.h
+++ b/drivers/media/platform/qcom/camss/camss.h
@@ -76,6 +76,7 @@ enum camss_version {
CAMSS_8x96,
CAMSS_660,
CAMSS_845,
+ CAMSS_7180,
CAMSS_8250,
CAMSS_8280XP,
};
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 3/8] Add sc7180 support
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 1/8] Add qcom,sc7180-camss George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 2/8] Add Gen2 v1.2.2 two-phase MIPI CSI-2 DPHY init George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 4/8] Add sc7180 resources George Chan via B4 Relay
` (6 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Add in functional logic throughout the code to support the sc7180.
Signed-off-by: George Chan <gchan9527@gmail.com>
---
drivers/media/platform/qcom/camss/camss-csiphy.c | 1 +
drivers/media/platform/qcom/camss/camss-vfe.c | 3 +++
drivers/media/platform/qcom/camss/camss-video.c | 1 +
3 files changed, 5 insertions(+)
diff --git a/drivers/media/platform/qcom/camss/camss-csiphy.c b/drivers/media/platform/qcom/camss/camss-csiphy.c
index 45b3a8e5dea4..1fb08b5ee01b 100644
--- a/drivers/media/platform/qcom/camss/camss-csiphy.c
+++ b/drivers/media/platform/qcom/camss/camss-csiphy.c
@@ -577,6 +577,7 @@ int msm_csiphy_subdev_init(struct camss *camss,
csiphy->nformats = ARRAY_SIZE(csiphy_formats_8x96);
break;
case CAMSS_845:
+ case CAMSS_7180:
case CAMSS_8250:
case CAMSS_8280XP:
csiphy->formats = csiphy_formats_sdm845;
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index d875237cf244..05fa1adc1661 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -224,6 +224,7 @@ static u32 vfe_src_pad_code(struct vfe_line *line, u32 sink_code,
case CAMSS_8x96:
case CAMSS_660:
case CAMSS_845:
+ case CAMSS_7180:
case CAMSS_8250:
case CAMSS_8280XP:
switch (sink_code) {
@@ -1518,6 +1519,7 @@ int msm_vfe_subdev_init(struct camss *camss, struct vfe_device *vfe,
}
break;
case CAMSS_845:
+ case CAMSS_7180:
case CAMSS_8250:
case CAMSS_8280XP:
l->formats = formats_rdi_845;
@@ -1603,6 +1605,7 @@ static int vfe_bpl_align(struct vfe_device *vfe)
switch (vfe->camss->res->version) {
case CAMSS_845:
+ case CAMSS_7180:
case CAMSS_8250:
case CAMSS_8280XP:
ret = 16;
diff --git a/drivers/media/platform/qcom/camss/camss-video.c b/drivers/media/platform/qcom/camss/camss-video.c
index 54cd82f74115..5b7f3fba938c 100644
--- a/drivers/media/platform/qcom/camss/camss-video.c
+++ b/drivers/media/platform/qcom/camss/camss-video.c
@@ -1027,6 +1027,7 @@ int msm_video_register(struct camss_video *video, struct v4l2_device *v4l2_dev,
}
break;
case CAMSS_845:
+ case CAMSS_7180:
case CAMSS_8250:
case CAMSS_8280XP:
video->formats = formats_rdi_845;
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 4/8] Add sc7180 resources
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (2 preceding siblings ...)
2024-06-23 23:22 ` [PATCH v2 3/8] Add sc7180 support George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 5/8] Add debug log info to camss_enable_clocks function George Chan via B4 Relay
` (5 subsequent siblings)
9 siblings, 0 replies; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
This commit describes the hardware layout for the sc7180 for the
following hardware blocks:
- 2 x VFE
- 1 x VFE Lite
- 2 x CSID
- 1 x CSID Lite
- 4 x CSI PHY
Signed-off-by: George Chan <gchan9527@gmail.com>
---
drivers/media/platform/qcom/camss/camss.c | 216 ++++++++++++++++++++++++++++++
1 file changed, 216 insertions(+)
diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index 1923615f0eea..86ba80c47188 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -713,6 +713,210 @@ static const struct camss_subdev_resources vfe_res_845[] = {
}
};
+static const struct camss_subdev_resources csiphy_res_7180[] = {
+ /* CSIPHY0 */
+ {
+ .regulators = {},
+ .clock = {
+ "csiphy0",
+ "csiphy0_timer"
+ },
+ .clock_rate = {
+ { 150000000, 270000000, 360000000 },
+ { 300000000 },
+ },
+ .reg = { "csiphy0" },
+ .interrupt = { "csiphy0" },
+ .ops = &csiphy_ops_3ph_1_0
+ },
+ /* CSIPHY1 */
+ {
+ .regulators = {},
+ .clock = {
+ "csiphy1",
+ "csiphy1_timer"
+ },
+ .clock_rate = {
+ { 150000000, 270000000, 360000000 },
+ { 300000000 },
+ },
+ .reg = { "csiphy1" },
+ .interrupt = { "csiphy1" },
+ .ops = &csiphy_ops_3ph_1_0
+ },
+ /* CSIPHY2 */
+ {
+ .regulators = {},
+ .clock = {
+ "csiphy2",
+ "csiphy2_timer"
+ },
+ .clock_rate = {
+ { 150000000, 270000000, 360000000 },
+ { 300000000 },
+ },
+ .reg = { "csiphy2" },
+ .interrupt = { "csiphy2" },
+ .ops = &csiphy_ops_3ph_1_0
+ },
+ /* CSIPHY3 */
+ {
+ .regulators = {},
+ .clock = {
+ "csiphy3",
+ "csiphy3_timer"
+ },
+ .clock_rate = {
+ { 150000000, 270000000, 360000000 },
+ { 300000000 },
+ },
+ .reg = { "csiphy3" },
+ .interrupt = { "csiphy3" },
+ .ops = &csiphy_ops_3ph_1_0
+ }
+};
+
+static const struct camss_subdev_resources csid_res_7180[] = {
+ /* CSID0 */
+ {
+ .regulators = { "vdda-phy", "vdda-pll" },
+ .clock = {
+ "soc_ahb",
+ "vfe0",
+ "vfe0_cphy_rx",
+ "csi0"
+ },
+ .clock_rate = {
+ { 0 },
+ { 240000000, 360000000, 432000000, 600000000 },
+ { 150000000, 270000000, 360000000 },
+ { 150000000, 270000000, 360000000, 480000000 },
+ },
+ .reg = { "csid0" },
+ .interrupt = { "csid0" },
+ .ops = &csid_ops_gen2
+ },
+
+ /* CSID1 */
+ {
+ .regulators = { "vdda-phy", "vdda-pll" },
+ .clock = {
+ "soc_ahb",
+ "vfe1",
+ "vfe1_cphy_rx",
+ "csi1",
+ },
+ .clock_rate = {
+ { 0 },
+ { 240000000, 360000000, 432000000, 600000000 },
+ { 150000000, 270000000, 360000000 },
+ { 150000000, 270000000, 360000000, 480000000 },
+ },
+ .reg = { "csid1" },
+ .interrupt = { "csid1" },
+ .ops = &csid_ops_gen2
+ },
+
+ /* CSID2 */
+ {
+ .regulators = { "vdda-phy", "vdda-pll" },
+ .clock = {
+ "soc_ahb",
+ "vfe_lite",
+ "vfe_lite_cphy_rx",
+ "csi2",
+ },
+ .clock_rate = {
+ { 0 },
+ { 240000000, 360000000, 432000000, 600000000 },
+ { 150000000, 270000000, 360000000 },
+ { 150000000, 270000000, 360000000, 480000000 },
+ },
+ .reg = { "csid2" },
+ .interrupt = { "csid2" },
+ .is_lite = true,
+ .ops = &csid_ops_gen2
+ }
+};
+
+static const struct camss_subdev_resources vfe_res_7180[] = {
+ /* VFE0 */
+ {
+ .regulators = {},
+ .clock = {
+ "camnoc_axi",
+ "cpas_ahb",
+ "soc_ahb",
+ "vfe0",
+ "vfe0_axi",
+ "csi0",
+ },
+ .clock_rate = {
+ { 0 },
+ { 0 },
+ { 0 },
+ { 19200000, 240000000, 360000000, 432000000, 600000000 },
+ { 0 },
+ { 150000000, 270000000, 360000000, 480000000 },
+ },
+ .reg = { "vfe0" },
+ .interrupt = { "vfe0" },
+ .pd_name = "ife0",
+ .line_num = 4,
+ .has_pd = true,
+ .ops = &vfe_ops_170
+ },
+ /* VFE1 */
+ {
+ .regulators = {},
+ .clock = {
+ "camnoc_axi",
+ "cpas_ahb",
+ "soc_ahb",
+ "vfe1",
+ "vfe1_axi",
+ "csi1",
+ },
+ .clock_rate = {
+ { 0 },
+ { 0 },
+ { 0 },
+ { 19200000, 240000000, 360000000, 432000000, 600000000 },
+ { 0 },
+ { 150000000, 270000000, 360000000, 480000000 },
+ },
+ .reg = { "vfe1" },
+ .interrupt = { "vfe1" },
+ .pd_name = "ife1",
+ .line_num = 4,
+ .has_pd = true,
+ .ops = &vfe_ops_170
+ },
+ /* VFE-lite */
+ {
+ .regulators = {},
+ .clock = {
+ "camnoc_axi",
+ "cpas_ahb",
+ "soc_ahb",
+ "vfe_lite",
+ "csi2",
+ },
+ .clock_rate = {
+ { 0 },
+ { 0 },
+ { 0 },
+ { 19200000, 240000000, 360000000, 432000000, 600000000 },
+ { 150000000, 270000000, 360000000, 480000000 },
+ },
+ .reg = { "vfe_lite" },
+ .interrupt = { "vfe_lite" },
+ .is_lite = true,
+ .line_num = 4,
+ .ops = &vfe_ops_170
+ }
+};
+
static const struct camss_subdev_resources csiphy_res_8250[] = {
/* CSIPHY0 */
{
@@ -2105,6 +2309,17 @@ static const struct camss_resources sdm845_resources = {
.vfe_num = ARRAY_SIZE(vfe_res_845),
};
+static const struct camss_resources sc7180_resources = {
+ .version = CAMSS_7180,
+ .pd_name = "top",
+ .csiphy_res = csiphy_res_7180,
+ .csid_res = csid_res_7180,
+ .vfe_res = vfe_res_7180,
+ .csiphy_num = ARRAY_SIZE(csiphy_res_7180),
+ .csid_num = ARRAY_SIZE(csid_res_7180),
+ .vfe_num = ARRAY_SIZE(vfe_res_7180),
+};
+
static const struct camss_resources sm8250_resources = {
.version = CAMSS_8250,
.pd_name = "top",
@@ -2137,6 +2352,7 @@ static const struct of_device_id camss_dt_match[] = {
{ .compatible = "qcom,msm8996-camss", .data = &msm8996_resources },
{ .compatible = "qcom,sdm660-camss", .data = &sdm660_resources },
{ .compatible = "qcom,sdm845-camss", .data = &sdm845_resources },
+ { .compatible = "qcom,sc7180-camss", .data = &sc7180_resources },
{ .compatible = "qcom,sm8250-camss", .data = &sm8250_resources },
{ .compatible = "qcom,sc8280xp-camss", .data = &sc8280xp_resources },
{ }
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 5/8] Add debug log info to camss_enable_clocks function
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (3 preceding siblings ...)
2024-06-23 23:22 ` [PATCH v2 4/8] Add sc7180 resources George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-24 10:07 ` Bryan O'Donoghue
2024-06-23 23:22 ` [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function George Chan via B4 Relay
` (4 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Print out missing clock's name when doing camss_enable_clocks().
Signed-off-by: George Chan <gchan9527@gmail.com>
---
drivers/media/platform/qcom/camss/camss.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index 86ba80c47188..d50f98565531 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -1467,7 +1467,7 @@ int camss_enable_clocks(int nclocks, struct camss_clock *clock,
for (i = 0; i < nclocks; i++) {
ret = clk_prepare_enable(clock[i].clk);
if (ret) {
- dev_err(dev, "clock enable failed: %d\n", ret);
+ dev_err(dev, "clock enable failed: %s %d\n", clock[i].name, ret);
goto error;
}
}
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (4 preceding siblings ...)
2024-06-23 23:22 ` [PATCH v2 5/8] Add debug log info to camss_enable_clocks function George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-24 10:08 ` Bryan O'Donoghue
2024-06-23 23:22 ` [PATCH v2 7/8] Add debug log info to vfe block init and set clock rate George Chan via B4 Relay
` (3 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Print out missing clock's name when doing msm_csid_subdev_init().
Signed-off-by: George Chan <gchan9527@gmail.com>
---
drivers/media/platform/qcom/camss/camss-csid.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/qcom/camss/camss-csid.c b/drivers/media/platform/qcom/camss/camss-csid.c
index eb27d69e89a1..02162bf9dbc0 100644
--- a/drivers/media/platform/qcom/camss/camss-csid.c
+++ b/drivers/media/platform/qcom/camss/camss-csid.c
@@ -628,8 +628,10 @@ int msm_csid_subdev_init(struct camss *camss, struct csid_device *csid,
struct camss_clock *clock = &csid->clock[i];
clock->clk = devm_clk_get(dev, res->clock[i]);
- if (IS_ERR(clock->clk))
+ if (IS_ERR(clock->clk)) {
+ dev_err(dev, "missing clk %s", res->clock[i]);
return PTR_ERR(clock->clk);
+ }
clock->name = res->clock[i];
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 7/8] Add debug log info to vfe block init and set clock rate
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (5 preceding siblings ...)
2024-06-23 23:22 ` [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-24 10:15 ` Bryan O'Donoghue
2024-06-23 23:22 ` [PATCH RFT v2 8/8] Add support for sc7180 camss subsys George Chan via B4 Relay
` (2 subsequent siblings)
9 siblings, 1 reply; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Print out missing clock's name when doing msm_vfe_subdev_init().
Also print out min clock rate required at vfe_set_clock_rates().
Signed-off-by: George Chan <gchan9527@gmail.com>
---
drivers/media/platform/qcom/camss/camss-vfe.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
index 05fa1adc1661..fbbf38755c0e 100644
--- a/drivers/media/platform/qcom/camss/camss-vfe.c
+++ b/drivers/media/platform/qcom/camss/camss-vfe.c
@@ -579,7 +579,8 @@ static int vfe_set_clock_rates(struct vfe_device *vfe)
if (j == clock->nfreqs) {
dev_err(dev,
- "Pixel clock is too high for VFE");
+ "Pixel clock(%s) is too high for VFE, at least set to %lld",
+ clock->name, min_rate);
return -EINVAL;
}
@@ -1452,8 +1453,10 @@ int msm_vfe_subdev_init(struct camss *camss, struct vfe_device *vfe,
struct camss_clock *clock = &vfe->clock[i];
clock->clk = devm_clk_get(dev, res->clock[i]);
- if (IS_ERR(clock->clk))
+ if (IS_ERR(clock->clk)) {
+ dev_err(dev, "missing clk %s", res->clock[i]);
return PTR_ERR(clock->clk);
+ }
clock->name = res->clock[i];
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH RFT v2 8/8] Add support for sc7180 camss subsys
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (6 preceding siblings ...)
2024-06-23 23:22 ` [PATCH v2 7/8] Add debug log info to vfe block init and set clock rate George Chan via B4 Relay
@ 2024-06-23 23:22 ` George Chan via B4 Relay
2024-06-24 4:55 ` Krzysztof Kozlowski
2024-06-24 4:54 ` [PATCH v2 0/8] Add sc7180 camss subsys support Krzysztof Kozlowski
2024-06-24 10:05 ` Bryan O'Donoghue
9 siblings, 1 reply; 18+ messages in thread
From: George Chan via B4 Relay @ 2024-06-23 23:22 UTC (permalink / raw)
To: Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel, George Chan
From: George Chan <gchan9527@gmail.com>
Introduce camss subsys support to sc7180 family soc.
Signed-off-by: George Chan <gchan9527@gmail.com>
---
arch/arm64/boot/dts/qcom/sc7180.dtsi | 135 +++++++++++++++++++++++++++++++++++
1 file changed, 135 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index b5ebf8980325..c2180d52452c 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -5,6 +5,7 @@
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
*/
+#include <dt-bindings/clock/qcom,camcc-sc7180.h>
#include <dt-bindings/clock/qcom,dispcc-sc7180.h>
#include <dt-bindings/clock/qcom,gcc-sc7180.h>
#include <dt-bindings/clock/qcom,gpucc-sc7180.h>
@@ -3150,6 +3151,140 @@ camnoc_virt: interconnect@ac00000 {
qcom,bcm-voters = <&apps_bcm_voter>;
};
+ camss: camss@acb3000 {
+ compatible = "qcom,sc7180-camss";
+
+ reg = <0 0xacb3000 0 0x1000>,
+ <0 0xacba000 0 0x1000>,
+ <0 0xacc8000 0 0x1000>,
+ <0 0xac65000 0 0x1000>,
+ <0 0xac66000 0 0x1000>,
+ <0 0xac67000 0 0x1000>,
+ <0 0xac68000 0 0x1000>,
+ <0 0xacaf000 0 0x4000>,
+ <0 0xacb6000 0 0x4000>,
+ <0 0xacc4000 0 0x4000>;
+
+ reg-names = "csid0",
+ "csid1",
+ "csid2",
+ "csiphy0",
+ "csiphy1",
+ "csiphy2",
+ "csiphy3",
+ "vfe0",
+ "vfe1",
+ "vfe_lite";
+
+ clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+ <&camcc CAM_CC_CPAS_AHB_CLK>,
+ <&camcc CAM_CC_IFE_0_CSID_CLK>,
+ <&camcc CAM_CC_IFE_1_CSID_CLK>,
+ <&camcc CAM_CC_IFE_LITE_CSID_CLK>,
+ <&camcc CAM_CC_CSIPHY0_CLK>,
+ <&camcc CAM_CC_CSI0PHYTIMER_CLK>,
+ <&camcc CAM_CC_CSIPHY1_CLK>,
+ <&camcc CAM_CC_CSI1PHYTIMER_CLK>,
+ <&camcc CAM_CC_CSIPHY2_CLK>,
+ <&camcc CAM_CC_CSI2PHYTIMER_CLK>,
+ <&camcc CAM_CC_CSIPHY3_CLK>,
+ <&camcc CAM_CC_CSI3PHYTIMER_CLK>,
+ <&gcc GCC_CAMERA_AHB_CLK>,
+ <&gcc GCC_CAMERA_HF_AXI_CLK>,
+ <&camcc CAM_CC_SOC_AHB_CLK>,
+ <&camcc CAM_CC_IFE_0_AXI_CLK>,
+ <&camcc CAM_CC_IFE_0_CLK>,
+ <&camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
+ <&camcc CAM_CC_IFE_1_AXI_CLK>,
+ <&camcc CAM_CC_IFE_1_CLK>,
+ <&camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
+ <&camcc CAM_CC_IFE_LITE_CLK>,
+ <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>;
+
+ clock-names = "camnoc_axi",
+ "cpas_ahb",
+ "csi0",
+ "csi1",
+ "csi2",
+ "csiphy0",
+ "csiphy0_timer",
+ "csiphy1",
+ "csiphy1_timer",
+ "csiphy2",
+ "csiphy2_timer",
+ "csiphy3",
+ "csiphy3_timer",
+ "gcc_camera_ahb",
+ "gcc_camera_axi",
+ "soc_ahb",
+ "vfe0_axi",
+ "vfe0",
+ "vfe0_cphy_rx",
+ "vfe1_axi",
+ "vfe1",
+ "vfe1_cphy_rx",
+ "vfe_lite",
+ "vfe_lite_cphy_rx";
+
+ interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>;
+
+ interrupt-names = "csid0",
+ "csid1",
+ "csid2",
+ "csiphy0",
+ "csiphy1",
+ "csiphy2",
+ "csiphy3",
+ "vfe0",
+ "vfe1",
+ "vfe_lite";
+
+ iommus = <&apps_smmu 0x820 0x0>,
+ <&apps_smmu 0x840 0x0>,
+ <&apps_smmu 0x860 0x0>;
+
+ power-domains = <&camcc IFE_0_GDSC>,
+ <&camcc IFE_1_GDSC>,
+ <&camcc TITAN_TOP_GDSC>;
+
+ power-domain-names = "ife0", "ife1", "top";
+
+ required-opps = <&rpmhpd_opp_low_svs>;
+
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ };
+
+ port@1 {
+ reg = <1>;
+ };
+
+ port@2 {
+ reg = <2>;
+ };
+
+ port@3 {
+ reg = <3>;
+ };
+
+ };
+ };
+
camcc: clock-controller@ad00000 {
compatible = "qcom,sc7180-camcc";
reg = <0 0x0ad00000 0 0x10000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] Add sc7180 camss subsys support
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (7 preceding siblings ...)
2024-06-23 23:22 ` [PATCH RFT v2 8/8] Add support for sc7180 camss subsys George Chan via B4 Relay
@ 2024-06-24 4:54 ` Krzysztof Kozlowski
2024-06-24 10:05 ` Bryan O'Donoghue
9 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-24 4:54 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 01:22, George Chan via B4 Relay wrote:
> SM7125 is the SoC found in the Xiaomi Redmi Note 9 Pro(joyeuse) cellphone.
> This series adds support to bring up the CSIPHY, CSID, VFE/RDI interfaces.
>
> Since SM7125 is a low-speed variant of SC7180, SC7180 testers please
> take a look and have a test as well.
>
> sc7180 provides
>
> - 2 x VFE
> - 1 x VFE Lite
> - 2 x CSID
> - 1 x CSID Lite
> - 4 x CSI PHY
>
> The sc7180-camss binding should be comaptible with sdm845 yaml.
> I've copied a new yaml from sdm845-camss.yaml, strip all _src clk and
> put new maintainer information. If this is not desirable then i can add binding to
> existing sdm845 yaml instead.
>
> In addition, a bootable tree of sm7125/joyeuse is availble at:
> https://github.com/99degree/linux/tree/camss
>
>
> Signed-off-by: George Chan <gchan9527@gmail.com>
> ---
> Changes in v2:
> - Revised dt-binding as stated by krzk
What changed exactly? That's too vague.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 1/8] Add qcom,sc7180-camss
2024-06-23 23:22 ` [PATCH v2 1/8] Add qcom,sc7180-camss George Chan via B4 Relay
@ 2024-06-24 4:55 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-24 4:55 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 01:22, George Chan via B4 Relay wrote:
> From: George Chan <gchan9527@gmail.com>
>
> Add bindings for qcom,sc7180-camss in order to support the camera
> subsystem for sm7125 as found in the Xiaomi Redmi 9 Pro cellphone.
<form letter>
This is a friendly reminder during the review process.
It seems my or other reviewer's previous comments were not fully
addressed. Maybe the feedback got lost between the quotes, maybe you
just forgot to apply it. Please go back to the previous discussion and
either implement all requested changes or keep discussing them.
Thank you.
</form letter>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH RFT v2 8/8] Add support for sc7180 camss subsys
2024-06-23 23:22 ` [PATCH RFT v2 8/8] Add support for sc7180 camss subsys George Chan via B4 Relay
@ 2024-06-24 4:55 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-24 4:55 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 01:22, George Chan via B4 Relay wrote:
> From: George Chan <gchan9527@gmail.com>
>
> Introduce camss subsys support to sc7180 family soc.
Please use subject prefixes matching the subsystem. You can get them for
example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory
your patch is touching. For bindings, the preferred subjects are
explained here:
https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] Add sc7180 camss subsys support
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
` (8 preceding siblings ...)
2024-06-24 4:54 ` [PATCH v2 0/8] Add sc7180 camss subsys support Krzysztof Kozlowski
@ 2024-06-24 10:05 ` Bryan O'Donoghue
2024-06-24 12:07 ` george chan
9 siblings, 1 reply; 18+ messages in thread
From: Bryan O'Donoghue @ 2024-06-24 10:05 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Bryan O'Donoghue,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 00:22, George Chan via B4 Relay wrote:
> SM7125 is the SoC found in the Xiaomi Redmi Note 9 Pro(joyeuse) cellphone.
> This series adds support to bring up the CSIPHY, CSID, VFE/RDI interfaces.
>
> Since SM7125 is a low-speed variant of SC7180, SC7180 testers please
> take a look and have a test as well.
>
> sc7180 provides
>
> - 2 x VFE
> - 1 x VFE Lite
> - 2 x CSID
> - 1 x CSID Lite
> - 4 x CSI PHY
>
> The sc7180-camss binding should be comaptible with sdm845 yaml.
> I've copied a new yaml from sdm845-camss.yaml, strip all _src clk and
> put new maintainer information. If this is not desirable then i can add binding to
> existing sdm845 yaml instead.
>
> In addition, a bootable tree of sm7125/joyeuse is availble at:
> https://github.com/99degree/linux/tree/camss
>
>
> Signed-off-by: George Chan <gchan9527@gmail.com>
> ---
Could you please rebase your series with
https://lore.kernel.org/linux-arm-msm/20240522154659.510-1-quic_grosikop@quicinc.com/
taken in ?
I think your patchset ends up with less churn in it as a result.
---
bod
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 5/8] Add debug log info to camss_enable_clocks function
2024-06-23 23:22 ` [PATCH v2 5/8] Add debug log info to camss_enable_clocks function George Chan via B4 Relay
@ 2024-06-24 10:07 ` Bryan O'Donoghue
0 siblings, 0 replies; 18+ messages in thread
From: Bryan O'Donoghue @ 2024-06-24 10:07 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 00:22, George Chan via B4 Relay wrote:
> From: George Chan <gchan9527@gmail.com>
>
> Print out missing clock's name when doing camss_enable_clocks().
>
> Signed-off-by: George Chan <gchan9527@gmail.com>
> ---
> drivers/media/platform/qcom/camss/camss.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
> index 86ba80c47188..d50f98565531 100644
> --- a/drivers/media/platform/qcom/camss/camss.c
> +++ b/drivers/media/platform/qcom/camss/camss.c
> @@ -1467,7 +1467,7 @@ int camss_enable_clocks(int nclocks, struct camss_clock *clock,
> for (i = 0; i < nclocks; i++) {
> ret = clk_prepare_enable(clock[i].clk);
> if (ret) {
> - dev_err(dev, "clock enable failed: %d\n", ret);
> + dev_err(dev, "clock enable failed: %s %d\n", clock[i].name, ret);
> goto error;
> }
> }
>
Acked-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function
2024-06-23 23:22 ` [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function George Chan via B4 Relay
@ 2024-06-24 10:08 ` Bryan O'Donoghue
2024-06-24 10:19 ` Krzysztof Kozlowski
0 siblings, 1 reply; 18+ messages in thread
From: Bryan O'Donoghue @ 2024-06-24 10:08 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 00:22, George Chan via B4 Relay wrote:
> + dev_err(dev, "missing clk %s", res->clock[i]);
Please don't abbreviate - the other error message says "clock" here we
say "clk"
Once fixed to clock please add
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 7/8] Add debug log info to vfe block init and set clock rate
2024-06-23 23:22 ` [PATCH v2 7/8] Add debug log info to vfe block init and set clock rate George Chan via B4 Relay
@ 2024-06-24 10:15 ` Bryan O'Donoghue
0 siblings, 0 replies; 18+ messages in thread
From: Bryan O'Donoghue @ 2024-06-24 10:15 UTC (permalink / raw)
To: gchan9527, Robert Foss, Todor Tomov, Mauro Carvalho Chehab,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 00:22, George Chan via B4 Relay wrote:
> From: George Chan <gchan9527@gmail.com>
>
> Print out missing clock's name when doing msm_vfe_subdev_init().
> Also print out min clock rate required at vfe_set_clock_rates().
>
> Signed-off-by: George Chan <gchan9527@gmail.com>
> ---
> drivers/media/platform/qcom/camss/camss-vfe.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c
> index 05fa1adc1661..fbbf38755c0e 100644
> --- a/drivers/media/platform/qcom/camss/camss-vfe.c
> +++ b/drivers/media/platform/qcom/camss/camss-vfe.c
> @@ -579,7 +579,8 @@ static int vfe_set_clock_rates(struct vfe_device *vfe)
>
> if (j == clock->nfreqs) {
> dev_err(dev,
> - "Pixel clock is too high for VFE");
> + "Pixel clock(%s) is too high for VFE, at least set to %lld",
> + clock->name, min_rate);
Pixel clock %lld Hz is too high for clock %s
> return -EINVAL;
> }
>
> @@ -1452,8 +1453,10 @@ int msm_vfe_subdev_init(struct camss *camss, struct vfe_device *vfe,
> struct camss_clock *clock = &vfe->clock[i];
>
> clock->clk = devm_clk_get(dev, res->clock[i]);
> - if (IS_ERR(clock->clk))
> + if (IS_ERR(clock->clk)) {
> + dev_err(dev, "missing clk %s", res->clock[i]);
> return PTR_ERR(clock->clk);
> + }
>
> clock->name = res->clock[i];
>
>
A bit inconsistent with the messages
stick to "clock %s"
---
bod
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function
2024-06-24 10:08 ` Bryan O'Donoghue
@ 2024-06-24 10:19 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-06-24 10:19 UTC (permalink / raw)
To: Bryan O'Donoghue, gchan9527, Robert Foss, Todor Tomov,
Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio
Cc: linux-media, linux-arm-msm, devicetree, linux-kernel
On 24/06/2024 12:08, Bryan O'Donoghue wrote:
> On 24/06/2024 00:22, George Chan via B4 Relay wrote:
>> + dev_err(dev, "missing clk %s", res->clock[i]);
>
> Please don't abbreviate - the other error message says "clock" here we
> say "clk"
>
Is it a probe path? If yes, then this should be dev_err_probe. If not,
then are you sure that non-probe paths should acquire resources? How
does it handle deferred probe in such case?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v2 0/8] Add sc7180 camss subsys support
2024-06-24 10:05 ` Bryan O'Donoghue
@ 2024-06-24 12:07 ` george chan
0 siblings, 0 replies; 18+ messages in thread
From: george chan @ 2024-06-24 12:07 UTC (permalink / raw)
To: Bryan O'Donoghue
Cc: Robert Foss, Todor Tomov, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers,
Bjorn Andersson, Konrad Dybcio, linux-media, linux-arm-msm,
devicetree, linux-kernel
On Mon, Jun 24, 2024 at 6:05 PM Bryan O'Donoghue
<bryan.odonoghue@linaro.org> wrote:
> Could you please rebase your series with
>
> https://lore.kernel.org/linux-arm-msm/20240522154659.510-1-quic_grosikop@quicinc.com/
>
> taken in ?
>
> I think your patchset ends up with less churn in it as a result.
>
Sure and I'll prepared v3 based on linux-next-20240619 +
20240522154659.510-1-quic_grosikop@quicinc.com
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-06-24 12:07 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-23 23:22 [PATCH v2 0/8] Add sc7180 camss subsys support George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 1/8] Add qcom,sc7180-camss George Chan via B4 Relay
2024-06-24 4:55 ` Krzysztof Kozlowski
2024-06-23 23:22 ` [PATCH v2 2/8] Add Gen2 v1.2.2 two-phase MIPI CSI-2 DPHY init George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 3/8] Add sc7180 support George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 4/8] Add sc7180 resources George Chan via B4 Relay
2024-06-23 23:22 ` [PATCH v2 5/8] Add debug log info to camss_enable_clocks function George Chan via B4 Relay
2024-06-24 10:07 ` Bryan O'Donoghue
2024-06-23 23:22 ` [PATCH v2 6/8] Add debug log info to msm_csid_subdev_init function George Chan via B4 Relay
2024-06-24 10:08 ` Bryan O'Donoghue
2024-06-24 10:19 ` Krzysztof Kozlowski
2024-06-23 23:22 ` [PATCH v2 7/8] Add debug log info to vfe block init and set clock rate George Chan via B4 Relay
2024-06-24 10:15 ` Bryan O'Donoghue
2024-06-23 23:22 ` [PATCH RFT v2 8/8] Add support for sc7180 camss subsys George Chan via B4 Relay
2024-06-24 4:55 ` Krzysztof Kozlowski
2024-06-24 4:54 ` [PATCH v2 0/8] Add sc7180 camss subsys support Krzysztof Kozlowski
2024-06-24 10:05 ` Bryan O'Donoghue
2024-06-24 12:07 ` george chan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).