How does the TPU SDK in DUO call the hardware TPU?

I find these nodes about tpu in dts:

	cv181x_cooling:cv181x_cooling {
		clocks = <&clk CV181X_CLK_C906_0>, <&clk CV181X_CLK_TPU>;
		clock-names = "clk_cpu", "clk_tpu_axi";
		dev-freqs = <850000000 500000000>,
			<425000000 375000000>,
			<425000000 300000000>;
		compatible = "cvitek,cv181x-cooling";
		#cooling-cells = <2>;
	};

	tpu {
		interrupts = <75 IRQ_TYPE_LEVEL_HIGH>,
				<76 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "tiu_irq", "tdma_irq";
		interrupt-parent = <&plic0>;
	};

but I can’t find these driver in linux source code under sdk directory…
so Duo uses firmware or something?

1 Like

Finally, I find TPU driver here: GitHub - sophgo/osdrv: kernel space driver for cv18xx series soc.

the interdrv folder doesn’t exist sdk…

1 Like