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

Aurelien Jarno aurelien at aurel32.net
Sat Oct 12 06:29:28 PDT 2024


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?

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



More information about the linux-riscv mailing list