On Thu, Nov 5, 2009 at 11:44 PM, christian pellegrin <[email protected]> wrote: > On Fri, Nov 6, 2009 at 6:10 AM, Paul Thomas <[email protected]> wrote: > >> OK, I think I know some of the problem. First when I look at the debug >> output after running the ifconfig up I get useful output: >> mcp251x spi1.3: MCP251x didn't wake-up >> mcp251x spi1.3: bit-timing not yet defined >> mcp251x spi1.3: unable to set initial baudrate! >> > > Yes, this looks like the irq is missing. > >> When I see this message I don't get any activity on DO, but during >> startup there is activity on DO during the probe. So it looks like >> it's just not coming out of sleep. On this board the only connections > > yes, if it says probed it's very likely that DO,DI,SCK,CS are wired correctly. > >> to the host processor are the 4 SPI pins and INT (pin 12 on 18 pin >> version), but the irq pin (INT) isn't even defined. Do I need some >> other connection for the driver? Tomorrow I'll try and not put the >> part to sleep and see if that works. > > no, it won't work: no interrupt no party. If you check with the > oscilloscope you will see a falling edge when mcp251x confirmed the > out of sleep. > > You need to connect the interrupt line for sure (the one called INT > negated). When you have done that add the interrupt line in the > platform data in the mach file, something like: > > static struct spi_board_info spi_board_info[] = { > .... > /* CAN */ > { > .modalias = "mcp251x", > .platform_data = &mcp251x_info, > .irq = IRQ_EINT13, /* <----- TODO */ > .max_speed_hz = 2*1000*1000, > .chip_select = 0, /* GPJ2 */ > } > ------- > } > ....... > spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); > ........ > > HTH, > Bye! > > -- > Christian Pellegrin, see http://www.evolware.org/chri/ > "Real Programmers don't play tennis, or any other sport which requires > you to change clothes. Mountain climbing is OK, and Real Programmers > wear their climbing boots to work in case a mountain should suddenly > spring up in the middle of the computer room." >
Thanks Christian, When I put the interrupt in I get an unable to get interrupt error, I think this is not a socket-can problem, but an atmel one. It's one interrupt for the entire port, but it should still be handled correctly. Anyway I'll work on that tomorrow. thanks, Paul _______________________________________________ Socketcan-core mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-core
