From 083c3afd7cd7421f92bf00047afcf1ac60981b50 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:28:46 +0530 Subject: [PATCH 01/15] Revert "FROMLIST: arm64: dts: qcom: shikra-iqs-evk-imx577-camera: Add DT overlay" This reverts commit 0f3872954aa069683b828749c8a82c48acc5e049. --- arch/arm64/boot/dts/qcom/Makefile | 2 - .../qcom/shikra-iqs-evk-imx577-camera.dtso | 63 ------------------- 2 files changed, 65 deletions(-) delete mode 100644 arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 7c3daa5703471..ee09ccf602990 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -374,11 +374,9 @@ dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk.dtb shikra-cqm-evk-imx577-camera-dtbs := shikra-cqm-evk.dtb shikra-cqm-evk-imx577-camera.dtbo shikra-cqs-evk-imx577-camera-dtbs := shikra-cqs-evk.dtb shikra-cqm-evk-imx577-camera.dtbo -shikra-iqs-evk-imx577-camera-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-imx577-camera.dtbo dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-imx577-camera.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-imx577-camera.dtb -dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-imx577-camera.dtb shikra-cqs-evk-camx-dtbs := shikra-cqs-evk.dtb shikra-cqs-evk-camx.dtbo diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso b/arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso deleted file mode 100644 index f0423f1ab4e93..0000000000000 --- a/arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. - */ - -/dts-v1/; -/plugin/; - -#include -#include - -&camss { - vdd-csiphy-1p2-supply = <&pm8150_l11>; - vdd-csiphy-1p8-supply = <&pm8150_l12>; - - status = "okay"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@1 { - reg = <1>; - - csiphy1_ep: endpoint { - data-lanes = <0 1 2 3>; - remote-endpoint = <&imx577_ep1>; - }; - }; - }; -}; - -&cci { - status = "okay"; -}; - -&cci_i2c1 { - #address-cells = <1>; - #size-cells = <0>; - - camera@1a { - compatible = "sony,imx577"; - reg = <0x1a>; - - reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&mclk1_default>; - pinctrl-names = "default"; - - clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; - assigned-clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; - assigned-clock-rates = <24000000>; - - dovdd-supply = <&pm8150_l15>; - - port { - imx577_ep1: endpoint { - link-frequencies = /bits/ 64 <600000000>; - data-lanes = <0 1 2 3>; - remote-endpoint = <&csiphy1_ep>; - }; - }; - }; -}; From 54583b32e73a521d4aa8cd49d5c11b513b5ce3a8 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:30:32 +0530 Subject: [PATCH 02/15] Revert "FROMLIST: arm64: dts: qcom: shikra-cqm-evk-imx577-camera: Add DT overlay" This reverts commit 7e110a0268d0bb888f599f7faae3d0ff3070a703. --- arch/arm64/boot/dts/qcom/Makefile | 6 -- .../qcom/shikra-cqm-evk-imx577-camera.dtso | 63 ------------------- 2 files changed, 69 deletions(-) delete mode 100644 arch/arm64/boot/dts/qcom/shikra-cqm-evk-imx577-camera.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index ee09ccf602990..05d2630d1e5ea 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -372,12 +372,6 @@ dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk.dtb -shikra-cqm-evk-imx577-camera-dtbs := shikra-cqm-evk.dtb shikra-cqm-evk-imx577-camera.dtbo -shikra-cqs-evk-imx577-camera-dtbs := shikra-cqs-evk.dtb shikra-cqm-evk-imx577-camera.dtbo - -dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-imx577-camera.dtb -dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-imx577-camera.dtb - shikra-cqs-evk-camx-dtbs := shikra-cqs-evk.dtb shikra-cqs-evk-camx.dtbo dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-camx.dtb diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-evk-imx577-camera.dtso b/arch/arm64/boot/dts/qcom/shikra-cqm-evk-imx577-camera.dtso deleted file mode 100644 index aedcd164810cf..0000000000000 --- a/arch/arm64/boot/dts/qcom/shikra-cqm-evk-imx577-camera.dtso +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. - */ - -/dts-v1/; -/plugin/; - -#include -#include - -&camss { - vdd-csiphy-1p2-supply = <&pm4125_l5>; - vdd-csiphy-1p8-supply = <&pm4125_l13>; - - status = "okay"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@1 { - reg = <1>; - - csiphy1_ep: endpoint { - data-lanes = <0 1 2 3>; - remote-endpoint = <&imx577_ep1>; - }; - }; - }; -}; - -&cci { - status = "okay"; -}; - -&cci_i2c1 { - #address-cells = <1>; - #size-cells = <0>; - - camera@1a { - compatible = "sony,imx577"; - reg = <0x1a>; - - reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&mclk1_default>; - pinctrl-names = "default"; - - clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; - assigned-clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; - assigned-clock-rates = <24000000>; - - dovdd-supply = <&pm4125_l15>; - - port { - imx577_ep1: endpoint { - link-frequencies = /bits/ 64 <600000000>; - data-lanes = <0 1 2 3>; - remote-endpoint = <&csiphy1_ep>; - }; - }; - }; -}; From a9437b5df2d8b3b4918310364bcc3397487f6d32 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:30:46 +0530 Subject: [PATCH 03/15] Revert "FROMLIST: arm64: dts: qcom: shikra: Add pin configuration for mclks" This reverts commit bc53494044bb3796d555b67058aa4c6422904025. --- arch/arm64/boot/dts/qcom/shikra.dtsi | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi index 0421ed906af1d..63dd719881820 100644 --- a/arch/arm64/boot/dts/qcom/shikra.dtsi +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi @@ -696,34 +696,6 @@ bias-pull-down; }; - mclk0_default: mclk0-default-state { - pins = "gpio34"; - function = "cam_mclk"; - drive-strength = <2>; - bias-disable; - }; - - mclk1_default: mclk1-default-state { - pins = "gpio35"; - function = "cam_mclk"; - drive-strength = <2>; - bias-disable; - }; - - mclk2_default: mclk2-default-state { - pins = "gpio96"; - function = "cam_mclk"; - drive-strength = <2>; - bias-disable; - }; - - mclk3_default: mclk3-default-state { - pins = "gpio98"; - function = "cam_mclk"; - drive-strength = <2>; - bias-disable; - }; - qup_i2c0_data_clk: qup-i2c0-data-clk-state { /* SDA, SCL */ pins = "gpio2", "gpio3"; From 2c19e89db13fe7d09eab004049121d9ea173a305 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:30:55 +0530 Subject: [PATCH 04/15] Revert "FROMLIST: arm64: dts: qcom: shikra: Add CCI definitions" This reverts commit 4150f5987884c2d5f9873334a9917818dfcef33c. --- arch/arm64/boot/dts/qcom/shikra.dtsi | 69 ---------------------------- 1 file changed, 69 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi index 63dd719881820..877eb9c4a8755 100644 --- a/arch/arm64/boot/dts/qcom/shikra.dtsi +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi @@ -664,38 +664,6 @@ gpio-ranges = <&tlmm 0 0 165>; wakeup-parent = <&mpm>; - cci_i2c0_default: cci-i2c0-default-state { - /* SDA, SCL */ - pins = "gpio36", "gpio37"; - function = "cci_i2c0"; - drive-strength = <2>; - bias-pull-up; - }; - - cci_i2c0_sleep: cci-i2c0-sleep-state { - /* SDA, SCL */ - pins = "gpio36", "gpio37"; - function = "cci_i2c0"; - drive-strength = <2>; - bias-pull-down; - }; - - cci_i2c1_default: cci-i2c1-default-state { - /* SDA, SCL */ - pins = "gpio41", "gpio42"; - function = "cci_i2c1"; - drive-strength = <2>; - bias-pull-up; - }; - - cci_i2c1_sleep: cci-i2c1-sleep-state { - /* SDA, SCL */ - pins = "gpio41", "gpio42"; - function = "cci_i2c1"; - drive-strength = <2>; - bias-pull-down; - }; - qup_i2c0_data_clk: qup-i2c0-data-clk-state { /* SDA, SCL */ pins = "gpio2", "gpio3"; @@ -1779,43 +1747,6 @@ }; }; - cci: cci@5c1b000 { - compatible = "qcom,shikra-cci", "qcom,msm8996-cci"; - reg = <0x0 0x05c1b000 0x0 0x1000>; - - interrupts = ; - - clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, - <&gcc GCC_CAMSS_CCI_0_CLK>; - clock-names = "ahb", - "cci"; - - power-domains = <&gcc GCC_CAMSS_TOP_GDSC>; - - pinctrl-0 = <&cci_i2c0_default &cci_i2c1_default>; - pinctrl-1 = <&cci_i2c0_sleep &cci_i2c1_sleep>; - pinctrl-names = "default", "sleep"; - - #address-cells = <1>; - #size-cells = <0>; - - status = "disabled"; - - cci_i2c0: i2c-bus@0 { - reg = <0>; - clock-frequency = <400000>; - #address-cells = <1>; - #size-cells = <0>; - }; - - cci_i2c1: i2c-bus@1 { - reg = <1>; - clock-frequency = <400000>; - #address-cells = <1>; - #size-cells = <0>; - }; - }; - sdhc_ice: crypto@4748000 { compatible = "qcom,shikra-inline-crypto-engine", "qcom,inline-crypto-engine"; From 0fcc4665717bc1ef6de12eea950f33d0a6de6430 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:32:50 +0530 Subject: [PATCH 05/15] Revert "FROMLIST: arm64: dts: qcom: shikra: Add CAMSS node" This reverts commit 4a5647a2163779c301f2f50c73815ca174cf126f. --- arch/arm64/boot/dts/qcom/shikra.dtsi | 99 ---------------------------- 1 file changed, 99 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi index 877eb9c4a8755..5c118c9c8da0d 100644 --- a/arch/arm64/boot/dts/qcom/shikra.dtsi +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi @@ -1648,105 +1648,6 @@ }; }; - camss: camss@5c11000 { - compatible = "qcom,shikra-camss"; - - reg = <0x0 0x05c11000 0x0 0x1000>, - <0x0 0x05c6e000 0x0 0x1000>, - <0x0 0x05c75000 0x0 0x1000>, - <0x0 0x05c52000 0x0 0x1000>, - <0x0 0x05c53000 0x0 0x1000>, - <0x0 0x05c66000 0x0 0x400>, - <0x0 0x05c68000 0x0 0x400>, - <0x0 0x05c6f000 0x0 0x4000>, - <0x0 0x05c76000 0x0 0x4000>; - reg-names = "top", - "csid0", - "csid1", - "csiphy0", - "csiphy1", - "csitpg0", - "csitpg1", - "vfe0", - "vfe1"; - - clocks = <&gcc GCC_CAMERA_AHB_CLK>, - <&gcc GCC_CAMSS_AXI_CLK>, - <&gcc GCC_CAMSS_NRT_AXI_CLK>, - <&gcc GCC_CAMSS_RT_AXI_CLK>, - <&gcc GCC_CAMSS_TFE_0_CSID_CLK>, - <&gcc GCC_CAMSS_TFE_1_CSID_CLK>, - <&gcc GCC_CAMSS_CPHY_0_CLK>, - <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, - <&gcc GCC_CAMSS_CPHY_1_CLK>, - <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, - <&gcc GCC_CAMSS_TOP_AHB_CLK>, - <&gcc GCC_CAMSS_TFE_0_CLK>, - <&gcc GCC_CAMSS_TFE_0_CPHY_RX_CLK>, - <&gcc GCC_CAMSS_TFE_1_CLK>, - <&gcc GCC_CAMSS_TFE_1_CPHY_RX_CLK>; - clock-names = "ahb", - "axi", - "camnoc_nrt_axi", - "camnoc_rt_axi", - "csi0", - "csi1", - "csiphy0", - "csiphy0_timer", - "csiphy1", - "csiphy1_timer", - "top_ahb", - "vfe0", - "vfe0_cphy_rx", - "vfe1", - "vfe1_cphy_rx"; - - interrupts = , - , - , - , - , - , - , - ; - interrupt-names = "csid0", - "csid1", - "csiphy0", - "csiphy1", - "csitpg0", - "csitpg1", - "vfe0", - "vfe1"; - - interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ACTIVE_TAG - &config_noc SLAVE_CAMERA_CFG RPM_ACTIVE_TAG>, - <&mmrt_virt MASTER_CAMNOC_HF RPM_ALWAYS_TAG - &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>, - <&mmnrt_virt MASTER_CAMNOC_SF RPM_ALWAYS_TAG - &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>; - interconnect-names = "ahb", - "hf_mnoc", - "sf_mnoc"; - - iommus = <&apps_smmu 0x400 0x0>; - power-domains = <&gcc GCC_CAMSS_TOP_GDSC>; - - status = "disabled"; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - }; - - port@1 { - reg = <1>; - }; - }; - }; - sdhc_ice: crypto@4748000 { compatible = "qcom,shikra-inline-crypto-engine", "qcom,inline-crypto-engine"; From 2fd6f550a6bde791f3531a3b571a8e9ed126df4f Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:40:23 +0530 Subject: [PATCH 06/15] Revert "FROMLIST: media: qcom: camss: add support for QCM2390 camss" This reverts commit 45a4320269cd2d2a42c222c3a3a0458d3c86e94b. --- .../platform/qcom/camss/camss-csiphy-3ph-1-0.c | 2 -- drivers/media/platform/qcom/camss/camss-vfe.c | 1 - drivers/media/platform/qcom/camss/camss.c | 14 -------------- drivers/media/platform/qcom/camss/camss.h | 1 - 4 files changed, 18 deletions(-) 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 fe88f0db8e104..43fc00b04743a 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 @@ -1428,7 +1428,6 @@ static bool csiphy_is_gen2(u32 version) switch (version) { case CAMSS_2290: - case CAMSS_2390: case CAMSS_6150: case CAMSS_7280: case CAMSS_8250: @@ -1470,7 +1469,6 @@ static void csiphy_lanes_enable(struct csiphy_device *csiphy, } break; case CAMSS_2290: - case CAMSS_2390: case CAMSS_6150: if (c->phy_cfg == V4L2_MBUS_CSI2_DPHY) { regs->lane_regs = &lane_regs_qcm2290[0]; diff --git a/drivers/media/platform/qcom/camss/camss-vfe.c b/drivers/media/platform/qcom/camss/camss-vfe.c index 308fb63c79e14..95858afa7116f 100644 --- a/drivers/media/platform/qcom/camss/camss-vfe.c +++ b/drivers/media/platform/qcom/camss/camss-vfe.c @@ -342,7 +342,6 @@ static u32 vfe_src_pad_code(struct vfe_line *line, u32 sink_code, break; case CAMSS_660: case CAMSS_2290: - case CAMSS_2390: case CAMSS_6150: case CAMSS_7280: case CAMSS_8x96: diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c index ee592a1633552..aaf4d956a353c 100644 --- a/drivers/media/platform/qcom/camss/camss.c +++ b/drivers/media/platform/qcom/camss/camss.c @@ -5465,19 +5465,6 @@ static const struct camss_resources qcm2290_resources = { .vfe_num = ARRAY_SIZE(vfe_res_2290), }; -static const struct camss_resources qcm2390_resources = { - .version = CAMSS_2390, - .legacy_phy = true, - .csiphy_res = csiphy_res_2290, - .csid_res = csid_res_2290, - .vfe_res = vfe_res_2290, - .icc_res = icc_res_2290, - .icc_path_num = ARRAY_SIZE(icc_res_2290), - .csiphy_num = ARRAY_SIZE(csiphy_res_2290), - .csid_num = ARRAY_SIZE(csid_res_2290), - .vfe_num = ARRAY_SIZE(vfe_res_2290), -}; - static const struct camss_resources qcs8300_resources = { .version = CAMSS_8300, .pd_name = "top", @@ -5679,7 +5666,6 @@ static const struct of_device_id camss_dt_match[] = { { .compatible = "qcom,sdm660-camss", .data = &sdm660_resources }, { .compatible = "qcom,sdm670-camss", .data = &sdm670_resources }, { .compatible = "qcom,sdm845-camss", .data = &sdm845_resources }, - { .compatible = "qcom,shikra-camss", .data = &qcm2390_resources }, { .compatible = "qcom,sm6150-camss", .data = &sm6150_resources }, { .compatible = "qcom,sm8250-camss", .data = &sm8250_resources }, { .compatible = "qcom,sm8550-camss", .data = &sm8550_resources }, diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h index fc79e24f98f9e..4d71735e3c98b 100644 --- a/drivers/media/platform/qcom/camss/camss.h +++ b/drivers/media/platform/qcom/camss/camss.h @@ -82,7 +82,6 @@ enum pm_domain { enum camss_version { CAMSS_660, CAMSS_2290, - CAMSS_2390, CAMSS_6150, CAMSS_7280, CAMSS_8x16, From 44fa254199d48c19518efefd71b7c68d1523b0c8 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:41:20 +0530 Subject: [PATCH 07/15] Revert "FROMLIST: dt-bindings: i2c: qcom-cci: Document Shikra compatible" This reverts commit d31b1253fcf77954c80eee3aaf3172bffd18253b. --- Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml index 0c13841b87622..35d3a0685ac44 100644 --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml @@ -34,7 +34,6 @@ properties: - qcom,sc8280xp-cci - qcom,sdm670-cci - qcom,sdm845-cci - - qcom,shikra-cci - qcom,sm6150-cci - qcom,sm6350-cci - qcom,sm8250-cci @@ -137,7 +136,6 @@ allOf: - qcom,kaanapali-cci - qcom,qcm2290-cci - qcom,qcs8300-cci - - qcom,shikra-cci - qcom,sm8750-cci then: properties: From 6929ff6442124f7b33c53891e2faaf4b98d71d9b Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Wed, 16 Sep 2026 14:41:29 +0530 Subject: [PATCH 08/15] Revert "FROMLIST: dt-bindings: media: qcom: Add Shikra CAMSS compatible" This reverts commit 8901c4b86dc7bb8965cad42c517afa3bf005b880. --- .../devicetree/bindings/media/qcom,qcm2290-camss.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml b/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml index 7b1469d6a1601..391d0f6f67ef5 100644 --- a/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml @@ -8,16 +8,13 @@ title: Qualcomm QCM2290 Camera Subsystem (CAMSS) maintainers: - Loic Poulain - - Nihal Kumar Gupta description: The CAMSS IP is a CSI decoder and ISP present on Qualcomm platforms. properties: compatible: - enum: - - qcom,qcm2290-camss - - qcom,shikra-camss + const: qcom,qcm2290-camss reg: maxItems: 9 @@ -79,7 +76,6 @@ properties: - const: sf_mnoc iommus: - minItems: 1 maxItems: 4 power-domains: From 6577a725253defb8de7ee9ea7e9b332845b7c36f Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Mon, 8 Jun 2026 19:36:39 +0530 Subject: [PATCH 09/15] FROMLIST: dt-bindings: i2c: qcom-cci: Document Shikra compatible Add Shikra compatible consistent with CAMSS CCI interfaces. It requires only two clocks. Link: https://lore.kernel.org/all/20260608-shikra-camss-review-v2-2-ca1936bf1219@oss.qualcomm.com/ Reviewed-by: Wolfram Sang Reviewed-by: Bryan O'Donoghue Reviewed-by: Vladimir Zapolskiy Reviewed-by: Loic Poulain Signed-off-by: Nihal Kumar Gupta --- Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml index 35d3a0685ac44..0c13841b87622 100644 --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-cci.yaml @@ -34,6 +34,7 @@ properties: - qcom,sc8280xp-cci - qcom,sdm670-cci - qcom,sdm845-cci + - qcom,shikra-cci - qcom,sm6150-cci - qcom,sm6350-cci - qcom,sm8250-cci @@ -136,6 +137,7 @@ allOf: - qcom,kaanapali-cci - qcom,qcm2290-cci - qcom,qcs8300-cci + - qcom,shikra-cci - qcom,sm8750-cci then: properties: From b64f739c7f32c70411ecb2706c2e2027ee5fad90 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Thu, 23 Jul 2026 10:13:55 +0530 Subject: [PATCH 10/15] FROMLIST: dt-bindings: media: qcom: Add Shikra CAMSS compatible Shikra contains the same Camera Subsystem IP as QCM2290. Document the platform-specific compatible string, using qcom,qcm2290-camss as fallback. Unlike QCM2290, Shikra omits the CDM and OPE blocks, requiring only a single IOMMU context bank instead of four. Link: https://lore.kernel.org/all/20260723-shikra-camss-review-v6-1-7c46f9bbb4db@oss.qualcomm.com/ Reviewed-by: Bryan O'Donoghue Reviewed-by: Krzysztof Kozlowski Reviewed-by: Vladimir Zapolskiy Signed-off-by: Nihal Kumar Gupta --- .../bindings/media/qcom,qcm2290-camss.yaml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml b/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml index 391d0f6f67ef5..490a7f3a8c5ff 100644 --- a/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml +++ b/Documentation/devicetree/bindings/media/qcom,qcm2290-camss.yaml @@ -14,7 +14,11 @@ description: properties: compatible: - const: qcom,qcm2290-camss + oneOf: + - items: + - const: qcom,shikra-camss + - const: qcom,qcm2290-camss + - const: qcom,qcm2290-camss reg: maxItems: 9 @@ -76,7 +80,14 @@ properties: - const: sf_mnoc iommus: - maxItems: 4 + oneOf: + - items: + - description: S1 HLOS VFE non-protected (VFE only) + - items: + - description: S1 HLOS VFE non-protected + - description: S1 HLOS CDM non-protected + - description: S1 HLOS OPE read non-protected + - description: S1 HLOS OPE write non-protected power-domains: items: From 8afe17fee74111d91d45923ff4312da29315f365 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Thu, 6 Aug 2026 17:13:26 +0530 Subject: [PATCH 11/15] FROMLIST: arm64: dts: qcom: shikra: Add CAMSS node Add the Camera Subsystem node. Shikra shares the same IP as QCM2290 with two CSIPHYs, two CSIDs and two VFEs, but does not include CDM and OPE blocks, so only a single IOMMU context bank is needed. Link: https://lore.kernel.org/all/20260806-shikra-camss-review-v7-1-c7360fd6a5ac@oss.qualcomm.com/ Co-developed-by: Vikram Sharma Signed-off-by: Vikram Sharma Reviewed-by: Bryan O'Donoghue Reviewed-by: Vladimir Zapolskiy Signed-off-by: Nihal Kumar Gupta --- arch/arm64/boot/dts/qcom/shikra.dtsi | 100 +++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi index 5c118c9c8da0d..6f24e07066acf 100644 --- a/arch/arm64/boot/dts/qcom/shikra.dtsi +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi @@ -2466,6 +2466,106 @@ }; }; + camss: camss@5c11000 { + compatible = "qcom,shikra-camss", "qcom,qcm2290-camss"; + + reg = <0x0 0x05c11000 0x0 0x1000>, + <0x0 0x05c6e000 0x0 0x1000>, + <0x0 0x05c75000 0x0 0x1000>, + <0x0 0x05c52000 0x0 0x1000>, + <0x0 0x05c53000 0x0 0x1000>, + <0x0 0x05c66000 0x0 0x400>, + <0x0 0x05c68000 0x0 0x400>, + <0x0 0x05c6f000 0x0 0x4000>, + <0x0 0x05c76000 0x0 0x4000>; + reg-names = "top", + "csid0", + "csid1", + "csiphy0", + "csiphy1", + "csitpg0", + "csitpg1", + "vfe0", + "vfe1"; + + clocks = <&gcc GCC_CAMERA_AHB_CLK>, + <&gcc GCC_CAMSS_AXI_CLK>, + <&gcc GCC_CAMSS_NRT_AXI_CLK>, + <&gcc GCC_CAMSS_RT_AXI_CLK>, + <&gcc GCC_CAMSS_TFE_0_CSID_CLK>, + <&gcc GCC_CAMSS_TFE_1_CSID_CLK>, + <&gcc GCC_CAMSS_CPHY_0_CLK>, + <&gcc GCC_CAMSS_CSI0PHYTIMER_CLK>, + <&gcc GCC_CAMSS_CPHY_1_CLK>, + <&gcc GCC_CAMSS_CSI1PHYTIMER_CLK>, + <&gcc GCC_CAMSS_TOP_AHB_CLK>, + <&gcc GCC_CAMSS_TFE_0_CLK>, + <&gcc GCC_CAMSS_TFE_0_CPHY_RX_CLK>, + <&gcc GCC_CAMSS_TFE_1_CLK>, + <&gcc GCC_CAMSS_TFE_1_CPHY_RX_CLK>; + clock-names = "ahb", + "axi", + "camnoc_nrt_axi", + "camnoc_rt_axi", + "csi0", + "csi1", + "csiphy0", + "csiphy0_timer", + "csiphy1", + "csiphy1_timer", + "top_ahb", + "vfe0", + "vfe0_cphy_rx", + "vfe1", + "vfe1_cphy_rx"; + + interrupts = , + , + , + , + , + , + , + ; + interrupt-names = "csid0", + "csid1", + "csiphy0", + "csiphy1", + "csitpg0", + "csitpg1", + "vfe0", + "vfe1"; + + interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ACTIVE_TAG + &config_noc SLAVE_CAMERA_CFG RPM_ACTIVE_TAG>, + <&mmrt_virt MASTER_CAMNOC_HF RPM_ALWAYS_TAG + &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>, + <&mmnrt_virt MASTER_CAMNOC_SF RPM_ALWAYS_TAG + &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>; + interconnect-names = "ahb", + "hf_mnoc", + "sf_mnoc"; + + iommus = <&apps_smmu 0x400 0x0>; + + power-domains = <&gcc GCC_CAMSS_TOP_GDSC>; + + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + }; + + port@1 { + reg = <1>; + }; + }; + }; + remoteproc_mpss: remoteproc@6080000 { compatible = "qcom,shikra-mpss-pas"; reg = <0x0 0x06080000 0x0 0x100>; From ead0666e4bef5f41374f6a146d3cd79c9ee33ee9 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Thu, 6 Aug 2026 17:13:27 +0530 Subject: [PATCH 12/15] FROMLIST: arm64: dts: qcom: shikra: Add CCI definitions Qualcomm Shikra SoC has one Camera Control Interface (CCI) containing two I2C hosts. Link: https://lore.kernel.org/all/20260806-shikra-camss-review-v7-2-c7360fd6a5ac@oss.qualcomm.com/ Reviewed-by: Bryan O'Donoghue Reviewed-by: Vladimir Zapolskiy Reviewed-by: Loic Poulain Signed-off-by: Nihal Kumar Gupta --- arch/arm64/boot/dts/qcom/shikra.dtsi | 69 ++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi index 6f24e07066acf..9df92e3a9aa86 100644 --- a/arch/arm64/boot/dts/qcom/shikra.dtsi +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi @@ -925,6 +925,38 @@ bias-disable; }; + cci_i2c0_default: cci-i2c0-default-state { + /* SDA, SCL */ + pins = "gpio36", "gpio37"; + function = "cci_i2c0"; + drive-strength = <2>; + bias-pull-up; + }; + + cci_i2c0_sleep: cci-i2c0-sleep-state { + /* SDA, SCL */ + pins = "gpio36", "gpio37"; + function = "cci_i2c0"; + drive-strength = <2>; + bias-pull-down; + }; + + cci_i2c1_default: cci-i2c1-default-state { + /* SDA, SCL */ + pins = "gpio41", "gpio42"; + function = "cci_i2c1"; + drive-strength = <2>; + bias-pull-up; + }; + + cci_i2c1_sleep: cci-i2c1-sleep-state { + /* SDA, SCL */ + pins = "gpio41", "gpio42"; + function = "cci_i2c1"; + drive-strength = <2>; + bias-pull-down; + }; + sdc1_state_on: sdc1-on-state { clk-pins { pins = "sdc1_clk"; @@ -2566,6 +2598,43 @@ }; }; + cci: cci@5c1b000 { + compatible = "qcom,shikra-cci", "qcom,msm8996-cci"; + reg = <0x0 0x05c1b000 0x0 0x1000>; + + interrupts = ; + + clocks = <&gcc GCC_CAMSS_TOP_AHB_CLK>, + <&gcc GCC_CAMSS_CCI_0_CLK>; + clock-names = "ahb", + "cci"; + + power-domains = <&gcc GCC_CAMSS_TOP_GDSC>; + + pinctrl-0 = <&cci_i2c0_default &cci_i2c1_default>; + pinctrl-1 = <&cci_i2c0_sleep &cci_i2c1_sleep>; + pinctrl-names = "default", "sleep"; + + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + + cci_i2c0: i2c-bus@0 { + reg = <0>; + clock-frequency = <400000>; + #address-cells = <1>; + #size-cells = <0>; + }; + + cci_i2c1: i2c-bus@1 { + reg = <1>; + clock-frequency = <400000>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + remoteproc_mpss: remoteproc@6080000 { compatible = "qcom,shikra-mpss-pas"; reg = <0x0 0x06080000 0x0 0x100>; From aaa9868482b20dd698e832383a6736569737d62f Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Thu, 6 Aug 2026 17:13:28 +0530 Subject: [PATCH 13/15] FROMLIST: arm64: dts: qcom: shikra: Add pin configuration for mclks Add pinctrl configuration for the four available camera master clocks. Link: https://lore.kernel.org/all/20260806-shikra-camss-review-v7-3-c7360fd6a5ac@oss.qualcomm.com/ Reviewed-by: Bryan O'Donoghue Reviewed-by: Vladimir Zapolskiy Reviewed-by: Konrad Dybcio Signed-off-by: Nihal Kumar Gupta --- arch/arm64/boot/dts/qcom/shikra.dtsi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi index 9df92e3a9aa86..2af2ca1897b95 100644 --- a/arch/arm64/boot/dts/qcom/shikra.dtsi +++ b/arch/arm64/boot/dts/qcom/shikra.dtsi @@ -957,6 +957,34 @@ bias-pull-down; }; + cam_mclk0_default: cam-mclk0-default-state { + pins = "gpio34"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + cam_mclk1_default: cam-mclk1-default-state { + pins = "gpio35"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + cam_mclk2_default: cam-mclk2-default-state { + pins = "gpio96"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + + cam_mclk3_default: cam-mclk3-default-state { + pins = "gpio98"; + function = "cam_mclk"; + drive-strength = <2>; + bias-disable; + }; + sdc1_state_on: sdc1-on-state { clk-pins { pins = "sdc1_clk"; From 519d8f0772ec640784dd32168ba8c86d15137413 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Thu, 6 Aug 2026 17:13:29 +0530 Subject: [PATCH 14/15] FROMLIST: arm64: dts: qcom: shikra-cqm-cqs-evk-imx577-camera: Add DT overlay Shikra CQM and CQS are retail variants sharing the same PM4125 PMIC and identical camera supply rails. The only difference between them is the integrated modem on CQM, which does not affect camera hardware. Add a shared overlay for optional IMX577 integration via CSIPHY1, used by both CQM and CQS EVK boards. Link: https://lore.kernel.org/all/20260806-shikra-camss-review-v7-4-c7360fd6a5ac@oss.qualcomm.com/ Reviewed-by: Bryan O'Donoghue Reviewed-by: Vladimir Zapolskiy Signed-off-by: Nihal Kumar Gupta --- arch/arm64/boot/dts/qcom/Makefile | 5 ++ .../shikra-cqm-cqs-evk-imx577-camera.dtso | 79 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/shikra-cqm-cqs-evk-imx577-camera.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 05d2630d1e5ea..d36a44c538102 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -372,6 +372,11 @@ dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk.dtb +shikra-cqm-evk-imx577-camera-dtbs := shikra-cqm-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo +shikra-cqs-evk-imx577-camera-dtbs := shikra-cqs-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo + +dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-imx577-camera.dtb +dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-imx577-camera.dtb shikra-cqs-evk-camx-dtbs := shikra-cqs-evk.dtb shikra-cqs-evk-camx.dtbo dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-camx.dtb diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-cqs-evk-imx577-camera.dtso b/arch/arm64/boot/dts/qcom/shikra-cqm-cqs-evk-imx577-camera.dtso new file mode 100644 index 0000000000000..3a481d972cd27 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/shikra-cqm-cqs-evk-imx577-camera.dtso @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&camss { + vdd-csiphy-1p2-supply = <&pm4125_l5>; + vdd-csiphy-1p8-supply = <&pm4125_l13>; + + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + csiphy1_ep: endpoint { + data-lanes = <0 1 2 3>; + remote-endpoint = <&imx577_ep1>; + }; + }; + }; +}; + +&cci { + status = "okay"; +}; + +&cci_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + camera@1a { + compatible = "sony,imx577"; + reg = <0x1a>; + + reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&cam_mclk1_default &cam1_reset_default>; + pinctrl-names = "default"; + + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + assigned-clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + assigned-clock-rates = <24000000>; + + /* + * avdd and dvdd are supplied by on-board regulators on the + * IMX577 module from the connector's 3.3 V rail; they are + * not SoC-controlled. dovdd (1.8 V) powers the carrier board + * level-shifter that translates CCI I2C and reset lines + * between the SoC and the connector. + */ + dovdd-supply = <&pm4125_l15>; + + port { + imx577_ep1: endpoint { + link-frequencies = /bits/ 64 <600000000>; + data-lanes = <1 2 3 4>; + remote-endpoint = <&csiphy1_ep>; + }; + }; + }; +}; + +&tlmm { + cam1_reset_default: cam1-reset-default-state { + pins = "gpio33"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; +}; From ed75fc6a3c592660c72ed7066baf753b26a6f885 Mon Sep 17 00:00:00 2001 From: Nihal Kumar Gupta Date: Thu, 6 Aug 2026 17:13:30 +0530 Subject: [PATCH 15/15] FROMLIST: arm64: dts: qcom: shikra-iqs-evk-imx577-camera: Add DT overlay Shikra IQS is an industrial-grade variant using PM8150 PMIC, requiring different CSIPHY and sensor supply rails compared to the retail boards (CQM and CQS) which use PM4125. Add a dedicated overlay for optional IMX577 integration via CSIPHY1. Link: https://lore.kernel.org/all/20260806-shikra-camss-review-v7-5-c7360fd6a5ac@oss.qualcomm.com/ Reviewed-by: Bryan O'Donoghue Reviewed-by: Vladimir Zapolskiy Signed-off-by: Nihal Kumar Gupta --- arch/arm64/boot/dts/qcom/Makefile | 3 + .../qcom/shikra-iqs-evk-imx577-camera.dtso | 79 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index d36a44c538102..26e2d7e39c5d8 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -374,9 +374,12 @@ dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk.dtb shikra-cqm-evk-imx577-camera-dtbs := shikra-cqm-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo shikra-cqs-evk-imx577-camera-dtbs := shikra-cqs-evk.dtb shikra-cqm-cqs-evk-imx577-camera.dtbo +shikra-iqs-evk-imx577-camera-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-imx577-camera.dtbo dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-imx577-camera.dtb dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-imx577-camera.dtb +dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-imx577-camera.dtb + shikra-cqs-evk-camx-dtbs := shikra-cqs-evk.dtb shikra-cqs-evk-camx.dtbo dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-camx.dtb diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso b/arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso new file mode 100644 index 0000000000000..d8c968a918c67 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/shikra-iqs-evk-imx577-camera.dtso @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +/dts-v1/; +/plugin/; + +#include +#include + +&camss { + vdd-csiphy-1p2-supply = <&pm8150_l11>; + vdd-csiphy-1p8-supply = <&pm8150_l12>; + + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@1 { + reg = <1>; + + csiphy1_ep: endpoint { + data-lanes = <0 1 2 3>; + remote-endpoint = <&imx577_ep1>; + }; + }; + }; +}; + +&cci { + status = "okay"; +}; + +&cci_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + camera@1a { + compatible = "sony,imx577"; + reg = <0x1a>; + + reset-gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&cam_mclk1_default &cam1_reset_default>; + pinctrl-names = "default"; + + clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + assigned-clocks = <&gcc GCC_CAMSS_MCLK1_CLK>; + assigned-clock-rates = <24000000>; + + /* + * avdd and dvdd are supplied by on-board regulators on the + * IMX577 module from the connector's 3.3 V rail; they are + * not SoC-controlled. dovdd (1.8 V) powers the carrier board + * level-shifter that translates CCI I2C and reset lines + * between the SoC and the connector. + */ + dovdd-supply = <&pm8150_l15>; + + port { + imx577_ep1: endpoint { + link-frequencies = /bits/ 64 <600000000>; + data-lanes = <1 2 3 4>; + remote-endpoint = <&csiphy1_ep>; + }; + }; + }; +}; + +&tlmm { + cam1_reset_default: cam1-reset-default-state { + pins = "gpio33"; + function = "gpio"; + drive-strength = <2>; + bias-disable; + }; +};