Texas Instruments TCAN4x5x CAN Controller
================================================

This file provides device node information for the TCAN4x5x interface contains.

Required properties:
	- compatible:
		"ti,tcan4552", "ti,tcan4x5x"
		"ti,tcan4553", "ti,tcan4x5x" or
		"ti,tcan4x5x"
	- reg: 0
	- #address-cells: 1
	- #size-cells: 0
	- spi-max-frequency: Maximum frequency of the SPI bus the chip can
			     operate at should be less than or equal to 18 MHz.
	- interrupt-parent: the phandle to the interrupt controller which provides
                    the interrupt.
	- interrupts: interrupt specification for data-ready.

See Documentation/devicetree/bindings/net/can/bosch,m_can.yaml for additional
required property details.

Optional properties:
	- reset-gpios: Hardwired output GPIO. If not defined then software
		       reset.
	- device-state-gpios: Input GPIO that indicates if the device is in
			      a sleep state or if the device is active. Not
			      available with tcan4552/4553.
	- device-wake-gpios: Wake up GPIO to wake up the TCAN device. Not
			     available with tcan4552/4553.
	- wakeup-source: Leave the chip running when suspended, and configure
			 the RX interrupt to wake up the device.

Example:
tcan4x5x: tcan4x5x@0 {
		compatible = "ti,tcan4x5x";
		reg = <0>;
		#address-cells = <1>;
		#size-cells = <1>;
		spi-max-frequency = <10000000>;
		bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>;
		interrupt-parent = <&gpio1>;
		interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
		device-state-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
		device-wake-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
		reset-gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
		wakeup-source;
};
