From: Anssi Hannula <anssi.hannula@bitwise.fi>
To: Rob Herring <robh@kernel.org>
Cc: Wolfgang Grandegger <wg@grandegger.com>,
Marc Kleine-Budde <mkl@pengutronix.de>,
Michal Simek <michal.simek@xilinx.com>,
linux-can@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org
Subject: Re: [PATCH 1/3] dt-bindings: can: xilinx_can: add Xilinx CAN FD bindings
Date: Wed, 4 Jul 2018 10:20:53 +0300 [thread overview]
Message-ID: <cdfae163-57e8-f8fe-063e-41c7a57034a9@bitwise.fi> (raw)
In-Reply-To: <20180703225139.GA14644@rob-hp-laptop>
On 4.7.2018 1:51, Rob Herring wrote:
> On Wed, Jun 27, 2018 at 05:34:12PM +0300, Anssi Hannula wrote:
>> Add compatible string and new attributes to support the Xilinx CAN FD
>> core.
>>
>> Unlike the previously documented Xilinx CAN cores, the CAN FD core has
>> TX mailboxes instead of TX FIFO, and optionally RX mailboxes instead of
>> RX FIFO (selected at core generation time, not switchable at runtime).
>> Add "tx-mailbox-count" and "rx-mailbox-count" to specify the mailbox
>> counts instead of reusing "tx-fifo-depth" and "rx-fifo-depth". "rx-mode"
>> attribute is added to allow mailbox mode.
>>
>> The RX FIFO depth is constant 32, but allow it to be specified via
>> "rx-fifo-depth" to match DT usage with Zynq CAN (which has constant RX
>> FIFO of depth of 64).
>>
>> Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi>
>> Cc: Michal Simek <michal.simek@xilinx.com>
>>
>> ---
>>
>> Xilinx has an out-of-tree driver that uses the same compatible string
>> "xlnx,canfd-1.0" but reads the TX mailbox count from "tx-fifo-depth"
>> and always assumes RX FIFO mode.
>>
>> I'm not 100% sure if we want to introduce "tx-mailbox-count" and
>> "rx-mailbox-count" or just do the same and use the "fifo" depth
>> properties for non-fifo as well.
> Don't you need a way to distinguish between rx fifo and mailbox?
Yes, so if we went that way either "rx-mode" would have to be kept or
fifo mode assumed.
>
>>
>> .../devicetree/bindings/net/can/xilinx_can.txt | 36 +++++++++++++++++-----
>> 1 file changed, 28 insertions(+), 8 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/net/can/xilinx_can.txt b/Documentation/devicetree/bindings/net/can/xilinx_can.txt
>> index fe38847..ab14e56 100644
>> --- a/Documentation/devicetree/bindings/net/can/xilinx_can.txt
>> +++ b/Documentation/devicetree/bindings/net/can/xilinx_can.txt
>> @@ -2,20 +2,28 @@ Xilinx Axi CAN/Zynq CANPS controller Device Tree Bindings
>> ---------------------------------------------------------
>>
>> Required properties:
>> -- compatible : Should be "xlnx,zynq-can-1.0" for Zynq CAN
>> - controllers and "xlnx,axi-can-1.00.a" for Axi CAN
>> - controllers.
>> -- reg : Physical base address and size of the Axi CAN/Zynq
>> - CANPS registers map.
>> +- compatible : Should be:
>> + - "xlnx,zynq-can-1.0" for Zynq CAN controllers
>> + - "xlnx,axi-can-1.00.a" for Axi CAN controllers
>> + - "xlnx,canfd-1.0" for CAN FD controllers
>> +- reg : Physical base address and size of the controller
>> + registers map.
>> - interrupts : Property with a value describing the interrupt
>> number.
>> - interrupt-parent : Must be core interrupt controller
>> - clock-names : List of input clock names - "can_clk", "pclk"
>> - (For CANPS), "can_clk" , "s_axi_aclk"(For AXI CAN)
>> + (For CANPS), "can_clk", "s_axi_aclk" (For AXI CAN
> "(For CANPS)" should go on the previous line to be more readable.
OK.
>> + and CAN FD)
>> (See clock bindings for details).
>> - clocks : Clock phandles (see clock bindings for details).
>> -- tx-fifo-depth : Can Tx fifo depth.
>> -- rx-fifo-depth : Can Rx fifo depth.
>> +- rx-mode : Rx mode of a CAN FD controller core: "sequential"
>> + (fifo) or "mailbox" (default: "sequential").
> You can determine this with the presence of the below properties.
Good point, will change.
Thanks.
>> +- tx-fifo-depth : Can Tx fifo depth (Zynq, Axi CAN).
>> +- rx-fifo-depth : Can Rx fifo depth (Zynq, Axi CAN, CAN FD in
>> + sequential Rx mode).
>> +- tx-mailbox-count : Can Tx mailbox buffer count (CAN FD).
>> +- rx-mailbox-count : Can Rx mailbox buffer count (CAN FD in mailbox Rx
>> + mode).
>>
>>
>> Example:
>> @@ -42,3 +50,15 @@ For Axi CAN Dts file:
>> tx-fifo-depth = <0x40>;
>> rx-fifo-depth = <0x40>;
>> };
>> +For CAN FD Dts file:
>> + canfd_0: canfd@40000000 {
>> + compatible = "xlnx,canfd-1.0";
>> + clocks = <&clkc 0>, <&clkc 1>;
>> + clock-names = "can_clk", "s_axi_aclk";
>> + reg = <0x40000000 0x2000>;
>> + interrupt-parent = <&intc>;
>> + interrupts = <0 59 1>;
>> + rx-mode = "sequential";
>> + tx-mailbox-count = <0x20>;
>> + rx-fifo-depth = <0x20>;
>> + };
>> --
>> 2.8.3
>>
--
Anssi Hannula / Bitwise Oy
+358 503803997
next prev parent reply other threads:[~2018-07-04 7:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-27 14:34 [PATCH 0/3] can: xilinx_can: CAN FD core support Anssi Hannula
2018-06-27 14:34 ` [PATCH 1/3] dt-bindings: can: xilinx_can: add Xilinx CAN FD bindings Anssi Hannula
2018-07-03 22:51 ` Rob Herring
2018-07-04 7:20 ` Anssi Hannula [this message]
2018-06-27 14:34 ` [PATCH 2/3] can: xilinx_can: refactor code in preparation for CAN FD support Anssi Hannula
2018-06-27 14:34 ` [PATCH 3/3] can: xilinx_can: add support for Xilinx CAN FD core Anssi Hannula
-- strict thread matches above, loose matches on Subject: below --
2018-07-06 14:18 [PATCH 0/3 v2] can: xilinx_can: CAN FD core support Anssi Hannula
2018-07-06 14:18 ` [PATCH 1/3] dt-bindings: can: xilinx_can: add Xilinx CAN FD bindings Anssi Hannula
2018-07-20 13:49 ` Rob Herring
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=cdfae163-57e8-f8fe-063e-41c7a57034a9@bitwise.fi \
--to=anssi.hannula@bitwise.fi \
--cc=devicetree@vger.kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=michal.simek@xilinx.com \
--cc=mkl@pengutronix.de \
--cc=robh@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 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).