回复: [v3] riscv: dts: starfive: jh7110: Add camera subsystem nodes

From: Changhuang Liang
Date: Sun Oct 13 2024 - 21:24:29 EST


Hi, Aurelien

>
> Hi,
>
> On 2024-02-18 19:27, Changhuang Liang wrote:
> > Add camera subsystem nodes for the StarFive JH7110 SoC. They contain
> > the dphy-rx, csi2rx, camss nodes.
> >
> > Signed-off-by: Changhuang Liang <changhuang.liang@xxxxxxxxxxxxxxxx>
> > ---
> > .../jh7110-starfive-visionfive-2.dtsi | 49 ++++++++++++++
> > arch/riscv/boot/dts/starfive/jh7110.dtsi | 67
> +++++++++++++++++++
> > 2 files changed, 116 insertions(+)
>
> We have been asked to enable CONFIG_VIDEO_STARFIVE_CAMSS in the
> Debian kernel, which from my understanding and given the device tree shown
> below also requires enabling CONFIG_VIDEO_CADENCE_CSI2RX. That said
> doing so triggers the following error in dmesg:
>
> [ 25.143282] cdns-csi2rx 19800000.csi: probe with driver cdns-csi2rx
> failed with error -22
>
> From a quick look it seems there is something in the port@0 csi2rx entry. Do
> you happen to know what is wrong?
>

You need to add your sensor node. You can refer to this patch:
https://patchwork.kernel.org/project/linux-riscv/patch/20240119100639.84029-3-changhuang.liang@xxxxxxxxxxxxxxxx/

We suggest that using the imx219

> Thanks
> Aurelien
>
> > diff --git
> > a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> > b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> > index b89e9791efa7..737ee97a3577 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
> > @@ -125,6 +125,55 @@ &tdm_ext {
> > clock-frequency = <49152000>;
> > };
> >
> > +&camss {
> > + assigned-clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>,
> > + <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>;
> > + assigned-clock-rates = <49500000>, <198000000>;
> > + status = "okay";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > +
> > + camss_from_csi2rx: endpoint {
> > + remote-endpoint = <&csi2rx_to_camss>;
> > + };
> > + };
> > + };
> > +};
> > +
> > +&csi2rx {
> > + assigned-clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>;
> > + assigned-clock-rates = <297000000>;
> > + status = "okay";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > +
> > + /* remote MIPI sensor endpoint */
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > +
> > + csi2rx_to_camss: endpoint {
> > + remote-endpoint = <&camss_from_csi2rx>;
> > + };
> > + };
> > + };
> > +};
> > +
> > &gmac0 {
> > phy-handle = <&phy0>;
> > phy-mode = "rgmii-id";
>
>
> --
> Aurelien Jarno GPG: 4096R/1DDD8C9B
> aurelien@xxxxxxxxxxx http://aurel32.net

Thanks,
changhuang