The following changes did the real trick for setting up the CAN1 peripheral on Colibri VF50 module.
diff --git a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
index dc70304..e84de94 100644
--- a/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
@@ -199,6 +199,10 @@
vbus-supply = <®_usbh_vbus>;
};
+&can1 {
+ status = "okay";
+};
+
&iomuxc {
vf610-colibri {
pinctrl_can_int: can_int {
diff --git a/arch/arm/boot/dts/vf-colibri.dtsi b/arch/arm/boot/dts/vf-colibri.dtsi
index 7d11341..b0be47d 100644
--- a/arch/arm/boot/dts/vf-colibri.dtsi
+++ b/arch/arm/boot/dts/vf-colibri.dtsi
@@ -276,8 +276,6 @@
VF610_PAD_PTA31__GPIO_21 0x22ed
VF610_PAD_PTB6__GPIO_28 0x22ed
VF610_PAD_PTB7__GPIO_29 0x22ed
- VF610_PAD_PTB16__GPIO_38 0x22ed
- VF610_PAD_PTB17__GPIO_39 0x22ed
VF610_PAD_PTB18__GPIO_40 0x22ed
VF610_PAD_PTB21__GPIO_43 0x22ed
VF610_PAD_PTB22__GPIO_44 0x22ed
(END)
The other problem was with the bus interface. The solution was to use identical CAN trans-receivers for both sides of communication. Kindly excuse my lack of electrical engineering knowledge, but after using identical trans-receivers for both my CAN nodes, it was successfully working.
PS: The CAN Modules I used are SN65HVD230 from Waveshare.