17843d3c8SAmit Kumar Mahapatra# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27843d3c8SAmit Kumar Mahapatra%YAML 1.2
37843d3c8SAmit Kumar Mahapatra---
47843d3c8SAmit Kumar Mahapatra$id: http://devicetree.org/schemas/net/can/xilinx,can.yaml#
57843d3c8SAmit Kumar Mahapatra$schema: http://devicetree.org/meta-schemas/core.yaml#
67843d3c8SAmit Kumar Mahapatra
77843d3c8SAmit Kumar Mahapatratitle:
87843d3c8SAmit Kumar Mahapatra  Xilinx Axi CAN/Zynq CANPS controller
97843d3c8SAmit Kumar Mahapatra
107843d3c8SAmit Kumar Mahapatramaintainers:
117843d3c8SAmit Kumar Mahapatra  - Appana Durga Kedareswara rao <appana.durga.rao@xilinx.com>
127843d3c8SAmit Kumar Mahapatra
137843d3c8SAmit Kumar Mahapatraproperties:
147843d3c8SAmit Kumar Mahapatra  compatible:
157843d3c8SAmit Kumar Mahapatra    enum:
167843d3c8SAmit Kumar Mahapatra      - xlnx,zynq-can-1.0
177843d3c8SAmit Kumar Mahapatra      - xlnx,axi-can-1.00.a
187843d3c8SAmit Kumar Mahapatra      - xlnx,canfd-1.0
197843d3c8SAmit Kumar Mahapatra      - xlnx,canfd-2.0
207843d3c8SAmit Kumar Mahapatra
217843d3c8SAmit Kumar Mahapatra  reg:
227843d3c8SAmit Kumar Mahapatra    maxItems: 1
237843d3c8SAmit Kumar Mahapatra
247843d3c8SAmit Kumar Mahapatra  interrupts:
257843d3c8SAmit Kumar Mahapatra    maxItems: 1
267843d3c8SAmit Kumar Mahapatra
277843d3c8SAmit Kumar Mahapatra  clocks:
287843d3c8SAmit Kumar Mahapatra    minItems: 1
297843d3c8SAmit Kumar Mahapatra    maxItems: 2
307843d3c8SAmit Kumar Mahapatra
317843d3c8SAmit Kumar Mahapatra  clock-names:
327843d3c8SAmit Kumar Mahapatra    maxItems: 2
337843d3c8SAmit Kumar Mahapatra
347843d3c8SAmit Kumar Mahapatra  power-domains:
357843d3c8SAmit Kumar Mahapatra    maxItems: 1
367843d3c8SAmit Kumar Mahapatra
377843d3c8SAmit Kumar Mahapatra  tx-fifo-depth:
383079bfdbSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
397843d3c8SAmit Kumar Mahapatra    description: CAN Tx fifo depth (Zynq, Axi CAN).
407843d3c8SAmit Kumar Mahapatra
417843d3c8SAmit Kumar Mahapatra  rx-fifo-depth:
423079bfdbSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
437843d3c8SAmit Kumar Mahapatra    description: CAN Rx fifo depth (Zynq, Axi CAN, CAN FD in sequential Rx mode)
447843d3c8SAmit Kumar Mahapatra
457843d3c8SAmit Kumar Mahapatra  tx-mailbox-count:
463079bfdbSRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
477843d3c8SAmit Kumar Mahapatra    description: CAN Tx mailbox buffer count (CAN FD)
487843d3c8SAmit Kumar Mahapatra
49*62bd0232SMichal Simek  resets:
50*62bd0232SMichal Simek    maxItems: 1
51*62bd0232SMichal Simek
527843d3c8SAmit Kumar Mahapatrarequired:
537843d3c8SAmit Kumar Mahapatra  - compatible
547843d3c8SAmit Kumar Mahapatra  - reg
557843d3c8SAmit Kumar Mahapatra  - interrupts
567843d3c8SAmit Kumar Mahapatra  - clocks
577843d3c8SAmit Kumar Mahapatra  - clock-names
587843d3c8SAmit Kumar Mahapatra
597843d3c8SAmit Kumar MahapatraunevaluatedProperties: false
607843d3c8SAmit Kumar Mahapatra
617843d3c8SAmit Kumar MahapatraallOf:
627843d3c8SAmit Kumar Mahapatra  - $ref: can-controller.yaml#
637843d3c8SAmit Kumar Mahapatra  - if:
647843d3c8SAmit Kumar Mahapatra      properties:
657843d3c8SAmit Kumar Mahapatra        compatible:
667843d3c8SAmit Kumar Mahapatra          contains:
677843d3c8SAmit Kumar Mahapatra            enum:
687843d3c8SAmit Kumar Mahapatra              - xlnx,zynq-can-1.0
697843d3c8SAmit Kumar Mahapatra
707843d3c8SAmit Kumar Mahapatra    then:
717843d3c8SAmit Kumar Mahapatra      properties:
727843d3c8SAmit Kumar Mahapatra        clock-names:
737843d3c8SAmit Kumar Mahapatra          items:
747843d3c8SAmit Kumar Mahapatra            - const: can_clk
757843d3c8SAmit Kumar Mahapatra            - const: pclk
767843d3c8SAmit Kumar Mahapatra      required:
777843d3c8SAmit Kumar Mahapatra        - tx-fifo-depth
787843d3c8SAmit Kumar Mahapatra        - rx-fifo-depth
797843d3c8SAmit Kumar Mahapatra
807843d3c8SAmit Kumar Mahapatra  - if:
817843d3c8SAmit Kumar Mahapatra      properties:
827843d3c8SAmit Kumar Mahapatra        compatible:
837843d3c8SAmit Kumar Mahapatra          contains:
847843d3c8SAmit Kumar Mahapatra            enum:
857843d3c8SAmit Kumar Mahapatra              - xlnx,axi-can-1.00.a
867843d3c8SAmit Kumar Mahapatra
877843d3c8SAmit Kumar Mahapatra    then:
887843d3c8SAmit Kumar Mahapatra      properties:
897843d3c8SAmit Kumar Mahapatra        clock-names:
907843d3c8SAmit Kumar Mahapatra          items:
917843d3c8SAmit Kumar Mahapatra            - const: can_clk
927843d3c8SAmit Kumar Mahapatra            - const: s_axi_aclk
937843d3c8SAmit Kumar Mahapatra      required:
947843d3c8SAmit Kumar Mahapatra        - tx-fifo-depth
957843d3c8SAmit Kumar Mahapatra        - rx-fifo-depth
967843d3c8SAmit Kumar Mahapatra
977843d3c8SAmit Kumar Mahapatra  - if:
987843d3c8SAmit Kumar Mahapatra      properties:
997843d3c8SAmit Kumar Mahapatra        compatible:
1007843d3c8SAmit Kumar Mahapatra          contains:
1017843d3c8SAmit Kumar Mahapatra            enum:
1027843d3c8SAmit Kumar Mahapatra              - xlnx,canfd-1.0
1037843d3c8SAmit Kumar Mahapatra              - xlnx,canfd-2.0
1047843d3c8SAmit Kumar Mahapatra
1057843d3c8SAmit Kumar Mahapatra    then:
1067843d3c8SAmit Kumar Mahapatra      properties:
1077843d3c8SAmit Kumar Mahapatra        clock-names:
1087843d3c8SAmit Kumar Mahapatra          items:
1097843d3c8SAmit Kumar Mahapatra            - const: can_clk
1107843d3c8SAmit Kumar Mahapatra            - const: s_axi_aclk
1117843d3c8SAmit Kumar Mahapatra      required:
1127843d3c8SAmit Kumar Mahapatra        - tx-mailbox-count
1137843d3c8SAmit Kumar Mahapatra        - rx-fifo-depth
1147843d3c8SAmit Kumar Mahapatra
1157843d3c8SAmit Kumar Mahapatraexamples:
1167843d3c8SAmit Kumar Mahapatra  - |
1177843d3c8SAmit Kumar Mahapatra    #include <dt-bindings/interrupt-controller/arm-gic.h>
1187843d3c8SAmit Kumar Mahapatra
1197843d3c8SAmit Kumar Mahapatra    can@e0008000 {
1207843d3c8SAmit Kumar Mahapatra        compatible = "xlnx,zynq-can-1.0";
1217843d3c8SAmit Kumar Mahapatra        reg = <0xe0008000 0x1000>;
1227843d3c8SAmit Kumar Mahapatra        clocks = <&clkc 19>, <&clkc 36>;
1237843d3c8SAmit Kumar Mahapatra        clock-names = "can_clk", "pclk";
1247843d3c8SAmit Kumar Mahapatra        interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
1257843d3c8SAmit Kumar Mahapatra        interrupt-parent = <&intc>;
1267843d3c8SAmit Kumar Mahapatra        tx-fifo-depth = <0x40>;
1277843d3c8SAmit Kumar Mahapatra        rx-fifo-depth = <0x40>;
1287843d3c8SAmit Kumar Mahapatra    };
1297843d3c8SAmit Kumar Mahapatra
1307843d3c8SAmit Kumar Mahapatra  - |
1317843d3c8SAmit Kumar Mahapatra    can@40000000 {
1327843d3c8SAmit Kumar Mahapatra        compatible = "xlnx,axi-can-1.00.a";
1337843d3c8SAmit Kumar Mahapatra        reg = <0x40000000 0x10000>;
1347843d3c8SAmit Kumar Mahapatra        clocks = <&clkc 0>, <&clkc 1>;
1357843d3c8SAmit Kumar Mahapatra        clock-names = "can_clk", "s_axi_aclk";
1367843d3c8SAmit Kumar Mahapatra        interrupt-parent = <&intc>;
1377843d3c8SAmit Kumar Mahapatra        interrupts = <GIC_SPI 59 IRQ_TYPE_EDGE_RISING>;
1387843d3c8SAmit Kumar Mahapatra        tx-fifo-depth = <0x40>;
1397843d3c8SAmit Kumar Mahapatra        rx-fifo-depth = <0x40>;
1407843d3c8SAmit Kumar Mahapatra    };
1417843d3c8SAmit Kumar Mahapatra
1427843d3c8SAmit Kumar Mahapatra  - |
1437843d3c8SAmit Kumar Mahapatra    can@40000000 {
1447843d3c8SAmit Kumar Mahapatra        compatible = "xlnx,canfd-1.0";
1457843d3c8SAmit Kumar Mahapatra        reg = <0x40000000 0x2000>;
1467843d3c8SAmit Kumar Mahapatra        clocks = <&clkc 0>, <&clkc 1>;
1477843d3c8SAmit Kumar Mahapatra        clock-names = "can_clk", "s_axi_aclk";
1487843d3c8SAmit Kumar Mahapatra        interrupt-parent = <&intc>;
1497843d3c8SAmit Kumar Mahapatra        interrupts = <GIC_SPI 59 IRQ_TYPE_EDGE_RISING>;
1507843d3c8SAmit Kumar Mahapatra        tx-mailbox-count = <0x20>;
1517843d3c8SAmit Kumar Mahapatra        rx-fifo-depth = <0x20>;
1527843d3c8SAmit Kumar Mahapatra    };
1537843d3c8SAmit Kumar Mahapatra
1547843d3c8SAmit Kumar Mahapatra  - |
1557843d3c8SAmit Kumar Mahapatra    can@ff060000 {
1567843d3c8SAmit Kumar Mahapatra        compatible = "xlnx,canfd-2.0";
1577843d3c8SAmit Kumar Mahapatra        reg = <0xff060000 0x6000>;
1587843d3c8SAmit Kumar Mahapatra        clocks = <&clkc 0>, <&clkc 1>;
1597843d3c8SAmit Kumar Mahapatra        clock-names = "can_clk", "s_axi_aclk";
1607843d3c8SAmit Kumar Mahapatra        interrupt-parent = <&intc>;
1617843d3c8SAmit Kumar Mahapatra        interrupts = <GIC_SPI 59 IRQ_TYPE_EDGE_RISING>;
1627843d3c8SAmit Kumar Mahapatra        tx-mailbox-count = <0x20>;
1637843d3c8SAmit Kumar Mahapatra        rx-fifo-depth = <0x40>;
1647843d3c8SAmit Kumar Mahapatra    };
165