Message ID | 20240629-camss_first_post_linux_next-v1-4-bc798edabc3a@quicinc.com |
---|---|
State | New |
Headers | show |
Series | media: qcom: camss: Add sc7280 support | expand |
On 28/06/2024 20:32, Vikram Sharma wrote: > Enable IMX577 camera sensor for qcs6490-rb3gen2. > > Signed-off-by: Hariram Purushothaman <quic_hariramp@quicinc.com> > Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com> > --- > arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 67 ++++++++++++++++++++++++++++ > 1 file changed, 67 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > index c4cde4328e3d..237231600dca 100644 > --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts > @@ -513,6 +513,73 @@ vreg_bob_3p296: bob { > }; > }; > > +&camcc { > + status = "okay"; > +}; > + > +&camss { > + status = "disabled"; > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + /* The port index denotes CSIPHY id i.e. csiphy2 */ > + port@3 { > + reg = <3>; > + csiphy3_ep: endpoint { > + clock-lanes = <7>; > + data-lanes = <0 1 2 3>; > + remote-endpoint = <&imx412_ep>; > + }; > + }; > + }; > +}; > + > +&cci0 { > + status = "okay"; > +}; > + > +&cci1 { > + status = "okay"; > +}; > + > +&cci1_i2c1 { > + camera@1a { > + /* > + * rb3gen2 ships with an imx577. qcom treats imx412 > + * and imx577 the same way. Absent better data do the same here. NAK, how qcom treats incorrect code, is not an correct argument. Use correct compatibles and correct bindings. > + */ > + compatible = "sony,imx412"; > + reg = <0x1a>; > + > + reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>; > + pinctrl-names = "default", "suspend"; > + pinctrl-0 = <&cam2_default>; > + pinctrl-1 = <&cam2_suspend>; > + > + clocks = <&camcc CAM_CC_MCLK3_CLK>, > + <&camcc CAM_CC_MCLK2_CLK>; > + assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>, > + <&camcc CAM_CC_MCLK2_CLK>; > + assigned-clock-rates = <24000000>, > + <24000000>; > + > + dovdd-supply = <&vreg_l18b_1p8>; > + /* avdd-supply = <&vdc_5v>; > + * dvdd-supply = <&vdc_5v>; What's this? Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts index c4cde4328e3d..237231600dca 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts @@ -513,6 +513,73 @@ vreg_bob_3p296: bob { }; }; +&camcc { + status = "okay"; +}; + +&camss { + status = "disabled"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* The port index denotes CSIPHY id i.e. csiphy2 */ + port@3 { + reg = <3>; + csiphy3_ep: endpoint { + clock-lanes = <7>; + data-lanes = <0 1 2 3>; + remote-endpoint = <&imx412_ep>; + }; + }; + }; +}; + +&cci0 { + status = "okay"; +}; + +&cci1 { + status = "okay"; +}; + +&cci1_i2c1 { + camera@1a { + /* + * rb3gen2 ships with an imx577. qcom treats imx412 + * and imx577 the same way. Absent better data do the same here. + */ + compatible = "sony,imx412"; + reg = <0x1a>; + + reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>; + pinctrl-names = "default", "suspend"; + pinctrl-0 = <&cam2_default>; + pinctrl-1 = <&cam2_suspend>; + + clocks = <&camcc CAM_CC_MCLK3_CLK>, + <&camcc CAM_CC_MCLK2_CLK>; + assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>, + <&camcc CAM_CC_MCLK2_CLK>; + assigned-clock-rates = <24000000>, + <24000000>; + + dovdd-supply = <&vreg_l18b_1p8>; + /* avdd-supply = <&vdc_5v>; + * dvdd-supply = <&vdc_5v>; + */ + + port { + imx412_ep: endpoint { + clock-lanes = <7>; + link-frequencies = /bits/ 64 <600000000>; + data-lanes = <0 1 2 3>; + remote-endpoint = <&csiphy3_ep>; + }; + }; + }; +}; + &gcc { protected-clocks = <GCC_CFG_NOC_LPASS_CLK>, <GCC_MSS_CFG_AHB_CLK>,