1# Copyright (c) 2018, NXP
2# SPDX-License-Identifier: Apache-2.0
3
4description: FXOS8700 6-axis accelerometer/magnetometer sensor
5
6compatible: "nxp,fxos8700"
7
8include: i2c-device.yaml
9
10properties:
11    reset-gpios:
12      type: phandle-array
13      required: false
14      description: |
15        RST pin
16        This pin defaults to active high when consumed by the sensor.
17        The property value should ensure the flags properly describe
18        the signal that is presented to the driver.
19
20    int1-gpios:
21      type: phandle-array
22      required: false
23      description: |
24        INT1 pin
25        This pin defaults to active low when produced by the sensor.
26        The property value should ensure the flags properly describe
27        the signal that is presented to the driver.
28
29    int2-gpios:
30      type: phandle-array
31      required: false
32      description: |
33        INT2 pin
34        This pin defaults to active low when produced by the sensor.
35        The property value should ensure the flags properly describe
36        the signal that is presented to the driver.
37
38    range:
39      type: int
40      required: false
41      default: 8
42      description: Range in g
43      enum:
44        - 8 # 8g (0.976 mg/LSB)
45        - 4 # 4g (0.488 mg/LSB)
46        - 2 # 2g (0.244 mg/LSB)
47
48    power-mode:
49      type: int
50      required: false
51      default: 0
52      description: Power mode
53      enum:
54        - 0 # Normal
55        - 1 # Low noise, low power
56        - 2 # High resolution
57        - 3 # Low power
58
59    pulse-cfg:
60      type: int
61      required: false
62      default: 0x3f
63      description: Pulse configuration register
64
65    pulse-thsx:
66      type: int
67      required: false
68      default: 0x20
69      description: |
70        Pulse X-axis threshold
71        Threshold to start the pulse-event detection procedure on the X-axis.
72        Threshold values for each axis are unsigned 7-bit numbers with a fixed
73        resolution of 0.063 g/LSB, corresponding to an 8g acceleration
74        full-scale range.
75
76    pulse-thsy:
77      type: int
78      required: false
79      default: 0x20
80      description: |
81        Pulse Y-axis threshold
82        Threshold to start the pulse-event detection procedure on the Y-axis.
83        Threshold values for each axis are unsigned 7-bit numbers with a fixed
84        resolution of 0.063 g/LSB, corresponding to an 8g acceleration
85        full-scale range.
86
87    pulse-thsz:
88      type: int
89      required: false
90      default: 0x40
91      description: |
92        Pulse Z-axis threshold
93        Threshold to start the pulse-event detection procedure on the Z-axis.
94        Threshold values for each axis are unsigned 7-bit numbers with a fixed
95        resolution of 0.063 g/LSB, corresponding to an 8g acceleration
96        full-scale range.
97
98    pulse-tmlt:
99      type: int
100      required: false
101      default: 0x18
102      description: |
103        Pulse time limit
104        The maximum time interval that can elapse between the start of the
105        acceleration on the selected channel exceeding the specified threshold
106        and the end when the channel acceleration goes back below the specified
107        threshold. The resolution depends upon the sample rate (ODR) and the
108        high-pass filter configuration (HP_FILTER_CUTOFF[pls_hpf_en]). For
109        ODR=800 Hz and pls_hpf_en=0, the resolution is 0.625 ms/LSB.
110
111    pulse-ltcy:
112      type: int
113      required: false
114      default: 0x28
115      description: |
116        Pulse latency
117        The time interval that starts after the first pulse detection where the
118        pulse-detection function ignores the start of a new pulse. The
119        resolution depends upon the sample rate (ODR) and the high-pass filter
120        configuration (HP_FILTER_CUTOFF[pls_hpf_en]). For ODR=800 Hz and
121        pls_hpf_en=0, the resolution is 1.25 ms/LSB.
122
123    pulse-wind:
124      type: int
125      required: false
126      default: 0x3c
127      description: |
128        Pulse window
129        The maximum interval of time that can elapse after the end of the
130        latency interval in which the start of the second pulse event must be
131        detected provided the device has been configured for double pulse
132        detection. The detected second pulse width must be shorter than the
133        time limit constraint specified by the PULSE_TMLT register, but the end
134        of the double pulse need not finish within the time specified by the
135        PULSE_WIND register. The resolution depends upon the sample rate (ODR)
136        and the high-pass filter configuration (HP_FILTER_CUTOFF[pls_hpf_en]).
137        For ODR=800 Hz and pls_hpf_en=0, the resolution is 1.25 ms/LSB.
138
139    mag-vecm-cfg:
140      type: int
141      required: false
142      default: 0x4e
143      description: Magnetic vector-magnitude configuration register
144
145    mag-vecm-ths-msb:
146      type: int
147      required: false
148      default: 0x00
149      description: |
150        Magnetic vector-magnitude threshold most significant byte.
151        Resolution is 0.1 uT/LSB.
152
153    mag-vecm-ths-lsb:
154      type: int
155      required: false
156      default: 0x5a
157      description: |
158        Magnetic vector-magnitude threshold least significant byte.
159        Resolution is 0.1 uT/LSB.
160