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

Changhuang Liang changhuang.liang at starfivetech.com
Sun Oct 13 18:08:51 PDT 2024


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 at starfivetech.com>
> > ---
> >  .../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 at 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@starfivetech.com/

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 at 0 {
> > +			reg = <0>;
> > +		};
> > +
> > +		port at 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 at 0 {
> > +			reg = <0>;
> > +
> > +			/* remote MIPI sensor endpoint */
> > +		};
> > +
> > +		port at 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 at aurel32.net                     http://aurel32.net

Thanks, 
changhuang



More information about the linux-riscv mailing list