My docs says : _ basis adress (0xD0000 for me) + 0x0000 to 0x00FF : CAN-Controller 1 _ basis adress + 0x0100 to 0x01FF : Reset CAN1 _ basis adress + 0x0200 to 0x02FF : CAN-Controller 2 _ basis adress + 0x0300 to 0x03FF : Reset CAN2 So I there is still a stange difference between one controller range and the 0x20 byte register of SJA1000. Maybe the only problem interfacing my board with socket can is here...
They told me explicitly to use only one IRQ for both controllers : > me > I can't write irq=5,7 as stated in the docs > ixxat > Please use the same IRQ for both CAN controllers. > But anyway, at the moment making just one working is enougth. I will setup the second one when I'll have something working. I'll do my best to instrument this code and give you the result 2010/11/29 Wolfgang Grandegger <[email protected]> > On 11/29/2010 08:08 PM, Willy Lambert wrote: > > I am still trying to setup my can interface. From last time I have wired > a > > resistively correct bus with my motor and manage to find a can analyser. > For > > information, as my motor as a 0xFF nodeID and automatic baudrate > detection > > by default which means that I still need to configure it to a proper > nodeID > > and baudrate before I can put it on the bus. > > > > I would like to try both socketCan and Ixxat drivers with the can > analyser > > so I am preparing this a bit and I remark this : ISA adress range is not > the > > same with ixxat and socket can drivers : > > --> here is Ixxat adresses which seems correct : d0000 to d0fff > >> > >> r...@alpha:/opt/ard/bin# cat /proc/iomem > >> 00000000-0000ffff : reserved > >> 00010000-0009fbff : System RAM > >> 0009fc00-0009ffff : reserved > >> 000a0000-000bffff : Video RAM area > >> 000c0000-000c7fff : Video ROM > >> 000d0000-000d0fff : PCI-I03 ISA [0] DPRAM area > >> > > > > --> here is SocketCan which seems incorrect : d0000 to d001f > > > >> r...@alpha:/opt/ard/bin# cat /proc/iomem > >> 00000000-0000ffff : reserved > >> 00010000-0009fbff : System RAM > >> 0009fc00-0009ffff : reserved > >> 000a0000-000bffff : Video RAM area > >> 000c0000-000c7fff : Video ROM > >> 000d0000-000d001f : sja1000_isa > >> 000e0000-000fffff : reserved > >> > > > > Maybe something stands behind this ? > > Obviously, request_mem_region (and also ioremap) are called with a > different size. The register map of the SJA1000 consists of just 0x20 > byte registers. In the IXXAT driver, how are registers accessed. Maybe > the registers are aligned on a 4 byte boundary or the SJA1000 registers > are a a certain offset. And I also think the map is for both CAN ports. > Can you check the code? > > > > --------------------------------------------------------------------------------------------------------------------------- > > complementary informations for the curious > > > > dmesg for Ixxat drivers : > > > >> [ 2252.093040] can: controller area network core (rev 20090105 abi 8) > >> [ 2252.093112] NET: Registered protocol family 29 > >> [ 2252.100195] can: raw protocol (rev 20090105) > >> [ 2252.108650] can: broadcast manager protocol (rev 20090105 t) > >> [ 2252.115236] sja1000 CAN netdevice driver > >> [ 2252.120307] KINF: CAN PC-I driver v4.1b for BCI v4.5.8 Compiled Nov > 22 > >> 2010 at 00:30:34 > >> [ 2252.120529] KINF: Device registered successfully for 2 ports. Major > > The register 2 CAN ports. > > >> [250] > >> [ 2252.120700] KINF: IRQ number [5] registered > >> [ 2252.120846] KINF: IRQ will be not registered for port 1 > >> [ 2811.803121] KINF: IRQ number [5] freed for port 0 > >> [ 2811.803146] KINF: IRQ number [0] for port 1 was not registered! Do > >> nothing. > > Hm, they just use one port for both CAN ports!? > > Could you please instrument the IXXAT driver printing the address used > for ioremap and the base address of the SJA1000 registers. > > Wolfgang. >
_______________________________________________ Socketcan-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-users
