1# SPDX-FileCopyrightText: Copyright (c) 2024 Fabian Blatz <fabianblatz@gmail.com>
2# SPDX-License-Identifier: Apache-2.0
3
4description: |
5  Analog Devices TMC2209 stepper motor driver.
6
7  Example:
8  tmc2209: tmc2209 {
9      compatible = "adi,tmc2209";
10      enable-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
11      msx-gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>,
12                  <&gpio0 2 GPIO_ACTIVE_HIGH>;
13      step-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
14      dir-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
15      dual-edge-step;
16  }
17
18compatible: "adi,tmc2209"
19
20include:
21  - name: stepper-controller.yaml
22    property-allowlist:
23      - micro-step-res
24      - step-gpios
25      - dir-gpios
26      - en-gpios
27      - counter
28
29properties:
30  msx-gpios:
31    type: phandle-array
32    description: |
33      An array of GPIO pins for configuring the microstep resolution of the driver.
34      The pins should be listed in the following order:
35      - MS1
36      - MS2
37
38  dual-edge-step:
39    type: boolean
40    description: |
41      If present, the stepper motor controller supports dual edge step signals.
42      This means that the step signal can be toggled on both the rising and falling edge.
43