* Re: Request for advice on CAN driver writing
[not found] <54F29680670EE04E9BB46A703116517492D781@dtxvm2010.dtxinc.com>
@ 2014-11-03 12:32 ` Marc Kleine-Budde
0 siblings, 0 replies; only message in thread
From: Marc Kleine-Budde @ 2014-11-03 12:32 UTC (permalink / raw)
To: Dan Naughton, 'wg@grandegger.com',
'linux-can@vger.kernel.org'
[-- Attachment #1: Type: text/plain, Size: 3107 bytes --]
Hello Dan,
On 10/31/2014 06:40 PM, Dan Naughton wrote:
> I found your names on the kernel maintainers list for CAN driver and I
> was hoping you could help with some advice. I have two companies that
> are writing drivers for their CAN cards for me (http://goo.gl/mca7Ao and
> http://goo.gl/S00PDT ), but I am not a driver developer. I would
> like them to submit their drivers to kernel.org – but I would like to
> make sure that the drivers are not garbage. So I was looking for advice:
that depends on your agreement with these companies ;)
> My list of requirements:
>
> · libsocketcan.h API compatible.
If you add "upstream CAN driver to official linux tree at kernel.org" to
your requirements there the drivers will sooner or later end up here.
And eventually they're being reviewed.
There also is the possibility to book commercial CAN driver
reviewing/mainlining/writing support, e.g. by you (your company) or the
hardware manufacturer. Contact me directly for more information.
> · ??? I’m stuck – is there one of the drivers here that we
> should model it after
> (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/can)
Regarding the hardware:
- MPE-CAN+CAN-C
The documentation situation is quite shallow :) But it says a
PIC32MX795F512L (MIPS based) processor is used. As far as I can see the
processor has a USB, but no PCI controller. So the card uses probably
the USB within the PCIe connector. So the drivers in
"drivers/net/can/usb" are worth to look at. The "usb_8dev.c" supports an
ARM based chip, where the hardware and firmware is open source. The
"gs_usb.c" serves a device, which firmware is modelled to fit the
linux-can quite easily.
But as the MPE-CAN+CAN-C hardware is already available, I assume the
firmware is already finished and a new Linux driver has to be written.
- MPX-2515
Hearing the numbers "2515" next to CAN, gives me shivers :) There is the
MCP2515 SPI CAN controller, which is the second worst CAN chip I know
(the MCP2510 is the worst one). And indeed:
> CYPRESS CY8C24794-24LTXI PSoC
> Microchip MCP-2515 CAN Controller
> Microchip MCP-2551 High-Speed CAN Transceiver
They probably have attached the MCP2515 to the SPI bus of the CYPRESS
processor, which has a USB Interface. So this hardware is only using the
USB part of the PCIe connector. BTW: the USB is only working in 12
Mbit/s (instead of the full 480 Mbit/s of USB-2.0). From the used chips,
this hardware must/should significantly cheaper than the MPE-CAN+CAN-C :)
As this is a USB hardware, the same comments about existing CAN-USB
driver apply.
> Thanks for your assistance. We would like to contribute the CAN driver
> support – I would like to avoid contributing garbage
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-11-03 12:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <54F29680670EE04E9BB46A703116517492D781@dtxvm2010.dtxinc.com>
2014-11-03 12:32 ` Request for advice on CAN driver writing Marc Kleine-Budde
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).