I know that this post is quite old and I hope you got it fixed. I use kernel 3.12.10 and I can make the can device up without any problem. However I can't get any can mesaages from another board which I am %100 sure that it is working properly. I use candump utility to check received packets. I am suspicious about the changes I made in am335x-boneblack.dts file. Here are the lines I added in the file.
dcan0_pins: dcan0_pins { pinctrl-single,pins = < 0x178 0x12/*(SLEWCTRL_FAST | PIN_INPUT_PULLUP | MUX_MODE2) 0x17C 0x32/*(SLEWCTRL_FAST | PIN_INPUT_PULLUP | MUX_MODE2) >; }; &dcan0 { #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&dcan0_pins>; status = "okay"; }; This is the node in am33xx.dtsi file, dcan0: d_can@481cc000 { compatible = "bosch,d_can"; ti,hwmods = "d_can0"; clocks = <&dcan0_fck>; clock-names = "fck"; reg = <0x481cc000 0x2000 0x44e10644 0x4>; interrupts = <52>; status = "disabled"; }; Can you share your changes in am335x-boneblack.dts file? 15 Kasım 2013 Cuma 02:45:06 UTC+2 tarihinde AndrewTaneGlen yazdı: > > Using the new 3.12 mainline kernel and Robert C Nelson's Ubuntu rootfs > I've managed to get both CAN devices working. However, it get a warning > when the device boots: > > c_can_platform 481d0000.d_can: can't request region for resource [mem > 0x44e10644-0x44e10647] > > What this is referring to is the fact that in the device tree definitions > for each of the two can devices, the same register address is being > requested. They are defined in 'am33xx.dtsi > <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/am33xx.dtsi?id=refs/tags/v3.12>' > > as follows: > > dcan0: d_can@481cc000 { > compatible = "bosch,d_can"; > ti,hwmods = "d_can0"; > reg = <0x481cc000 0x2000 > 0x44e10644 0x4>; > interrupts = <52>; > status = "disabled"; > }; > > dcan1: d_can@481d0000 { > compatible = "bosch,d_can"; > ti,hwmods = "d_can1"; > reg = <0x481d0000 0x2000 > 0x44e10644 0x4>; > interrupts = <55>; > status = "disabled"; > }; > > For both items the address '0x44e10644 0x4', referring to the register > 'dcan_raminit' > (Pg 793 of spruh73h.pdf <http://www.ti.com/lit/ug/spruh73h/spruh73h.pdf>), > is being reserved for use. The new devicetree interpreter considers any > overlap between device register memory mappings as a problem, hence the > message seen on boot. > > The register 'dcan_raminit' is in fact used by both can devices, so it > does make sense for both to have access to it. It appears however, that > this register is only used in the d_can driver which does not appear to be > in use with this latest kernel release. In any case, both device work > flawlessly (as far as I can tell) regardless of the error message. > > I thought I'd have a go at tidying this part of the 'am33xx.dtsi > <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/am33xx.dtsi?id=refs/tags/v3.12>' > > devicetree file up a bit to get rid of this message - and this is where my > question comes in. I thought I could make a single parent node for d_can > with this shared register defined at the top level, and then add the two > can devices to it as child nodes. I came up with something like this: > > dcan { > #address-cells = <1>; > #size-cells = <1>; > reg = <0x44e10644 0x4>; > > dcan0: d_can@481cc000 { > compatible = "bosch,d_can"; > ti,hwmods = "d_can0"; > reg = <0x481cc000 0x2000>; > interrupts = <52>; > status = "disabled"; > }; > > dcan1: d_can@481d0000 { > compatible = "bosch,d_can"; > ti,hwmods = "d_can1"; > reg = <0x481d0000 0x2000>; > interrupts = <55>; > status = "disabled"; > }; > }; > > I tried various iterations along this line (and modified the > am335x-boneblack.dts > <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/am335x-boneblack.dts?id=refs/tags/v3.12> > file > with the corresponding 'status = 'okay' entries for these devices), all > of which would compile fine, and the dvice would boot with no error > messages, but for whatever reason the devices would never show up as they > had previously. > > I was wonder if anyone with a better understanding of devicetree syntax > could suggest the correct structure for the parent/child nodes I am trying > to create. > > Any help or suggestions would be greatly appreciated. > > > Regards, > Andrew Glen. > -- 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 beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.