# Common fields for CAN controllers

include: base.yaml

properties:
  bus-speed:
    type: int
    deprecated: true
    description: |
      Deprecated. This property has been renamed to bitrate.

      Initial bitrate in bit/s. If this is unset, the initial bitrate is set to
      CONFIG_CAN_DEFAULT_BITRATE.
  bitrate:
    type: int
    description: |
      Initial bitrate in bit/s. If this is unset, the initial bitrate is set to
      CONFIG_CAN_DEFAULT_BITRATE.
  sample-point:
    type: int
    description: |
      Initial sample point in per mille (e.g. 875 equals 87.5%).

      If this is unset (or if it is set to 0), the initial sample point will default to 75.0% for
      bitrates over 800 kbit/s, 80.0% for bitrates over 500 kbit/s, and 87.5% for all other
      bitrates.
  phys:
    type: phandle
    description: |
      Actively controlled CAN transceiver.

      Example:
        transceiver0: can-phy0 {
          compatible = "nxp,tja1040", "can-transceiver-gpio";
          standby-gpios = <gpioa 0 GPIO_ACTIVE_HIGH>;
          max-bitrate = <1000000>;
          #phy-cells = <0>;
        };

        &can0 {
          status = "okay";

          phys = <&transceiver0>;
        };

child-binding:
  description: |
    Passive CAN transceiver. The child node must be named "can-transceiver".

    Example:
      &can0 {
        status = "okay";

        can-transceiver {
          max-bitrate = <1000000>;
        };
      };

  properties:
    min-bitrate:
      type: int
      description: |
        The minimum bitrate supported by the CAN transceiver in bits/s.

    max-bitrate:
      type: int
      required: true
      description: |
        The maximum bitrate supported by the CAN transceiver in bits/s.
