All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] Flexcan RT driver registration failed
@ 2015-05-05 11:22 Wolfgang Netbal
  2015-05-05 13:32 ` Wolfgang Grandegger
  0 siblings, 1 reply; 6+ messages in thread
From: Wolfgang Netbal @ 2015-05-05 11:22 UTC (permalink / raw)
  To: xenomai

Dear All,

I have a custom board with an imx6dl using freescale yocto 3.10.53 with 
Xenomai 2.6.4.
The probe function works fine while booting the kernel

RT-Socket-CAN 0.90.2 - (C) 2006 RT-Socket-CAN Development Team
rtcan: registered rtcan0
flexcan 2090000.can: RTCAN device registered (reg_base=d0c00000, 
irq=142, clock=66000000)
rtcan: registered rtcan1
flexcan 2094000.can: RTCAN device registered (reg_base=d0c08000, 
irq=143, clock=66000000)

After Linux started I call the function flexcan_mode_start() and get the 
following message and CAN connections doesn't work.

rtcan0: Failed to softreset can module (mcr=0x5b80000f)

I have a working configuration for this board using Kernel 3.0.43 and 
Xenomai 2.6.2.1

RT-Socket-CAN 0.90.2 - (C) 2006 RT-Socket-CAN Development Team
flexcan netdevice driver
rtcan: registered rtcan0
flexcan imx6q-flexcan.0: RTCAN device registered (reg_base=e0968000, 
irq=142, clock=30000000)
rtcan: registered rtcan1
flexcan imx6q-flexcan.1: RTCAN device registered (reg_base=e0970000, 
irq=143, clock=30000000)
...
rtcan0: writing ctrl=0x03292005

It seems that the clock is the difference so I checked the values of 
register CCM_CCGR0
3.0.43 address 0x20C4068 is set to 0x7fc03f
3.10.53 address 0x20C4068 is set to 0x4cc00f

so on kernel 3.10.53 are the serial clocks for can disabled.

If anyone has a hint for me how to activate the serial clock in register 
CCM_CCGR0 and change the clock to 30000000 that would be great.


Here is the part of the devicetree used to configure flexcan.


#include "imx6dl.dtsi"

/ {

};

/*
  * PAD settings
  */
&iomuxc {
     flexcan1 {
         pinctrl_flexcan1_sigmatek: flexcan1grp-sigmatek {
             fsl,pins = <
                 MX6QDL_PAD_SD3_CLK__FLEXCAN1_RX NO_PAD_CTRL
                 MX6QDL_PAD_SD3_CMD__FLEXCAN1_TX NO_PAD_CTRL
             >;
         };
     };

     flexcan2 {
         pinctrl_flexcan2_sigmatek: flexcan2grp-sigmatek {
             fsl,pins = <
                 MX6QDL_PAD_SD3_DAT1__FLEXCAN2_RX NO_PAD_CTRL
                 MX6QDL_PAD_SD3_DAT0__FLEXCAN2_TX NO_PAD_CTRL
             >;
         };
     };
};

/*
  * CAN
  */
&flexcan1 {
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_flexcan1_sigmatek>;
     status = "okay";
};

&flexcan2 {
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_flexcan2_sigmatek>;
     status = "okay";
};


Kind regards

Wolfgang Netbal


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-05-06 14:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-05 11:22 [Xenomai] Flexcan RT driver registration failed Wolfgang Netbal
2015-05-05 13:32 ` Wolfgang Grandegger
2015-05-06  8:26   ` Wolfgang Netbal
2015-05-06  8:51     ` Wolfgang Grandegger
2015-05-06 14:16       ` Wolfgang Netbal
2015-05-06 14:33         ` Wolfgang Grandegger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.