All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: Dan Naughton <Dan.Naughton@dtx.com>,
	"'wg@grandegger.com'" <wg@grandegger.com>,
	"'linux-can@vger.kernel.org'" <linux-can@vger.kernel.org>
Subject: Re: Request for advice on CAN driver writing
Date: Mon, 03 Nov 2014 13:32:44 +0100	[thread overview]
Message-ID: <545775EC.7030800@pengutronix.de> (raw)
In-Reply-To: <54F29680670EE04E9BB46A703116517492D781@dtxvm2010.dtxinc.com>

[-- 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 --]

           reply	other threads:[~2014-11-03 12:32 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <54F29680670EE04E9BB46A703116517492D781@dtxvm2010.dtxinc.com>]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=545775EC.7030800@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=Dan.Naughton@dtx.com \
    --cc=linux-can@vger.kernel.org \
    --cc=wg@grandegger.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.