[PATCH 0/4] CAMSS support for MSM8939

Vincent Knecht via B4 Relay posted 4 patches 7 months ago
There is a newer version of this series
.../bindings/media/qcom,msm8939-camss.yaml         | 269 +++++++++++++++++++++
arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi       |   4 +
arch/arm64/boot/dts/qcom/msm8939.dtsi              | 152 ++++++++++++
drivers/media/platform/qcom/camss/Makefile         |   1 +
drivers/media/platform/qcom/camss/camss-csiphy.c   |   1 +
drivers/media/platform/qcom/camss/camss-ispif.c    |   8 +-
drivers/media/platform/qcom/camss/camss-vfe-4-1.c  |  11 +
drivers/media/platform/qcom/camss/camss-vfe-vbif.c |  37 +++
drivers/media/platform/qcom/camss/camss-vfe-vbif.h |  19 ++
drivers/media/platform/qcom/camss/camss-vfe.c      |  10 +
drivers/media/platform/qcom/camss/camss-vfe.h      |   3 +
drivers/media/platform/qcom/camss/camss.c          | 157 ++++++++++++
drivers/media/platform/qcom/camss/camss.h          |   1 +
13 files changed, 671 insertions(+), 2 deletions(-)
[PATCH 0/4] CAMSS support for MSM8939
Posted by Vincent Knecht via B4 Relay 7 months ago
This series adds CAMSS support for MSM8939.
It's mostly identical to MSM8916, except for some clocks
and an additional CSI.

To fix black stripes across sensor output, and garbage in
CSID TPG output, 2 VFE VBIF register settings are needed.
So the 1st patch adds helper functions to do just that.

Patch 1: adds helper for VFE VBIF settings
Patch 2: adds CAMSS_8x39 version in CAMSS driver
Patch 3: documents qcom,msm8939-camss DT bindings
Patch 4: adds camss and cci in msm8939.dtsi

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
---
Vincent Knecht (4):
      media: qcom: camss: vfe: Add VBIF setting support
      media: qcom: camss: Add support for MSM8939
      media: dt-bindings: Add qcom,msm8939-camss
      arm64: dts: qcom: msm8939: Add camss and cci

 .../bindings/media/qcom,msm8939-camss.yaml         | 269 +++++++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi       |   4 +
 arch/arm64/boot/dts/qcom/msm8939.dtsi              | 152 ++++++++++++
 drivers/media/platform/qcom/camss/Makefile         |   1 +
 drivers/media/platform/qcom/camss/camss-csiphy.c   |   1 +
 drivers/media/platform/qcom/camss/camss-ispif.c    |   8 +-
 drivers/media/platform/qcom/camss/camss-vfe-4-1.c  |  11 +
 drivers/media/platform/qcom/camss/camss-vfe-vbif.c |  37 +++
 drivers/media/platform/qcom/camss/camss-vfe-vbif.h |  19 ++
 drivers/media/platform/qcom/camss/camss-vfe.c      |  10 +
 drivers/media/platform/qcom/camss/camss-vfe.h      |   3 +
 drivers/media/platform/qcom/camss/camss.c          | 157 ++++++++++++
 drivers/media/platform/qcom/camss/camss.h          |   1 +
 13 files changed, 671 insertions(+), 2 deletions(-)
---
base-commit: 8566fc3b96539e3235909d6bdda198e1282beaed
change-id: 20250517-camss-8x39-vbif-975ff5819198

Best regards,
-- 
Vincent Knecht <vincent.knecht@mailoo.org>
Re: [PATCH 0/4] CAMSS support for MSM8939
Posted by Rob Herring (Arm) 7 months ago
On Tue, 20 May 2025 20:39:05 +0200, Vincent Knecht wrote:
> This series adds CAMSS support for MSM8939.
> It's mostly identical to MSM8916, except for some clocks
> and an additional CSI.
> 
> To fix black stripes across sensor output, and garbage in
> CSID TPG output, 2 VFE VBIF register settings are needed.
> So the 1st patch adds helper functions to do just that.
> 
> Patch 1: adds helper for VFE VBIF settings
> Patch 2: adds CAMSS_8x39 version in CAMSS driver
> Patch 3: documents qcom,msm8939-camss DT bindings
> Patch 4: adds camss and cci in msm8939.dtsi
> 
> Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
> ---
> Vincent Knecht (4):
>       media: qcom: camss: vfe: Add VBIF setting support
>       media: qcom: camss: Add support for MSM8939
>       media: dt-bindings: Add qcom,msm8939-camss
>       arm64: dts: qcom: msm8939: Add camss and cci
> 
>  .../bindings/media/qcom,msm8939-camss.yaml         | 269 +++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/msm8939-pm8916.dtsi       |   4 +
>  arch/arm64/boot/dts/qcom/msm8939.dtsi              | 152 ++++++++++++
>  drivers/media/platform/qcom/camss/Makefile         |   1 +
>  drivers/media/platform/qcom/camss/camss-csiphy.c   |   1 +
>  drivers/media/platform/qcom/camss/camss-ispif.c    |   8 +-
>  drivers/media/platform/qcom/camss/camss-vfe-4-1.c  |  11 +
>  drivers/media/platform/qcom/camss/camss-vfe-vbif.c |  37 +++
>  drivers/media/platform/qcom/camss/camss-vfe-vbif.h |  19 ++
>  drivers/media/platform/qcom/camss/camss-vfe.c      |  10 +
>  drivers/media/platform/qcom/camss/camss-vfe.h      |   3 +
>  drivers/media/platform/qcom/camss/camss.c          | 157 ++++++++++++
>  drivers/media/platform/qcom/camss/camss.h          |   1 +
>  13 files changed, 671 insertions(+), 2 deletions(-)
> ---
> base-commit: 8566fc3b96539e3235909d6bdda198e1282beaed
> change-id: 20250517-camss-8x39-vbif-975ff5819198
> 
> Best regards,
> --
> Vincent Knecht <vincent.knecht@mailoo.org>
> 
> 
> 


My bot found new DTB warnings on the .dts files added or changed in this
series.

Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.

If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:

  pip3 install dtschema --upgrade


This patch series was applied (using b4) to base:
 Base: using specified base-commit 8566fc3b96539e3235909d6bdda198e1282beaed

If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)

New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250520-camss-8x39-vbif-v1-0-a12cd6006af9@mailoo.org:

arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-huawei-kiwi.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-huawei-kiwi.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-huawei-kiwi.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-huawei-kiwi.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-huawei-kiwi.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-huawei-kiwi.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/apq8039-t2.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/apq8039-t2.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/apq8039-t2.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/apq8039-t2.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/apq8039-t2.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/apq8039-t2.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-sony-xperia-kanuti-tulip.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8929-wingtech-wt82918hd.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-samsung-a7.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-longcheer-l9100.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:0: 'camss_top_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-longcheer-l9100.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:1: 'cci_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-longcheer-l9100.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:2: 'cci' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-longcheer-l9100.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names:3: 'camss_ahb' was expected
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-longcheer-l9100.dtb: cci@1b0c000 (qcom,msm8916-cci): clock-names: ['ispif_ahb', 'camss_top_ahb', 'cci_ahb', 'cci', 'camss_ahb'] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#
arch/arm64/boot/dts/qcom/msm8939-longcheer-l9100.dtb: cci@1b0c000 (qcom,msm8916-cci): clocks: [[31, 86], [31, 96], [31, 71], [31, 72], [31, 95]] is too long
	from schema $id: http://devicetree.org/schemas/i2c/qcom,i2c-cci.yaml#