Message ID | 20211111161542.3936425-1-bryan.odonoghue@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | CAMSS: Add SM8250 support | expand |
Hey Bryan, I tested the patch series on the RB5 Vision Kit and verified that capturing frames from the IMX577/IMX412 camera using yavta and libcamera is working as expected. The captured data is padded to a 16-byte boundary for each line in the frame. I was using a simple python/opencv script to verify that the frame is not corrupted and that the reported image format (4056x3040-SRGGB10_CSI2P) makes sense (keeping the 16-byte boundary in mind). Please add my t-b. Tested-by: Julian Grahsl <jgrahsl@snap.com> root@qrb5165-rb5:~# cam -c 1 --capture=10 --file=frame1.bin Using camera /base/soc@0/cci@ac50000/i2c-bus@0/camera@1a as cam0 [0:38:31.392452919] [1404] INFO Camera camera.cpp:945 configuring streams: (0) 4056x3040-SRGGB10_CSI2P cam0: Capture 10 frames 2311.682879 (0.00 fps) cam0-stream0 seq: 000000 bytesused: 15418880 2311.716190 (30.02 fps) cam0-stream0 seq: 000001 bytesused: 15418880 2311.749522 (30.00 fps) cam0-stream0 seq: 000002 bytesused: 15418880 2311.782852 (30.00 fps) cam0-stream0 seq: 000003 bytesused: 15418880 2311.816347 (29.86 fps) cam0-stream0 seq: 000004 bytesused: 15418880 2311.849604 (30.07 fps) cam0-stream0 seq: 000005 bytesused: 15418880 2311.882934 (30.00 fps) cam0-stream0 seq: 000006 bytesused: 15418880 2311.916272 (30.00 fps) cam0-stream0 seq: 000007 bytesused: 15418880 2311.949611 (29.99 fps) cam0-stream0 seq: 000008 bytesused: 15418880 2311.982931 (30.01 fps) cam0-stream0 seq: 000009 bytesused: 15418880 On Thu, Nov 11, 2021 at 5:13 PM Bryan O'Donoghue <bryan.odonoghue@linaro.org> wrote: > > RESEND: git send-email --to=inux-arm-msm@vger.kernel.org -> --to=linux-arm-msm@vger.kernel.org > > This series is imported from excellent enabling work contributed by > Jonathan Marek which we have picked up in Linaro for the RB5 project. > > Link: https://patchwork.kernel.org/project/linux-arm-msm/patch/20210511180728.23781-2-jonathan@marek.ca/ > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.qualcomm.com_products_robotics-2Drb5-2Dplatform&d=DwIDAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=WMvYsMZYRjlckS0DeCYqNiuOSbMJMG-a0iXUWTmfVNw&m=M_FfZyy6tanOleebHlyZCt13urClXtUo40bzp3DK5Lufj5aEBaA6pMaGR7QKm95Y&s=SCOC2iFYWetFrxGV5JvxaxnZAD77TbbP2aImnbzzgZI&e= > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.96boards.org_product_qualcomm-2Drobotics-2Drb5&d=DwIDAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=WMvYsMZYRjlckS0DeCYqNiuOSbMJMG-a0iXUWTmfVNw&m=M_FfZyy6tanOleebHlyZCt13urClXtUo40bzp3DK5Lufj5aEBaA6pMaGR7QKm95Y&s=mB63BeH3Hwdmzz8OXly-62OKS33Hk_aVqJJLN6xmD40&e= > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.thundercomm.com_app-5Fen_product_1590131656070623-3Findex-3D1-26categoryId-3Dcategory0-26tabIndex-3D1&d=DwIDAg&c=ncDTmphkJTvjIDPh0hpF_4vCHvabgGkICC2epckfdiw&r=WMvYsMZYRjlckS0DeCYqNiuOSbMJMG-a0iXUWTmfVNw&m=M_FfZyy6tanOleebHlyZCt13urClXtUo40bzp3DK5Lufj5aEBaA6pMaGR7QKm95Y&s=VltqdAczXJiZKDatFp-6UdrSyaZ9hU4IOma3vCqp8Cw&e= > > The RB5 has a slightly different sku I think to Jonathan's platform - > QRB5165 in our case with a different version of LK the relevant bootloader > for the board. > > As a result we needed to make some additional updates to the provided > patcheset, included here. > > The most notable changes are: > > - Addition of clocks. > - Addition of bandwidth settings. > - Representing the dependency on a VFE for a given CSID so that V4L > subdevs will come out of reset right when poked. > > A full tree which is bootable and capable of producing pixel data from the > imx577 main sensor is availble here, with this series being a sub-set of > the necessary patches on the SoC side only. > > Link: https://git.linaro.org/people/bryan.odonoghue/kernel.git/log/?h=v5.16-rc1-sm8250-camss-imx577-only > > media-ctl --reset > media-ctl -v -d /dev/media0 -V '"imx412 '20-001a'":0[fmt:SRGGB10/4056x3040 field:none]' > media-ctl -V '"msm_csiphy2":0[fmt:SRGGB10/4056x3040]' > media-ctl -V '"msm_csid0":0[fmt:SRGGB10/4056x3040]' > media-ctl -V '"msm_vfe0_rdi0":0[fmt:SRGGB10/4056x3040]' > media-ctl -l '"msm_csiphy2":1->"msm_csid0":0[1]' > media-ctl -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]' > > yavta -B capture-mplane -c -I -n 5 -f SRGGB10P -s 4056x3040 -F /dev/video0 > > Bryan O'Donoghue (2): > media: camss: Add SM8250 bandwdith configuration support > media: camss: Do vfe_get/vfe_put for csid on sm8250 > > Jonathan Marek (16): > media: dt-bindings: media: camss: Add qcom,sm8250-camss binding > media: camss: csiphy-3ph: don't print HW version as an error > media: camss: csiphy-3ph: disable interrupts > media: camss: csiphy-3ph: add support for SM8250 CSI DPHY > media: camss: csid-170: fix non-10bit formats > media: camss: csid-170: don't enable unused irqs > media: camss: csid-170: remove stray comment > media: camss: csid-170: support more than one lite vfe > media: camss: csid-170: set the right HALT_CMD when disabled > media: camss: csid: allow csid to work without a regulator > media: camss: remove vdda-csiN from sdm845 resources > media: camss: fix VFE irq name > media: camss: vfe-170: fix "VFE halt timeout" error > media: camss: Add initial support for VFE hardware version Titan 480 > media: camss: add support for V4L2_PIX_FMT_GREY for sdm845 HW > media: camss: add support for SM8250 camss > > .../bindings/media/qcom,sm8250-camss.yaml | 450 ++++++++++++++ > drivers/media/platform/qcom/camss/Makefile | 3 +- > .../{camss-csid-170.c => camss-csid-gen2.c} | 32 +- > .../media/platform/qcom/camss/camss-csid.c | 55 +- > .../media/platform/qcom/camss/camss-csid.h | 2 +- > .../qcom/camss/camss-csiphy-3ph-1-0.c | 184 ++++-- > .../media/platform/qcom/camss/camss-csiphy.c | 9 +- > .../media/platform/qcom/camss/camss-vfe-170.c | 12 +- > .../media/platform/qcom/camss/camss-vfe-480.c | 548 ++++++++++++++++++ > drivers/media/platform/qcom/camss/camss-vfe.c | 17 +- > drivers/media/platform/qcom/camss/camss-vfe.h | 4 + > .../media/platform/qcom/camss/camss-video.c | 5 +- > drivers/media/platform/qcom/camss/camss.c | 298 +++++++++- > drivers/media/platform/qcom/camss/camss.h | 18 + > 14 files changed, 1533 insertions(+), 104 deletions(-) > create mode 100644 Documentation/devicetree/bindings/media/qcom,sm8250-camss.yaml > rename drivers/media/platform/qcom/camss/{camss-csid-170.c => camss-csid-gen2.c} (95%) > create mode 100644 drivers/media/platform/qcom/camss/camss-vfe-480.c > > -- > 2.33.0 >