On Friday, July 25, 2014 8:53:14 PM UTC-4, [email protected] wrote: > > Hey everybody! Hopefully a few simple questions some more experienced > users can answer. I am attempting to read and send can CAN using the > DCAN1_RX and DCAN1_TX modes for pins P9_24 and P9_26. Here is the step by > step of what I do. > > 1. Echo the device tree overlay to /sys/devices/bone_capemgr.9/slots > (shown below) > 2. I then attempt to set up CAN interface with the following line of code: > > ip link set can1 type can bitrate 500000 > > This gives me a response "cannot find device "can1"" yet when I switch > can1 to can0 in the code above, it is successful in configuring the CAN > interface. So is the CAN interface on pins P9_24 and P9_26 supposed to be > DCAN0 and not DCAN1? >
CAN0 and CAN1 are labelled dcan1 and dcan2 accordingly in the Device Tree, so you want can1 in your overlay to use the can0 pins and can0 network interface. > > My second question regards what I have seen in other posts. Many posts > have said you need to reconfigure the kernel to get DCAN working on the > beaglebone ( > http://processors.wiki.ti.com/index.php/AM335X_DCAN_Driver_Guide#Detailed_Kernel_Configuration). > > Why is this necessary? Isn't a device tree overlay sufficient? > > Not true, the CAN0 module at least works fine with the Debian images. Some more info here: http://inspire.logicsupply.com/2014/06/cbb-serial-automotive-can-bus.html > I am running Debian Image 2014-04-23 and the kernel is 3.8.13-bone47. > > Thanks for any help (ps I will be gone for a day or two so I won't be able > to respond to any questions you may have for me until then). > > BB-DCAN1.dts > > /dts-v1/; > /plugin/; > > / { > compatible = "ti,beaglebone", "ti,beaglebone-black"; > > /* identification */ > part-number = "dcan1pinmux"; > > fragment@0 { > target = <&am33xx_pinmux>; > __overlay__ { > dcan1_pins_s0: dcan1_pins_s0 { > pinctrl-single,pins = < > 0x180 0x12 /* P9_26 DCAN1_TX, SLEWCTRL_FAST | > OUTPUT_PULLUP | MODE2 */ > 0x184 0x32 /* P9_24 DCAN1_RX, SLEWCTRL_FAST | > INPUT_PULLUP | MODE2 */ > >; > }; > }; > }; > > fragment@1 { > target = <&dcan1>; > __overlay__ { > #address-cells = <1>; > #size-cells = <0>; > > status = "okay"; > pinctrl-names = "default"; > pinctrl-0 = <&dcan1_pins_s0>; > }; > }; > }; > > That overlay looks right for CAN0. -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
