1*5505409eSLinus Walleij# SPDX-License-Identifier: GPL-2.0
2*5505409eSLinus Walleij%YAML 1.2
3*5505409eSLinus Walleij---
4*5505409eSLinus Walleij$id: http://devicetree.org/schemas/gnss/sirfstar.yaml#
5*5505409eSLinus Walleij$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5505409eSLinus Walleij
7*5505409eSLinus Walleijtitle: SiRFstar GNSS Receiver Device Tree Bindings
8*5505409eSLinus Walleij
9*5505409eSLinus Walleijmaintainers:
10*5505409eSLinus Walleij  - Johan Hovold <johan@kernel.org>
11*5505409eSLinus Walleij
12*5505409eSLinus Walleijdescription:
13*5505409eSLinus Walleij  The SiRFstar GNSS receivers have incarnated over the years in different
14*5505409eSLinus Walleij  chips, starting from the SiRFstarIII which was a chip that was introduced in
15*5505409eSLinus Walleij  2004 and used in a lot of dedicated GPS devices. In 2009 SiRF was acquired
16*5505409eSLinus Walleij  by CSR (Cambridge Silicon Radio) and in 2012 the CSR GPS business was
17*5505409eSLinus Walleij  acquired by Samsung, while some products remained with CSR. In 2014 CSR
18*5505409eSLinus Walleij  was acquired by Qualcomm who still sell some of the SiRF products.
19*5505409eSLinus Walleij
20*5505409eSLinus Walleij  SiRF chips can be used over UART, I2C or SPI buses.
21*5505409eSLinus Walleij
22*5505409eSLinus WalleijallOf:
23*5505409eSLinus Walleij  - $ref: gnss-common.yaml#
24*5505409eSLinus Walleij
25*5505409eSLinus Walleijproperties:
26*5505409eSLinus Walleij  compatible:
27*5505409eSLinus Walleij    enum:
28*5505409eSLinus Walleij      - fastrax,uc430
29*5505409eSLinus Walleij      - linx,r4
30*5505409eSLinus Walleij      - wi2wi,w2sg0004
31*5505409eSLinus Walleij      - wi2wi,w2sg0008i
32*5505409eSLinus Walleij      - wi2wi,w2sg0084i
33*5505409eSLinus Walleij
34*5505409eSLinus Walleij  reg:
35*5505409eSLinus Walleij    description:
36*5505409eSLinus Walleij      The I2C Address, SPI chip select address. Not required on UART buses.
37*5505409eSLinus Walleij
38*5505409eSLinus Walleij  vcc-supply:
39*5505409eSLinus Walleij    description:
40*5505409eSLinus Walleij      Main voltage regulator, pin names such as 3V3_IN, VCC, VDD.
41*5505409eSLinus Walleij
42*5505409eSLinus Walleij  sirf,onoff-gpios:
43*5505409eSLinus Walleij    maxItems: 1
44*5505409eSLinus Walleij    description: GPIO used to power on and off device, pin name ON_OFF.
45*5505409eSLinus Walleij
46*5505409eSLinus Walleij  sirf,wakeup-gpios:
47*5505409eSLinus Walleij    maxItems: 1
48*5505409eSLinus Walleij    description: GPIO used to determine device power state, pin names such
49*5505409eSLinus Walleij      as RFPWRUP, WAKEUP.
50*5505409eSLinus Walleij
51*5505409eSLinus Walleijrequired:
52*5505409eSLinus Walleij  - compatible
53*5505409eSLinus Walleij  - vcc-supply
54*5505409eSLinus Walleij
55*5505409eSLinus WalleijunevaluatedProperties: false
56*5505409eSLinus Walleij
57*5505409eSLinus Walleijexamples:
58*5505409eSLinus Walleij  - |
59*5505409eSLinus Walleij    #include <dt-bindings/gpio/gpio.h>
60*5505409eSLinus Walleij    serial {
61*5505409eSLinus Walleij        gnss {
62*5505409eSLinus Walleij            compatible = "wi2wi,w2sg0084i";
63*5505409eSLinus Walleij            vcc-supply = <&gnss_vcc_reg>;
64*5505409eSLinus Walleij            sirf,onoff-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
65*5505409eSLinus Walleij            sirf,wakeup-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
66*5505409eSLinus Walleij            current-speed = <38400>;
67*5505409eSLinus Walleij        };
68*5505409eSLinus Walleij    };
69