From: Hui Wang <jason77.wang@gmail.com>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Wolfgang Grandegger <wg@grandegger.com>,
Hui Wang <jason77.wang@gmail.com>,
davem@davemloft.net, shawn.guo@linaro.org,
linux-can@vger.kernel.org,
Devicetree Discussions <devicetree-discuss@lists.ozlabs.org>
Subject: Re: [PATCH 2/4] can: flexcan: add hardware controller version support
Date: Wed, 27 Jun 2012 18:13:12 +0800 [thread overview]
Message-ID: <4FEADCB8.80306@gmail.com> (raw)
In-Reply-To: <4FEAD7B8.2000601@pengutronix.de>
Marc Kleine-Budde wrote:
> On 06/27/2012 11:43 AM, Wolfgang Grandegger wrote:
>
>> Hi Marc,
>>
>> On 06/27/2012 10:56 AM, Wolfgang Grandegger wrote:
>>
>>> On 06/27/2012 10:27 AM, Marc Kleine-Budde wrote:
>>>
>>>> On 06/27/2012 10:19 AM, Hui Wang wrote:
>>>>
>>>>> At least in the i.MX series, the flexcan contrller divides into ver_3
>>>>> and ver_10, current driver is for ver_3 controller.
>>>>>
>>>>> i.MX6 has ver_10 controller, it has more reigsters than ver_3 has.
>>>>> The rxfgmask (Rx FIFO Global Mask) register is one of the new added.
>>>>> Its reset value is 0xffffffff, this means ID Filter Table must be
>>>>> checked when receive a packet, but the driver is designed to accept
>>>>> everything during the chip start, we need to clear this register to
>>>>> follow this design.
>>>>>
>>>>> Add a hw_ver entry in the device tree, this can let us distinguish
>>>>> which version the controller is, if we don't set value to this entry,
>>>>> the hw_ver is 3 by default, this is backward compatible for existing
>>>>> platforms like powerpc and imx35.
>>>>>
>>>> Is it possible to read this value from the hardware?
>>>> Another possibility would be to introduce a new compatible device in the
>>>> device tree.
>>>>
>>> I vote for the latter. IIRC, in the past we already had some discussion
>>> on how to handle version dependent Flexcan hardware, e.g. by using
>>> flexcan-vX.X or being expicit using fsl,p1010-flexcan. Search for "Add
>>> support for powerpc" in the netdev mailing list. I added the
>>> devicetree-discuss ml for that reason.
>>>
>> I looked up the threads and found:
>>
>> http://marc.info/?w=4&r=1&s=Fix+up+fsl-flexcan+device+tree+bi&q=t
>>
>> In the Flexcan driver we currently only have:
>>
>> static struct of_device_id flexcan_of_match[] = {
>> {
>> .compatible = "fsl,p1010-flexcan",
>> },
>> {},
>> };
>>
>> What compatible string do they actually use for the i.MX6Q board? Shawn
>> or Hui? We need to fix that. From the discussion mentioned above I think
>>
Currently i modified the can1 DT entry in the imx6q.dtsi like this:
flexcan@02090000 { /* CAN1 */
reg = <0x02090000 0x4000>;
interrupts = <0 110 0x04>;
hw-version = <10>;
};
and the DT entry in the imx6q-sabrelite.dts like this:
flexcan@02090000 { /* CAN1 */
compatible = "fsl,imx6q-flexcan", "fsl,p1010-flexcan";
phy-en-gpio = <&gpio1 4 0>;
phy-stby-gpio = <&gpio1 2 0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1_1>;
};
if we don't use hw-version entry and use flexcan-v10, do you mean we use
strcmp or strxxx to decide controller version?
Regards,
Hui.
>> "fsl,flexcan-v10" would be acceptable. Unfortunately, we do not known
>>
>
> As far as I understand the DT, the name should be something like
>
> "fsl,${OLDEST_SOCK_THAT_HAS_THIS_VERSION_OF_FLEXCAN}-flexcan".
>
>
>> the internal version of the Flexcan controllers used in the various
>> PowerPC and ARM SOCs. We already realized some differences with
>> interrupts and bus error handling between i.MX28 and i.MX35. Would be
>> nice if someone (from Freescale?) could finally clarify that.
>>
>
> That information would be interesting.
>
> Marc
>
next prev parent reply other threads:[~2012-06-27 10:13 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-27 8:19 [PATCH 0/4] can: flexcan: upgrade the flexcan.c to support i.MX6 Hui Wang
2012-06-27 8:19 ` [PATCH 1/4] can: flexcan: use be32_to_cpup to handle the value of dt entry Hui Wang
2012-06-27 8:19 ` [PATCH 2/4] can: flexcan: add hardware controller version support Hui Wang
2012-06-27 8:19 ` [PATCH 3/4] can: flexcan: add ipg and ser clocks support Hui Wang
2012-06-27 8:19 ` [PATCH 4/4] can: flexcan: add transceiver switch support when use device tree Hui Wang
2012-06-27 8:26 ` Marc Kleine-Budde
2012-06-27 9:55 ` Hui Wang
2012-06-27 10:02 ` Marc Kleine-Budde
2012-06-27 11:22 ` Shawn Guo
2012-06-27 11:46 ` Marc Kleine-Budde
2012-06-28 1:53 ` Hui Wang
2012-06-27 8:45 ` [PATCH 3/4] can: flexcan: add ipg and ser clocks support Marc Kleine-Budde
2012-06-27 8:27 ` [PATCH 2/4] can: flexcan: add hardware controller version support Marc Kleine-Budde
2012-06-27 8:56 ` Wolfgang Grandegger
2012-06-27 9:43 ` Wolfgang Grandegger
2012-06-27 9:51 ` Marc Kleine-Budde
2012-06-27 10:13 ` Hui Wang [this message]
2012-06-27 10:24 ` Marc Kleine-Budde
2012-06-27 10:57 ` Wolfgang Grandegger
2012-06-27 8:38 ` [PATCH 1/4] can: flexcan: use be32_to_cpup to handle the value of dt entry Marc Kleine-Budde
2012-06-27 9:07 ` Wolfgang Grandegger
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=4FEADCB8.80306@gmail.com \
--to=jason77.wang@gmail.com \
--cc=davem@davemloft.net \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=shawn.guo@linaro.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 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).