Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Nanopi-M4/General RK3399: rkisp failed to get clk

Featured Replies

I am trying to get a camera going on the Nanopi-m4 (I have tried another board as well with similar results). The sensor is setup in the device tree correctly and gets probed on boot. However there are some issues when loading rkisp1. 

 

[    5.645127] rkisp1 ff920000.isp1: Adding to iommu group 5
[    5.645695] rkisp1 ff920000.isp1: Failed to get clk 'clk_isp': -2
[    5.645814] rkisp1: probe of ff920000.isp1 failed with error -2

 

My understanding with Failed to get is because it is either being used by another resource or was not defined correctly. Below are my entries in the device tree for the isp. I am using `isp1` in this case, I am assuming as well that `ispl` is locked to `csi1` where my camera is located. 

 

	isp1: isp1@ff920000 {
		compatible = "rockchip,rk3399-cif-isp";
		reg = <0x0 0xff920000 0x0 0x4000>;
		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>;
		clocks = <&cru SCLK_ISP1>,
			 <&cru ACLK_ISP1_WRAPPER>,
			 <&cru HCLK_ISP1_WRAPPER>;
		clock-names = "isp", "aclk", "hclk";
		iommus = <&isp1_mmu>;
		phys = <&mipi_dsi1>;
		phy-names = "dphy";
		power-domains = <&power RK3399_PD_ISP1>;
		status = "okay";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;
			};
		};
	};

	isp1_mmu: iommu@ff924000 {
		compatible = "rockchip,iommu";
		reg = <0x0 0xff924000 0x0 0x100>, <0x0 0xff925000 0x0 0x100>;
		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH 0>;
		interrupt-names = "isp1_mmu";
		clocks = <&cru ACLK_ISP1_WRAPPER>, <&cru HCLK_ISP1_WRAPPER>;
		clock-names = "aclk", "iface";
		#iommu-cells = <0>;
		power-domains = <&power RK3399_PD_ISP1>;
		rockchip,disable-mmu-reset;
	};
               
               &isp1_mmu {
	status = "okay";
};

&isp1 {
	status = "okay";

	ports {
		port@0 {
			mipi_in_ucam1a: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&ucam_out1a>;
				data-lanes = <1 2>;
			};
		};
	};
};

 

Currently I am disabling unused devices in order to make sure that this isn't related to some conflict. Any help or references would be great. I am still in the process of getting an understanding of rkisp. 

  • Author

Hey JMCC what else would be helpful to provide?

 

- Hardware: Nanopi-m4 + OV4689 (i2c2 + CSI1)

- Build: Armbian Latest (no patching beyond existing Armbian patches for this platform)

- RK3399.dtsi modified to add isp1 (isp0 already in mainline)

 

rk3399.dtsi rk3399-nanopi-m4.dts

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.