10e051294SThomas Kopp# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
20e051294SThomas Kopp%YAML 1.2
30e051294SThomas Kopp---
40e051294SThomas Kopp$id: http://devicetree.org/schemas/net/can/microchip,mcp251xfd.yaml#
50e051294SThomas Kopp$schema: http://devicetree.org/meta-schemas/core.yaml#
60e051294SThomas Kopp
7*3367934dSKrzysztof Kozlowskititle: Microchip MCP2517FD, MCP2518FD and MCP251863 stand-alone CAN controller
80e051294SThomas Kopp
90e051294SThomas Koppmaintainers:
100e051294SThomas Kopp  - Marc Kleine-Budde <mkl@pengutronix.de>
110e051294SThomas Kopp
1266224f66SMarc Kleine-BuddeallOf:
1366224f66SMarc Kleine-Budde  - $ref: can-controller.yaml#
1466224f66SMarc Kleine-Budde
150e051294SThomas Koppproperties:
160e051294SThomas Kopp  compatible:
170e051294SThomas Kopp    oneOf:
1862111976SMarc Kleine-Budde      - enum:
1962111976SMarc Kleine-Budde          - microchip,mcp2517fd
2062111976SMarc Kleine-Budde          - microchip,mcp2518fd
2162111976SMarc Kleine-Budde          - microchip,mcp251xfd
2262111976SMarc Kleine-Budde      - items:
2362111976SMarc Kleine-Budde          - enum:
2462111976SMarc Kleine-Budde              - microchip,mcp251863
250e051294SThomas Kopp          - const: microchip,mcp2518fd
260e051294SThomas Kopp  reg:
270e051294SThomas Kopp    maxItems: 1
280e051294SThomas Kopp
290e051294SThomas Kopp  interrupts:
300e051294SThomas Kopp    maxItems: 1
310e051294SThomas Kopp
320e051294SThomas Kopp  clocks:
330e051294SThomas Kopp    maxItems: 1
340e051294SThomas Kopp
350e051294SThomas Kopp  vdd-supply:
360e051294SThomas Kopp    description: Regulator that powers the CAN controller.
370e051294SThomas Kopp
380e051294SThomas Kopp  xceiver-supply:
390e051294SThomas Kopp    description: Regulator that powers the CAN transceiver.
400e051294SThomas Kopp
410e051294SThomas Kopp  microchip,rx-int-gpios:
420e051294SThomas Kopp    description:
430e051294SThomas Kopp      GPIO phandle of GPIO connected to to INT1 pin of the MCP251XFD, which
440e051294SThomas Kopp      signals a pending RX interrupt.
450e051294SThomas Kopp    maxItems: 1
460e051294SThomas Kopp
470e051294SThomas Kopp  spi-max-frequency:
480e051294SThomas Kopp    description:
490e051294SThomas Kopp      Must be half or less of "clocks" frequency.
500e051294SThomas Kopp    maximum: 20000000
510e051294SThomas Kopp
520e051294SThomas Kopprequired:
530e051294SThomas Kopp  - compatible
540e051294SThomas Kopp  - reg
550e051294SThomas Kopp  - interrupts
560e051294SThomas Kopp  - clocks
570e051294SThomas Kopp
580e051294SThomas KoppadditionalProperties: false
590e051294SThomas Kopp
600e051294SThomas Koppexamples:
610e051294SThomas Kopp  - |
620e051294SThomas Kopp    #include <dt-bindings/gpio/gpio.h>
630e051294SThomas Kopp    #include <dt-bindings/interrupt-controller/irq.h>
640e051294SThomas Kopp
650e051294SThomas Kopp    spi0 {
660e051294SThomas Kopp        #address-cells = <1>;
670e051294SThomas Kopp        #size-cells = <0>;
680e051294SThomas Kopp
690e051294SThomas Kopp        can@0 {
700e051294SThomas Kopp            compatible = "microchip,mcp251xfd";
710e051294SThomas Kopp            reg = <0>;
720e051294SThomas Kopp            clocks = <&can0_osc>;
730e051294SThomas Kopp            pinctrl-names = "default";
740e051294SThomas Kopp            pinctrl-0 = <&can0_pins>;
750e051294SThomas Kopp            spi-max-frequency = <20000000>;
760e051294SThomas Kopp            interrupts-extended = <&gpio 13 IRQ_TYPE_LEVEL_LOW>;
770e051294SThomas Kopp            microchip,rx-int-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
780e051294SThomas Kopp            vdd-supply = <&reg5v0>;
790e051294SThomas Kopp            xceiver-supply = <&reg5v0>;
800e051294SThomas Kopp        };
810e051294SThomas Kopp    };
82